Linux日志管理rsyslog系统日志管理

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本篇文章带大家了解日志管理中的esyslog系统日志管理,了解日志是从哪里来的,怎么观察日志,以及配置日志设备文件,学习怎么查看常见的一些种类的日志信息。本篇文章需要关心的问题:哪类程序--->产生的什么日志--->放到什么地方

前言


  本篇文章带大家了解日志管理中的esyslog系统日志管理,了解日志是从哪里来的,怎么观察日志,以及配置日志设备文件,学习怎么查看常见的一些种类的日志信息。本篇文章需要关心的问题:哪类程序--->产生的什么日志--->放到什么地方


什么是日志?为什么要管理日志?


 日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志。

 为了统计信息,为了排查错误。

[root@localhost ~]# ps aux | grep rsyslogd
root       1264  0.0  0.2 214432  2088 ?        Ssl  04:47   0:01 /usr/sbin/rsyslogd -n
root      12597  0.0  0.0 112828   980 pts/0    S+   08:25   0:00 grep --color=auto rsyslogd

一、处理日志的进程


日志动哪里来?


第一类:rsyslog:系统专职日志程序。

             处理绝大部分日志记录

             系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息。

第二类:httpd/nginx/mysql:各种应用程序,可以以自己的方式记录日志。

观察rsyslogd程序

[root@localhost ~]# ps aux | grep rsyslogd
root       1264  0.0  0.2 214432  2088 ?        Ssl  04:47   0:01 /usr/sbin/rsyslogd -n
root      12597  0.0  0.0 112828   980 pts/0    S+   08:25   0:00 grep --color=auto rsyslogd

二、常见的日志文件(系统、应用程序)


tail   -1  /var/log/messages       //系统主日志文件

tail   -f   /var/log/messages     //动态查看日志文件的尾部

tail   /var/log/secure      //认证、安全

tail   /var/log/yum.log         //yum

tail   /var/log/maillog      //跟邮件postfix相关

tail   /var/log/cron        //crond、at进程产生的日志

tail    /var/log/dmesg      //和系统启动相关

tail /var/log/audit/audit.log      //系统审计日志

tail   /var/log/mysqld.log      //Mysql

tail   /var/log/xferlog      //和访问FTP服务器相关

tail     /var/log/wtmp     //当前登录的用户(命令:w)

tail   /var/log/btmp       //最近登录的用户(命令last)

tail   /var/log/lastlog      //所有用户的登录情况(命令:lastlog)

以tail   -1  /var/log/messages为例了解日志字段。


o rsyslogd
[root@localhost ~]# tail -1 /var/log/messages
Nov 14 08:25:14 localhost systemd: Started LSB: Bring up/down networking.


Nov 14 08:25:14 :时间

localhost :计算机名

systemd: Started LSB: Bring up/down networking.:日志消息


动态查看日志信息


命令:tail   -f   需要查看的日志     //动态查看日志文件的尾部


代码如下(以系统日志为例):

[root@localhost ~]# tail -f /var/log/messages
Nov 14 08:25:13 localhost NetworkManager[1000]: <info>  [1668385513.6475] audit: op="sleep-control" arg="off" pid=12283 uid=0 result="fail" reason="Already awake"
Nov 14 08:25:13 localhost systemd: Stopping LSB: Bring up/down networking...
Nov 14 08:25:13 localhost network: 正在关闭接口 ens33: [  确定  ]
Nov 14 08:25:14 localhost network: 正在关闭环回接口: [  确定  ]
Nov 14 08:25:14 localhost systemd: Stopped LSB: Bring up/down networking.
Nov 14 08:25:14 localhost systemd: Starting LSB: Bring up/down networking...
Nov 14 08:25:14 localhost NetworkManager[1000]: <info>  [1668385514.2556] device (lo): carrier: link connected
Nov 14 08:25:14 localhost network: 正在打开环回接口: [  确定  ]
Nov 14 08:25:14 localhost systemd: Started LSB: Bring up/down networking.
Nov 14 08:30:01 localhost systemd: Started Session 28 of user root.
Nov 14 08:31:11 localhost dbus[813]: [system] Activating service name='org.freedesktop.problems' (using servicehelper)
Nov 14 08:31:11 localhost dbus[813]: [system] Successfully activated service 'org.freedesktop.problems'



这个时候进入到动态查看日志信息,我们再打开另一个终端对系统进行操作,观察动态日志的变化。


74f9b9b5c4eb48d99cfea397ef84a15b.png


在第二个终端切换用户,动态日志信息实时更新了日志信息。其他日志信息也可通过tailf命令来查看。


三、rsyslogd配置


1、安装相关程序(默认已安装)

