日志管理
1.日志系统功能
日志系统将我们系统运行的每一个状况信息都使用文字记录下来,这些信息有助我们观察系统运行过程中正常状态和系统运行错误时快速定位错误位置的途径等
操作系统在运行中会产生非常多的日志信息,如果我们将这些信息都记录下来的话,那我们的磁盘I/O一定很繁忙,这对系统的性能有很大的影响,这就有违了我们的初衷,所以我们根据产生日志的来源和日志信息的重要性,将系统运行中所产生的日志进行分类
2.rsyslogd服务
2.1服务功能
rsyslogd服务,这是一个增强版本的syslogd,它支持数据使用插件、直接调用模板、异步写数据库等相对高级的功能。默认是被安装的,但只对本机开放。它udp方式的日志传输是基于灵活的插件实现的,很容易启用,用来管理系统日志进程。
2.2服务配置文件
/etc/rsyslog.conf
2.3服务配置
vim /etc/rsyslog.conf
*.* /var/log/all.log ##所有服务的所有日志都放到/var/log/all.log中
systemctl restart rsyslogd
.service
cat /var/log/all.log就能看见系统日志
3.日志同步
日志同步,就是将一台或多台服务器的系统日志信息发送到管理这些服务器的机器上.
现在分别有两台服务器,一台IP为222.24.14.61,现在将这台服务器的日志同步到IP为222.24.14.95上
日志发送方(IP:222.24.14.61)
vim /etc/rsyslog.conf
*.* @222.24.14.95 ##将日志发送给IP为222.24.14.95的服务器
日志接受方(IP:222.24.14.95)
vim /etc/rsyslog.conf
$ModLoad imudp ###加载日志接收功能模块
$UDPServerRun 514 ###加载日志接收接口
编辑完配置文件,要关闭火墙,并且重启rsyslogd.service服务
4.日志分析
systemd-journald ###日志分析进程
journalctl ###日志分析命令
journalctl -n 5 ##查看最近生成的5条日志
journalctl -p err ##查看系统报错
journalctl --since --until ###查看某个时间段生成的日志
journalctl -o verbose ###查看日志能够使用的条件参数
journalctl _UID= ##进程uid
_PID= ##进程id
_GID= ##进程gid
_HOSTNAME= ##进程所在主机
_SYSTEMD_UNIT= ##服务名称
_COMM= ##命令名称
5.日志监控工具的设定
默认情况下journalctl是无法看到关机之间产生的日志的如果向检测到这类日志设置如下
mkdir /var/log/journal ##创建一个存放该类日志的目录
chown root:systemd-journal /var/log/journal ##修改目录所有组
chmod 2755 /var/log/journal ##修改权限
reboot ##重启
ls /var/log/journal/4513ad59a3b442ffa4b7ea88343fa55f
查看关机时生成的日志