Linux日志的管理
日志:记录了你几乎所有的操作记录,用于系统的审核,故障的排除。日志文件永久存放在日志目录中,系统日志保存在/var/log中
rsyslog 按照日志类型分类,把所有日志记录到/var/log目录下。
/var/log/messages是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵。
/var/log/secure 与安全相关的日志。
/var/log/cron 与计划任务相关的日志。
/var/log/boot.log与系统启动的相关日志,只保留本次系统启动时产生的日志消息,上一次的会被本次覆盖。
例如:
ll /var/log rsyslog 列出所有的日志文件。
systemd-journal 改进型的日志管理服务 默认情况下不会永久存放日志,重启之后,以前日志不存在。
日志级别:
debug info notice warning err error critcal alert emergence panic
日志类型:
auth:认证相关
authpriv:安全权限相关的日志
cron:系统定期执行计划任务时产生的日志
damon:某些守护进程产生的日志
kern:内核相关日志
lpr:打印服务相关日志
mail:邮件日志
mark :产生时间戳
news:网络新闻协议产生的日志
syslog:记录rsyslog自己产生的日志
user:普通用户产生的日志.
uucp:UUCP子系统。
local0 through local7:默认归类的日志
# ll *.日志级别 :出该日志级别的所有日志信息。
往系统中写入日志:
1:先在/var/log目录下创建一个test文件: touch /var/log/test
2:编辑rsyslog.conf: vim /etc/rsyslog.conf
3:找到下面这几行,在*info;后面加上local5.none,使得设备local5的日志不记录在messages文件里。
4:接下来在下一行输入local5.none, 再在下一行输入local5.* /var/log/test,将设备local5的所有级别的信息都记录在test文件中。
如图:
5:保存退出。
6:重启rsyslog服务: systemctl restart rsyslog. srvice
7:logger -p 日志类型.日志级别 -t “ 哪个进程产生的日志” “日志内容”
8:可以查看该日志文件内容: cat /var/log/test
结果如下:
tail -f 日志存在的目录:实时监控产生新的日志。(Ctrl+Z结束)
journalctl:在root下运行,默认打印日志。
-n:默认显示最后十条日志。
-n 数字:显示后数字行的日志。
-p 级别名称:显示级别为该级别的日志信息。
-f:实时监控刷新日志。
-o verbose:查看日志的详细字段。
XXX:过滤出和XXX 相关的日志信息。
--since “YYYY-MM-DD hh:mm:ss” --until “YYYY-MM-DD hh:mm:ss”:显示这个时间段之内的日志信息。(省略日期则显示当天时间段,省略时间,显示日期内零点零分零秒。)
持久化一个日志(也有时间限制,大小不能超过分区的%10):
1:创建一个目录,加特殊权限位。#mkdir 目录 #chmod 2755 目录
2:把所属组改为journal: #chown:systemctl-journal 目录
3:重启日志服务: #systemctl restart systemd-journal.srevice
4:查看:#ll -d 目录
查看操作系统的时间:timedatectl (universal time:标准时间。)
timedatectl list-timezones
手动修改时间:timedatectl set-time YYYY-MM-DD hh:mm:ss
NTP:网络时间协议
timedatectl
set-ntp false 开启
set-ntp true 关闭
chronyc sources –v
systemctl status chronyd.service