日志管理-rsyslogd服务(/etc/rsyslog.conf 配置文件)

1. 日志文件的格式

基本日志格式包含以下四列:

(1) 事件产生的时间
(2) 发生事件的服务器的主机名
(3) 产生事件的服务名或程序名
(4) 事件的具体信息

2. /etc/rsyslog.conf配置文件

rsyslog记录哪些日志,到底记录了什么样的日志,是通过这个/etc/rsyslog.conf配置文件来决定的。

配置文件中的一段语句:authpriv.* /var/log/secure
解释语句:认证相关服务.所有日志等级(服务名称[连接符号]日志等级日志记录的位置

小提示:
(1) * 代表任何等级,所有日志相关的服务,不管他是什么等级,全部都记录在这个目录中。
(2) 这个authpriv日志的名字是由rsyslog这个服务来定义的,不是Linux说的算,而是由rsyslog服务定义好的。 需要什么日志,把服务名写进去就行了。这个服务名称只在日志服务里面有效其他的地方是没有作用的。
(3) * 其实不是连接符,代表所有等级,这是一个特殊符号。
(4)日志等级有很多,比如常规日志,警告日志、疼痛日志,如果日志等级越低,记录的信息就越详细,等级越高:比如疼痛,服务器不死机,就不会记录,记录的日志量就会比较小。但是等级越高的日志,危害就越大,越需要优先处理。
小总结:
等级越高,记录的信息越少,优先处理的等级就越高,危害就越大。
等级越低,记录的信息越多,优先出路的等级就越低,危害就越小。

开始测试:

在这里插入图片描述
这就是为什么message文件为什么重要了。
在这里插入图片描述
结论: 只要知道了authpriv.* /var/log/secure 这个含义,就可以自己在配置文件中定义。
只要能看懂这个配置信息就够了,其他的都不需要手工改。只要知道日志是依赖这个配置文件来记录就行了。

 

3. 服务名称 [连接符号] 日志等级 日志记录位置

rsyslog日志服务配置语句:authpriv.*     /var/log/secure
组成部分: 服务名称 [连接符号] 日志等级 日志记录位置

下面就详细的解释这四部分内容的含义。
 

3.1 服务名称

 

服务名称说明
auth安全和认证相关消息(不推荐使用authpriv替代)
authpirv安全和认证相关信息(私有的)
cron系统定时任务cront和at产生的日志
daemon和各个守护进程相关的日志
ftpftp守护进程产生的日志
kern内核产生的日志(不是用户进程产生的)
local0-local7为本地使用预留的服务
lpr打印产生的日志
mail邮件收发信息
news与新闻服务器相关的日志
syslog有syslogd服务产生的日志信息(虽然服务名称已经改了rsyslogd服务,但是很多配置都还是沿用了syslogd的,这里并没有修改服务名)
user用户等级类别的日志信息
uucpuucp子系统的日志信息,uucp时早期Linux系统进行数据传递的协议,后来也经常用在新闻组服务中。

 

3.2 连接符号

 

连接符号说明
*代表所有日志等级,比如:“authpriv.*"代表authpriv认证信息服务产生的日志,所有的日志等级都记录。
.代表只要比后面的等级高的(包含该等级)日志都记录下来。比如:"cron.info"代表cron服务产生的日志,只要日志等级大于等于info级别,就记录。
.=代表只记录所需等级的日志,其他等级的都不记录。比如:"*.=emerg"代表任何日志服务产生的日志,只要等级是emerg等级就记录。这种用法及少见,了解就好。
.!代表不等于,也就是除了该等级的日志外,其他等级的日志都记录。

3.3 日志等级

 

等级名称说明
debug一般的调试信息说明
info基本的通知信息
notice普通信息,但是有一定的重要性
warning警告信息,但是还不会影响到服务或系统的运行
err错误信息,一般达到err等级的信息以及可以影响到服务或系统的运行了
crit临界状况信息,比err等级还要严重
alert警告状态信息,比crit还要严重。必须立即采取行动
emerg疼痛等级信息,系统已经无法使用了

 

3.4 日志记录位置

 
日志文件的绝对路径,如"/var/log/secure"
系统设备文件,如"/dev/lp0"
转发给远程主机,如"@192.168.0.210:514"
用户名,如"root"
忽略或丢弃日志,如"~"

说明:(1)还可以设备文件名,比如说/dev/lp0打印机,不记录在硬盘里,直接打印出来,这个用的不多。
(2)有十台Linux服务器,拿出一台专门做日志服务器。所有计算机的日志都发给日志服务器,相当于搭建了一个日志服务器。
(3)还可以发给某一个用户,但是这个用户必须要在线,如果没在线发的东西就丢了。

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这些命令用于查看和检查系统的配置和日志文件。以下是每个命令的简要说明: 1. `cat /etc/pam.d/system-auth`: 显示 `/etc/pam.d/system-auth` 文件的内容,该文件用于管理系统级身份验证和授权。 2. `cat /etc/pam.d/sshd`: 显示 `/etc/pam.d/sshd` 文件的内容,该文件用于管理 SSH 服务的身份验证和授权。 3. `cat /etc/profile`: 显示 `/etc/profile` 文件的内容,该文件是一个全局配置文件,用于设置用户环境变量和执行系统级别的脚本。 4. `cat /etc/passwd`: 显示 `/etc/passwd` 文件的内容,该文件包含了系统中所有用户的基本信息,但不包含密码。 5. `cat /etc/shadow`: 显示 `/etc/shadow` 文件的内容,该文件包含了系统中用户的加密密码。 6. `cat /etc/group`: 显示 `/etc/group` 文件的内容,该文件包含了系统中用户组的信息。 7. `cat /etc/hosts.equiv`: 显示 `/etc/hosts.equiv` 文件的内容,该文件用于定义可信任主机列表,允许这些主机使用 rsh 或 rlogin 进行远程登录。 8. `cat /etc/hosts.rhosts`: 显示 `/etc/hosts.rhosts` 文件的内容,该文件用于定义远程主机和用户之间的信任关系。 9. `ps aux | grep telnet`: 列出所有正在运行的进程,并过滤出包含 "telnet" 关键字的进程。 10. `ps aux | grep rlogin`: 列出所有正在运行的进程,并过滤出包含 "rlogin" 关键字的进程。 11. `ps aux | grep ftp`: 列出所有正在运行的进程,并过滤出包含 "ftp" 关键字的进程。 12. `cat /etc/ssh/sshd_config`: 显示 `/etc/ssh/sshd_config` 文件的内容,该文件包含了 SSH 服务器的配置选项。 13. `umask`: 显示当前用户的默认文件权限掩码。 14. `ls -l /etc/passwd`: 显示 `/etc/passwd` 文件的详细信息,包括权限、所有者和修改时间等。 15. `ls -l /etc/group`: 显示 `/etc/group` 文件的详细信息,包括权限、所有者和修改时间等。 16. `ls -l /etc/shadow`: 显示 `/etc/shadow` 文件的详细信息,包括权限、所有者和修改时间等。 17. `ls -l /etc/xinetd.conf`: 显示 `/etc/xinetd.conf` 文件的详细信息,该文件是 xinetd 服务配置文件。 18. `ls -l /etc/sudoers`: 显示 `/etc/sudoers` 文件的详细信息,该文件用于配置 sudo 命令的权限。 19. `ls -l /etc/httpd.conf`: 显示 `/etc/httpd.conf` 或 `/etc/apache2/apache2.conf` 文件的详细信息,这些文件是 Apache HTTP 服务器的配置文件。 20. `ls -l /etc/httpd-mpm.conf`: 显示 `/etc/httpd-mpm.conf` 文件的详细信息,该文件定义了 Apache MPM(多处理模块)的配置选项。 21. `ls -l /etc/conf/tomcat-users.xml`: 显示 `/etc/conf/tomcat-users.xml` 文件的详细信息,该文件包含了 Tomcat 服务器的用户配置。 22. `ls -l /etc/conf/web.xml`: 显示 `/etc/conf/web.xml` 文件的详细信息,该文件是 Java Web 应用程序的配置文件。 23. `ls -l /etc/conf/server.xml`: 显示 `/etc/conf/server.xml` 文件的详细信息,该文件是 Tomcat 服务器的主配置文件。 24. `ls -l /etc/my.cnf`: 显示 `/etc/my.cnf` 或 `/etc/mysql/my.cnf` 文件的详细信息,这些文件是 MySQL 数据库服务器的配置文件。 25. `ls -l /var/mysqllog/logbin.log`: 显示 `/var/mysqllog/logbin.log` 文件的详细信息,该文件是 MySQL 数据库二进制日志的位置。 26. `ps aux | grep syslogd`: 列出所有正在运行的进程,并过滤出包含 "syslogd" 关键字的进程。 27. `ps aux | grep rsyslogd`: 列出所有正在运行的进程,并过滤出包含 "rsyslogd" 关键字的进程。 28. `service syslog status`: 显示 syslog 服务的状态。 29. `service rsyslog status`: 显示 rsyslog 服务的状态。 30. `ps aux | grep audit`: 列出所有正在运行的进程,并过滤出包含 "audit" 关键字的进程。 31. `service auditd status`: 显示 auditd 服务的状态。 32. `ps aux | grep ssh`: 列出所有正在运行的进程,并过滤出包含 "ssh" 关键字的进程。 33. `ls -l /var/log/messages`: 显示 `/var/log/messages` 文件的详细信息,该文件包含了系统的一般日志消息。 34. `ls -l /var/log/secure`: 显示 `/var/log/secure` 文件的详细信息,该文件包含了安全相关的日志消息。 35. `ls -l /var/log/audit/audit.log`: 显示 `/var/log/audit/audit.log` 文件的详细信息,该文件包含了审计日志。 36. `tail -20 /var/log/messages`: 显示 `/var/log/messages` 文件的尾部 20 行内容。 37. `tail -20 /var/log/audit/audit.log`: 显示 `/var/log/audit/audit.log` 文件的尾部 20 行内容。 38. `tail -n 20 /var/log/messages`: 显示 `/var/log/messages` 文件的尾部 20 行内容。 39. `tail -n 20 /var/log/audit/audit.log`: 显示 `/var/log/audit/audit.log` 文件的尾部 20 行内容。 40. `cat /etc/logrotate.conf`: 显示 `/etc/logrotate.conf` 文件的内容,该文件用于配置日志文件的轮转。 41. `cat /etc/rsyslog.conf`: 显示 `/etc/rsyslog.conf` 文件的内容,该文件是 rsyslog 服务配置文件。 42. `auditctl -s`: 显示当前系统上启用的审计规则。 43. `auditctl -l`: 列出当前系统上的所有审计规则。 44. `lsof -i:21`: 列出所有正在使用端口 21(FTP)的进程和文件。 45. `lsof -i:22`: 列出所有正在使用端口 22(SSH)的进程和文件。 46. `lsof -i:23`: 列出所有正在使用端口 23(Telnet)的进程和文件。 请注意,某些命令可能需要管理员权限才能运行,且需要小心处理敏感信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值