[RH124] 12-日志管理、NTP

1.学会提问

  • 1.我在做什么?
  • 2.我要实现什么样的效果,而我的结果是什么?提供结果对比。
  • 报错信息是什么?
  • 日志怎么显示的?

2.如何解决问题

  • 1.定位问题:通过查看日志。
  • 解决问题

3.rsyslog

Linux的日志是用一个服务来管理的。

  rsyslog:RHEL6开始就叫rsyslog。

  syslog:RHEL5以前叫syslog。

这个日志管理服务是默认开机启动的。

4.rsyslog的配置文件

 

/etc/rsyslog.*

rsyslog的配置文件,其中包含rsyslog.conf以及rsyslog.d里的listen.conf。

rsyslog.conf文件解析:

MODULES:MODULES段里的配置决定各个模块的开启与关闭。

GLOBAL DIRECTIVES:rsyslog全局配置,一般保持默认,不用修改。

RULES:定义各种日志。

Linux系统中内置很多种事件(大概八九十种),每种事件都有以下级别。

级别有以下几种:

级别高低:emerg>aler>crit>err>warning>notice>info,debug只是调试使用。

RULES格式:

   "事件.级别   file":意思是,事件的级别 >= 级别时,日志保存到file中。

例如:

这个配置的意思:

  "*"表示所有事件,*.info:即所有事件中,级别大于等于info的都写入日志/var/log/messages里。

  mail.none:表示关于邮件的事件,不写日志。同理authpriv.none和cron.none。

 

为什么要将mail,authpriv,cron的日志去除掉,因为我们要把他们单独放到日志文件中。如图:

意思是把authpriv、mail、cron相关的所有信息记录到对应的日志文件中。

 -/var/log/maillog 中的"-"是异步的意思,即将内存中的内容写到硬盘中是一批一批写入的,效率比同步写入要高。

 

上图中:

*.emerg:表示所有达到emerg级别的事件发生时,会触发":omusrmsg:*",系统会想所有在线终端发送通告。

例如,我们模拟一个emerg事件:logger -p local5.emerg 'this is a test':模拟事件local5发生,级别是emerg,输出通告是"this is a test",这条通告会实时发送到每个终端。如图:

 

模拟一个日志输出:

1)我们在rsyslog.conf中,另起一行:

2)重启rsyslog日志管理服务:systemctl restart rsyslog 

3)然后我们模拟local5事件发生,级别为debug。

   logger -p local5.debug 'This is a log about local5.debug...' 

4.看/var/log/xx.log中是否记录日志:

 

5.日志服务器

同时管理很多服务器的时候,不可能每台机器登录上去查看日志。

那么我们可以配置一台日志服务器,来收集每台被管理服务器的日志。

配置远程日志服务器:

1)在host67(被监控机器)修改/etc/rsyslog.conf中:

如果发生local6事件级别大于或等于debug,就将该日志发送给192.168.1.68服务器的rsyslog处理。

2)重启host67的rsyslog服务。 systemctl restart rsyslog 

3)在host68(日志服务器)上修改/etc/rsyslog.conf配置:

打开UDP、TCP远程接收日志的模块。

定义local6事件级别大于等于debug,如何处理。

4)重启host68上的rsyslog服务。 systemctl restart rsyslog 

5)在host67上模拟local6.info事件发生。

6)检查host68的/var/log/messages和/var/log/yy.log里是否已写入日志:

日志中的host67表示来自哪个主机(主机名),hanxinda表示日志产生时,登录的用户是哪个(su到其他用户的情况不算)。

 

根据主机名来设置日志存放地点:

如果节点服务器有很多,每一台都产生时间,并发送给日志服务器,那么服务器存放日志在同一个文件下就会很乱。我们可以根据主机名来分类的存放日志

1)在日志服务器上配置/etc/host:

2)在日志服务器/etc/rsyslog.conf中配置:

3)这样,只要是来自host67的日志,都会先被写到host67.log日志文件中。同时该日志也会写到先前配置的yy.log中。因为/etc/rsyslog.conf配置文件的RULES是从上到下匹配的,只要匹配上,就会把日志写到指定的地方。

 

设置远程日志放在一些文件中,不影响本地日志:

在日志服务器/etc/rsyslog.conf配置:

"~"表示匹配到的日志,就此打住,后面的规则就不用匹配的。所以,来自host67的日志,在写入host67.log后,就不会与本地日志混合了。

6.如何查看日志

journalctl:查看所有事件日志。
journalctl -f:查看最近事件日志。
journalctl -p err:查看err级别以上的日志。

journalctl --since "2018-06-13 20:00:00":查看2018-06-13 晚8点以后的所有日志。
journalctl --since "2018-06-13 20:00:00" --until "2018-06-20 20:00:00" :查看2018-6-13 晚8点到2018-6-20晚8点之间的日志。

7.NTP服务

 date :查看时间

 date 122010002018 :设置时间为2018年12月20日10点00分。

 kwclock -s :把时间修改为bios时间。

timedatectl命令:

 

timedatectl status  # 查看时间详细信息。简写为timedatectl。
timedatectl list-timezones  # 查看可用时区列表。
timedatectl set-timezone Africa/abidjan  # 设置时区为Africa/abidjan。

 

如果不适用timedatectl,如何修改时区呢:

Linux系统时区文件都放在 /usr/share/zoneinfo 下,按 洲来存放。

例如 /usr/share/zoneinfo/Asia/Shanghai 。

 

我们要修改时区,只需要把该时区文件覆盖 /etc/localtime 就可以了。

 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

但是用这种方法修改后,时间是正常的,但是用timedatectl查看时区,还是显示的错误的

 

timedatectl set-time "2018-07-03 12:00:00"  # 设置时间。同时会将系统时间和BIOS时间都设置了。
timedatectl set-time 12:00:00  # 设置时间为12点。

 

配置NTP服务:

1)关闭默认NTP服务

系统默认有一个NTP服务叫chronyd.service。

我们设置不启动它:

 systemctl stop chronyd.service 

 systemctl disable chronyd.service 

2)安装NTP服务:

mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/ntp-4.2.6p5-19.el7_0.x86_64.rpm
rpm -ivh /mnt/Packages/ntpdate-4.2.6p5-19.el7_0.x86_64.rpm

或者使用 yum install ntp -y 安装。

3)配置/etc/ntp.conf

允许192.168.1.0网段的机器向我进行同步。(不含noquery表示可以询问时间)

 

127.127.1.0不是一个网段,而是一个IP地址(回环地址,主板芯片上的地址),表示我这个服务器去哪里同步时间,可以写多个。

 

4)启动ntpd

systemctl start ntpd.service
systemctl enable ntpd.service

5)在另外一台机器上使用ntpdate 192.168.1.67进行同步。

 

设置向服务器自动同步时间:

1)安装system-config-date软件。

 yum install system-config-date -y 

2)配置:

在界面中配置NTP服务器地址。

运行 system-config-date & 

可能出现界面上从网络同步时间的选项是灰色的(无法勾选

这时:我们使用timedatectl查看时间详细信息,里面的

我们需要通过 timedatectl set-ntp true 来启用。

再次运行 system-config-date & 

我们修改NTP Servers框里的服务器地址:

3)使用 chronyc sources -v 查看是否同步成功。

看到左下角的"*"表示同步成功。

 

===

posted @ 2020-03-20 14:56  风间悠香  阅读(362)  评论(0编辑  收藏  举报