0%

10.Analyzing and Storing Logs

1. Red Hat Enterprise Linux 7

1.1. 日志文件

1
2
3
4
5
6
7
/var/log/messages      ##存放大部分日志(非常重要,几乎所有的错误信息,重要信息都会被记录)
/var/log/secure ##存放安全及用户相关的日志
/var/log/maillog ##存放与邮件有关的日志
/var/log/cron ##存放定期执行的文件的日志
/var/log/boot.log ##存放与系统启动相关的日志(系统开机时的读条)
/var/log/dmesg ##记录系统在开机时内核检测过程所产生的信息
/var/log/wtmp ##记录用户正确或错误登录时的信息,last命令就是读的这个文件

1.2. rsyslogd服务(reliable and extended syslogd)

服务功能

1
这个服务是用来管理系统日志的进程

服务配置文件

1
/etc/rsyslog.conf

服务配置

1
2
3
vim /etc/rsyslog.conf
service.loglevel logfile
*.* /var/log/all.log ##所有服务的所有日志都放到/var/log/all.log中

1.3. 日志同步

日志接收方

1
2
3
4
systemctl stop firewalld ##关闭火墙
vim /etc/rsyslog.conf
$ModLoad imudp ##加载日志接收功能模块
$UDPServerRun 514 ##加载日志接收接口

在日志发送方

1
2
vim /etc/rsyslog.conf
*.* @日志接收方ip
1
systemctl restart rsyslog.service ##做完配置重启rsyslogd服务

观察

1
watch -n 1 tail -6 /var/log/messages

1.4. 日志分析

1
systemd-journald  ##日志分析进程

1.5. journalctl

1
2
3
4
5
6
7
8
9
10
11
journalctl -n 5         ##查看最近生成的5条日志
journalctl -p err ##查看系统报错
journalctl --since 时间 --until 时间 ##查看某个时间段生成的日志

journalctl -o verbose ##查看日志能够使用的条件参数
journalctl _UID= ##进程uid
journalctl _PID= ##进程id
journalctl _GID= ##进程gid
journalctl _HOSTNAME= ##进程所在主机
journalctl _SYSTEMD_UNIT= ##服务名称
journalctl _COMM= ##命令名称

1.6.日志监控工具的设定

默认情况下journalctl是无法看到关机之前产生的日志的
如果想检测到这类日志设置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@server ~]# mkdir /var/log/journal
[root@server ~]# chown root:systemd-journal /var/log/journal/
[root@server ~]# ll -d /var/log/journal/
drwxr-xr-x. 2 root systemd-journal 6 Feb 9 21:19 /var/log/journal/
[root@server ~]# chmod 2755 /var/log/journal/
[root@server ~]# killall -1 systemd-journald
[root@server ~]# ls /var/log/journal/
cf9614f38c154c789955da465f63b5ce
[root@server ~]# ls /var/log/journal/cf9614f38c154c789955da465f63b5ce/
system.journal
[root@server ~]# reboot
[root@server ~]# ll /var/log/journal/cf9614f38c154c789955da465f63b5ce/
total 16392
-rw-r-----. 1 root systemd-journal 8388608 Feb 9 21:24 system.journal
-rw-r-----+ 1 root systemd-journal 8388608 Feb 9 21:24 user-42.journal

1.7. 如何同步系统时间

1.确定时间源地址
172.25.254.254
2.确定客户主机使用的时间同步服务
chronyd.service
3.在chronyd.service服务中加载时间源地址

1
2
vim /etc/chrony.conf
server 172.25.254.254 iburst

4.重启服务

1
systemctl restart chronyd.service

1.8. timedatectl

1
2
3
timedatectl list-timezones	   ##列出时区
timedatectl set-timezone 时区 ##设定时区
timedatectl set-time HH:mm:ss ##设定系统时间