[root@localhost ~]# yum install rsyslog logrotate
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
dvd                                                   | 3.6 kB     00:00     
软件包 rsyslog-8.24.0-55.el7.x86_64 已安装并且是最新版本
软件包 logrotate-3.8.6-19.el7.x86_64 已安装并且是最新版本
无须任何处理
[root@localhost ~]# 


2、启动程序

[root@localhost ~]# systemctl start rsyslog.service


3、查看相关文件

[root@localhost ~]# rpm -qc rsyslog
/etc/logrotate.d/syslog
/etc/rsyslog.conf
/etc/sysconfig/rsyslog


/etc/rsyslog.conf       //rsyslogd的主配置文件(关键)

/etc/sysconfig/rsyslog         //rsyslogd相关文件,定义级别(了解)

/etc/logretate.d/syslog         //和日志轮转相关


四、主配置文件


   在etc下面程序名命名的conf文件是主配置文件,告诉rsyslogd进程什么日志,应该存到哪里。


通过vim  /etc/rsyslog.conf查看主配置文件

0af7f0b9d97641419667a8d3d50e298b.png


主要看RULES下的信息。


RULES

RULES:即规则,是一套生成日志,以及存储日志的策略。

规则由设备+级别+存放位置组成。

RULES由FACILITY+LEVEL+FILE组成。


facility

是系统对某种类型事件的定义。如AUTHPRIV是安全事件,CRON是计划任务事件。用来收集同类程序日志

命令:man    3   syslog  查看facility


161ca7070fea4b17a4fd310e6104b2e2.png


LOG_SYSLOG:syslogd自身产生的日志

LOG_AUTHPRIV:安全认证

LOG_CRON:调度程序(cron and at)

LOG_MAIL:邮件系统(mail subsystem)

LOG_USER(default):用户相关

LOG_DAEMON:后台进程

LOG_FTP:文件服务器(ftp daemon)

LOG_KERN:内核设备(kernel messages)

LOG_LPR:打印机设备(printer subsystem)

LOG_LOCAL0 through LOG_LOCAL7:用户自定义设备

       关于程序和设备的联系问题,程序自身会决定将日志交给哪些设备。如SSH程序设备、安全类设备。这一点由开发者定义。


[root@localhost ~]# grep Facility /etc/ssh/sshd_config 
#SyslogFacility AUTH
SyslogFacility AUTHPRIV


LEVEL


LOG_EMERG:晋级,知名,服务无法继续运行,如配置文件丢失。

LOG_ALERT:报警,需要立即处理,如磁盘空使用95%

LOG_GRIT:致命行为

LOG_ERR:错误行为

LOG_WARNING:警告信息

LOG_NOTICE:普通,重要的标准信息

LOG_INFO:标准信息

LOG_DEBUG:调试信息,排错所需,一般不建议使用

由上至下级别依次递减,级别越高信息越少,级别越低信息越多。


eb064355cf664e68833064868b609146.png


详解RULES信息

*.info;mail.none;authpriv.none;cron.none          /var/log/messages

系统日志排除了邮件,认证,计划日志。

authpriv*                    /var/log/secure(SSH信息)

mail.*                         -/var/log/maillog(发邮件)   //这里由一个-符号,表示是使用异步的方式记录,因为日志一般会比较大。

cron.*                          /var/log/cron(创建任务)


da3d6c42fedf4b648f7ac060ae8deedb.png


我们可以在该文件更改日志存储位置,但是在生产环境下,不建议更改这些日志位置,如果更改请在更改处备份原来的内容,以及写上更改的日期,方便后期人员的维护。


总结

 通过这篇文章学习日志管理中的rsyslog系统日志的管理的介绍,并且学会如何去查看这些日志信息,以及日志的种类,在我们操作报错的时候我们可以通过查看日志来找出错误所在,来进行维护。



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
138 3
|
1月前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
194 78
|
5天前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
49 23
|
1月前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
73 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
24天前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
44 7
|
2月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
220 48
|
1月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
105 13
|
26天前
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
|
1月前
|
存储 监控 安全
什么是事件日志管理系统?事件日志管理系统有哪些用处?
事件日志管理系统是IT安全的重要工具,用于集中收集、分析和解释来自组织IT基础设施各组件的事件日志,如防火墙、路由器、交换机等,帮助提升网络安全、实现主动威胁检测和促进合规性。系统支持多种日志类型,包括Windows事件日志、Syslog日志和应用程序日志,通过实时监测、告警及可视化分析,为企业提供强大的安全保障。然而,实施过程中也面临数据量大、日志管理和分析复杂等挑战。EventLog Analyzer作为一款高效工具,不仅提供实时监测与告警、可视化分析和报告功能,还支持多种合规性报告,帮助企业克服挑战,提升网络安全水平。
|
2月前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
65 3