linux系统日志管理
系统日志
进程和操作系统可以为发生的事情记录日志,这些日志可以用于系统审核和问题故障的排除,一般这些日志永久的保存在/var/log目录中。系统文件的记录信息如下
日志文件 | 用途 |
---|---|
/var/log/messages | 大多数系统的日志记录在此处 |
/var/log/secure | 安全身份认证相关的信息和错误的日志文件 |
/var/log/maillog | 与邮件服务器相关的日志文件 |
/var/log/cron | 与定时任务相关的日志文件 |
/var/log/boot.log | 与系统启动有关的日志文件 |
rsyslog服务
rsyslog是一个开源的工具,被广泛的用于linux系统中以通TCP和UDP协议转发或者接收日志信息
rsyslog服务的主配置文件是/etc/rsyslog.conf
指定日志的保存位置并且修改配置文件,修改后重启rsyslog服务。
指定日志采集的路径
什么类型的日志.什么级别的日志 /var/log/file
##日志采集规则
日志类型 | 说明 |
---|---|
auth | pam产生的日志 |
authpriv | ssh,ftp等登录信息的验证信息 |
cron | 时间任务相关 |
kern | 内核 |
lpr | 打印 |
邮件 | |
mark(syslog)-rsyslog | 服务内部的信息,时间标识 |
news | 新闻组 |
user | 用户程序产生的相关信息 |
uucp | unix to unix copy, unix主机之间相关的通讯 |
local 1-7 | 自定义的日志设备 |
日志级别 | 级别说明 |
---|---|
debug | 有调式信息的(日志信息最多) |
notice | 最具有重要性的普通条件的信息 |
info | 般信息的日志(最常用) |
warning | 警告级别 |
err | 错误级别(阻止某个功能或者模块不能正常工作的信息) |
crit | 严重级别(组织整个系统或者整个软件不能正常工作的信息) |
alert | 需要立即修改的信息 |
emerg | 内核崩溃等严重信息 |
none | 什么都不记录 |
注意:
从上到下,级别从低到高,记录的信息越来越少
可以通过man 3 syslog查看日志类型和级别
例:把所有的日志采集到/var/log/rizhi中
step1
vim /etc/rsyslog.conf
在55行输入 * .* /var/log/rizhi
step2 重启相关的服务
systemctl restart rsyslog
step3 测试
1 systemctl restart sshd
2 cat /var/log/rizhi
日志的远程同步
日志的发送方:
1 vim /etc/rsyslog.conf
*.* @172.25.254.155 ##@表示udp协议发送 @@表示tcp协议发送
2 systemctl restart rsyslog
日志的接收方:
1 vim /etc/rsyslog.conf
15 $ModLoad imudp ##日志接收模块
16 $UDPServerRun 514 ##开启接收端口
2 systemctl restart rsyslog
systemctl stop firewalld ##关闭火墙
systemctl disable firewalld ##设定火墙开机关闭
测试
step1 在发送方和接收方都清空日志文件
> /var/log/messages
step2 在日志的发送方
logger test
step3 在发送方和接收方输入:
cat /var/log/messsges
发送方的日志信息
接收方的日志信息
timedatectl管理系统时间
命令 | 功能 |
---|---|
timedatectl status | 显示当前时间信息 |
timedatectl set-time | 设定当前系统时间 |
timedatectl set-timezone | 设定当前时区 |
timedatectl set-local-rtc 0/1 | 设定是否使用utc时间 |
timedatectl set-ntp true/false | 是否启用网络时间(此设定要在关闭utc时间的基础上) |
timedatectl list timezones | 查看支持的所有时区 |
时间同步服务
环境配置
两台虚拟机,一个作为服务端,服务端作为时间源,允许那些客户端同步服务端的时间
step1服务端配置
编辑如下的文件中的22与29行
vim /etc/chrony.conf
注意:编辑完重启此服务,如下所示
systemctl restart chronyd
step2客户端配置
然后重启服务
systemctl restart chronyd
step3测试
chronyc sources -v
journal
journal日志查看工具
命令 | 命令功能 |
---|---|
journalctl -n 3 | 查看最近三条日志 |
jounalctl -p err | 查看错误的日志 |
journalctl -o verbose | 查看日志的详细参数 |
journalctl --since | 查看从什么时候开始的日志 |
journalctl --until | 查看到什么时间为止的日志 |
– | – |
使用systemd-journal保存系统的日志
在一般的情况下,默认的systemd-journal不保存系统的日志到硬盘里,所以当关机后重启,我们会发现关机前的日志无法查看。所以我们需要进行如下的操作
1 mkdir /var/log/journal
2 chgrp systemd-journal /var/log/journal
3 chmod g+x /var/log/journal
4 killall -1 systemd-journald