linux之系统日志管理

  • 什么是系统日志
    系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志。
  • 系统日志配置文件
/var/log/messages    ##服务信息日志
/var/log/secure      ##系统登陆日志
/var/log/cron        ##定时任务日志
/var/log/maillog     ##邮件日志
/var/log/boot.log    ##系统启动日志
  • 指定日志采集路径
type.level     /var/log/file
日志类型(type)分为:
auth                 ##pam产生的日志
authpriv             ##ssh,ftp等登陆信息的验证信息
cron                 ##时间任务相关
kern                 ##内核
lpr                  ##打印
mail                 ##邮件
mark(syslog)-rsylog ##服务内部的信息,时间标示
news                 ##新闻组
user                 ##用户程序产生的相关信息
local1-7             ##自定义的日志设备

日志级别(level)分为:
debug                ##有调式信息的,日志信息最多
info                 ##一般信息的日志,最常用
notice               ##最具有重要性的普通条件的信息
warning              ##警告级别
err                  ##错误级别,组织某个躬耕或者模块不能正常工作的信息
crit                 ##严重级别,阻止真个系统或者整个软件不能正常工作的信息
alert                ##需要立刻修改的信息
emerg                ##内核崩溃等严重信息
none                 ##什么都不记录
  • 日志的远程同步
    rsyslog:此服务是用来采集系统日志的,自身不产生日志
man 5 rsyslog.conf   ##查看同步的方式
“@”表示udp协议发送  “@@”表示tcp协议发送

在日志发送端:

vim /rsyslog.conf    ##打开配置文件
在RULES下 找一个空行输入
*.*            @172.25.1.2(接收端ip)
systemctl restart rsyslog  ##重启rsyslog服务

日志系统作用 系统日志包括_配置文件


在日志接收端:

vim /etc/rsyslog.conf   ##打开配置文件
/UDP                    ##高亮显示UDP
15 $Modload imudp       ##日志接收模块
16 $UDPServerRun 514    ##开启接受端口
注意:只需删除行首开头的“#” 退出保存即可
systemctl restart rsyslog   ##重启服务
systemctl stop firewalld    ##关闭防火墙
systemctl disable firewalld ##让防火墙开机不启动

日志系统作用 系统日志包括_日志系统作用_02


测试:

先在发送端和接受端分别都清空日志文件
> /var/log/messages
在发送端键入
logger test(日志内容)
在接受端查看
cat /var/log/messages

日志系统作用 系统日志包括_重启_03


日志系统作用 系统日志包括_配置文件_04

  • 设置日志采集格式
    在接收端设置:
vim /etc/rsyslog.conf          ##打开配置文件
$template LOGFMT(自定义日志名), “%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n“                       
                                 显示日志时间      显示主机IP    日志记录目标 日志内容 换行  

*.*   /var/log/westos;LOGFMT   ##把新建规则定义到原有westos日志上

cat /var/log/westos            ##查看设置效果(注意清空以及restart)

日志系统作用 系统日志包括_系统日志_05


另外一种定义新规则方法:

前面不变
在GLOBAL DIRECTIVES下找个空行输入
$ActionFileDefaultTrmplate WESTOS

日志系统作用 系统日志包括_配置文件_06

  • 时间同步服务
    chronyd
    作用:使发送端和接收端日志时间同步
    设置方法:
    在接收端即服务端:
vim /etc/chrony.conf     ##打开配置文件
22 allow 172.25.9.10/24  ##允许哪个ip地址客户端来同步本纪时间
29 local stratum 10      ##本机不同步任何主机的时间,本机作为时间源
注意:删除#该配置生效
systemctl restart chronyd  ##重启

日志系统作用 系统日志包括_重启_07


日志系统作用 系统日志包括_日志系统作用_08


在客户端即发送端:

vim /etc/chrony.conf           ##打开配置文件
添加server 172.25.1.2iburst  ##本机立即同步2的主机
systemctl restart chronyd      ##重启

日志系统作用 系统日志包括_重启_09


测试:在客户端随意键入date查看当前时间与服务端时间是否一致,前提是实验前将客户 端时间任意修改。

日志系统作用 系统日志包括_系统日志_10

  • timedatectl命令
    作用:更改系统时间
timedatectl status           ##查看timedatectl服务状态
timedatectl set-time         ##设定系统时间
timedatectl set-timezone     ##设定系统时区
timedatectl set-local-rtc 0|1   ##设定UTC与LOCAL(可使双系统时区时间保持一致)
在 /etc/adjtime 查看当前状态
timedatectl list-timezones   ##查看所有时区

日志系统作用 系统日志包括_配置文件_11


日志系统作用 系统日志包括_日志系统作用_12


日志系统作用 系统日志包括_日志系统作用_13

  • journalctl命令
    作用:系统日志查看工具
journalctl -n 4      ##查看最近4条日志
journalctl -p err    ##查看错误日志

日志系统作用 系统日志包括_配置文件_14

journalctl -o verbose        ##查看日志的详细参数

日志系统作用 系统日志包括_配置文件_15

journalctl _PID=84 _COMM=systemd-journal   ##查看PID为84 命令为systemd-journal的日志

日志系统作用 系统日志包括_日志系统作用_16

journalctl --since            ##查看从什么时间开始的日志
journalctl --until            ##查看到什么时间为止的日志
journalctl --since   --until  ##查看从什么时间开始、到什么时间结束的日志

日志系统作用 系统日志包括_配置文件_17

  • systemd-journald命令
    作用:保存系统日志
    说明:默认systemd-journald是不保存系统日志到硬盘的,关机后在此开机只能看到本次开机之后的日志文件。关机之前的日志的无法查看到的。
    设置开机之后可以看到关机前的系统日志文件
    方法如下:
mkdir /var/log/journal
chgrp systemd-journald /var/log/journal
chmod g+s /var/log/journal
killall -1 systemd-journald
ls /var/log/journal
显示:94cb0e817ea4ab916183df8c4fc817
bootctl         ##重启查看效果
注意:不建议此设置,如果不是需要的话或者磁盘容量大,否则长时间会使磁盘满载导致系统崩溃

日志系统作用 系统日志包括_系统日志_18


END