系统日志管理
1.rsyslog ##此服务时用来采集系统日志的,他不产生日志,只是起到采集作用
2.rsyslog的管理
日志 | 作用 |
---|---|
/var/log/messages | 服务信息日志 |
/var/log/secure | 系统登陆日志 |
/var/log/cron | 定时任务日志 |
/var/log/maillog | 邮件日志 |
/var/log/boot.log | 系统启动日志 |
指定日志采集路径
什么类型的日志,什么级别的日志 /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 | 有调式信息的,日志信息最多 |
info | 一般信息的日志,最常用 |
notice | 最具有重要性的普通条件的信息 |
warning | 警告级别 |
err | 错误级别,阻止某个功能或模块不能正常工作的信息 |
crit | 严重级别,阻止某个系统或者整个软件不能正常工作的信息 |
alert | 需要立即修改的信息 |
emerg | 内核崩溃等严重信息 |
none | 什么都不记录 |
注意:从上到下,级别从低到高,记录的信息越来越少
##详细的可以查看手册:man 3 syslog
3.`日志的远程同步
在日志的发送方:
vim /etc/rsyslog.conf
“* . *172.25.254.229
systemctl restart rsyslog
清空日志文件:> /var/log/messages
logger test
查看日志已经生成:cat /var/log/messages
具体操作如下图:
在日志接收方:
vim /etc/rsyslog.conf
15 $ModLoad imudp ##日志接收模块
16 $UDPServerRun 514 ##开启接收端口
systemctl restart rsyslog
systemctl stop firewalld ##关闭火墙
systemctl disable firewalld ##设定火墙开机关闭
清空日志文件:> /var/log/messages
查看日志已经生成:cat /var/log/messages
具体操作如下图:
4.日志采集格的设定
vim /etc/rsyslog.conf
$template WESTOS, “%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n”
%timegenerated% ##显示日志时间
%FROMHOST-IP% ##显示主机ip
%syslogtag% ##日志记录目标
%msg% ##日志内容
\n ##换行
" * . * " /var/log/westos;
cat /var/log/westos
(1)显示日志时间
(2)换行显示日志时间
(3)显示日志时间和IP 并换行
(4)显示日志时间、IP 、日志记录目标并换行
(5)显示日志时间、IP 、日志记录目标、日志内容并换行
5.时间同步服务
服务名称 :chronyd
在服务端:vim /etc/chrony.conf
22 allow 172.25.254.129 ##允许那些客户端来同步本机时间
29 local stratum 10 ##本机不同步任何主机的时进,本机作为时间源
sysetemctl restart chronyd
timedatectl set-timezone Asia/Shanghai ##更改当前时区为东8区
具体操作如下:
在客户端:vim /etc/chrony.conf
server 172.25.254.229 iburst ##本机立即同步229主机的时间
systemctl restart chronyd
timedatectl set-timezone Asia/Shanghai
##更改当前时区为东8区
测试:在客户端
chronyc sources -v
6.timedatectl命令
timedatectl ##管理系统时间
timedatectl status ##显示当前时间信息
timedatectl set-time ##设定当前时间
timedatectl set-timezone ##设定当前时区
timedatectl set-local-rtc 0|1##设定是否使用utc时间
(1)timedatectl set-local-rtc 0 ##使用utc时间
(2)timedatectl set-local-rtc 1 ##不使用utc时间
timedatectl list-timezone ##查看支持的所有时区
7.journal
journal ##日志查看工具
journal -n 3 ##查看最近3条日志
journal -p err ##查看错误日志
journal --since ##查看从什么时间开始的日志
查看从10:10开始的日志
journal --until ##查看到什么时间为止的日志
查看从10:10开始到10:20的日志
journal -o verbose ##查看日志的详细参数
例:查询PID为1165 COMM 为sshd的日志
例:查询主机名为localhoat的日志
(2)如何使用systemd-journald 保存系统日志
默认systemd-journald是不保存系统日志到硬盘的
那么关机后再次开机只能看到本次开机之后的日志
上一次关机之前的日志是无法查看的
<1>mkdir /var/log/journal 建立一个日志文件
<2>chgrp system-journal /var/log/journal
chmod g+s /var/log/journal 改变日志所有组并给与权限
<3>killall -1 systemd-journald 更新
<4>查看日志的内容
<5>bootctl
<6>重启后查看历史记录