10.系统日志管理rsyslog,时间同步(chrony)

1.系统日志作用

系统日志是程序在运行时自己产生的,而rsyslog只是将这些日志采集下来,

进行管理,系统日志是非常重要的,可以通过对日志的分析进行排错。

在实际生 产中,如果需要对日志进行操作,最好还是先将日志进行备份。

2.系统日志分类

通常系统产生的日志记录在/var/log这个目录中,常见的有以下五个文件:

[root@node2 mnt]# cat /var/log/messages     #常规信息的日志,日志级别info
[root@node2 mnt]# cat /var/log/secure     #认证信息的日志
[root@node2 mnt]# cat /var/log/cron     #定时信息日志
[root@node2 mnt]# cat /var/log/maillog     #邮件服务信息日志
[root@node2 mnt]# cat /var/log/boot.log     #系统启动信息日志

可以通过编辑rsyslog的配置文件/etc/rsyslog.conf,控制文件的采集方式,如下图:

    在/etc/rsyslog.conf文件中添加了红框中的内容,其中包含三部分内容,

“.”之前表示日志的内容,“.”之后表示日志的级别,“*”表示 所有,后面的/var/log/westos表示记录日志的文件。

所以,所添加的内容表示所有类型的所有级别的日志都记录在/var/log /westos文件中。

扫描二维码关注公众号,回复: 3938684 查看本文章

日志类型:

auth    pam产生的日志
authpriv    ssh,ftp等登陆信息的验证信息
cron        时间任务相关
kern        内核
lpr        打印
mail        邮件
mark(syslog)-rsyslog    服务内部的信息,时间标示
news        新闻组
user        用户程序产生的相关信息
uucp        unix to unix copy,unix主机之间相关的通讯
local 1~7    自定义的日志设备


日志级别:(从上到下,级别从低到高,记录的信息越少):
debug    有调式信息的,日志信息最多
info   一般信息的日志,最常用
notice    最具有重要性的普通条件信息
warning    警告级别
err    错误级别,阻止某个功能或模块不能正常工作的信息
crit    严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert    需要立刻修改的信息
emerg    内核崩溃等严重信息
none    什么都不记录

重启rsyslog服务之后,就会产生/var/log/westos文件,如下图:

westos文件中就记录了所有的日志信息,用其他的主机ssh连接node2主机,westos就会产生相应的日志,如下图:

> /var/log/westos是清空该文件,为了查看方便,所以将日志清空。如果现在不让rsyslog采集认证信息的日志,可以在/var/rsyslog.conf文件中继续编辑,如下:

“;”后面的内容就是除了认证信息,其他类型的日志都采集到/var/log/westos文件中,重启服务后,再次用其他主机ssh连接node2,westos文件中就不会记录此次认证日志,如下:

2.日志的远程发送

    在生产环境中,可能会出现一个管理员需要对多台主机上的日志进行分析,为了高效就要将多台主机的日志发送到一台主机上进行分析。现在有两台主机node1 和node2,需要将node2主机上产生的日志发送到node2主机上,所以就需要对两台主机的rsyslog进行配置。

    node1作为发送端,编辑resyslog的主配置文件,重启服务。如下:

    表示将自己产生的所有日志通过udp协议发送给172.25.254.210(node2)这台主机,“@”表示使用UDP协议,“@@”表示使用TCP协议。

  node2作为接收端,要对rsyslog的主配置文件进行配置,如下图:

如果发送端使用的是UDP协议发送日志,去掉15,16行的#,如果发送端是TCP协议发送日志,去掉19,20行的#,然后重启服务关闭火墙,也可以对火墙进行配置,如下:

在node2端使用以下命令产生日志:

在node2端对/var/log/messages文件进行监控,会显示node1端的日志:

3.定义日志采集格式

上面的图中日志显示的格式都是固定的,我们可以自己定义日志的采集格式,编辑rsyslog的主配置文件,如下图:

重启服务后,日志的采集格式就和定义的格式相同,如下:

  两台主机node1和node2,两台主机的时间不同,现在我想要让两台主机的时间保持一致,此时我们就需要让一台主机去同步另一台主机的时间。

    node1:提供时间

    node2:同步node1的时间

同步之后node2的时间就会和node1的时间相同。

编辑node1主机chrony服务的主配置文件,如下图:

[root@node1 mnt]# vim /etc/chrony.conf
 21 # Allow NTP client access from local network.    #允许172.25.254/24网段的主机同步本机时间
 22 allow 172.25.254/24

 28 # Serve time even if not synchronized to any NTP server.
 29 local stratum 10    #打开时间同步

去掉22行的“#”,表示允许172.25.254.0网段的主机来同步本主机的时间。去掉29行的“#”,表示开启时间同步功能。然后重启chrony,如下:

[root@node1 mnt]# systemctl restart chronyd.service

服务端配置完成,现在配置node2。编辑node2主机的chrony服务的主配置文件/etc/chrony.conf,该文件在没配置之前如下图:

将框内的内容修改为下图所示的内容:

表示让本机去同步172.25.254.160(node1)主机的时间。

最后,需要将node1端的火墙关闭,否则firewalld会将请求隔离在外:

将node2的chrony服务重启之后,node2主机的时间就和node1主机的的时间保持一致,如下图:

在node2主机上用以下命令可以查看谁同步过本机的时间:

猜你喜欢

转载自blog.csdn.net/qq_43309149/article/details/83120119
今日推荐