######系统日志管理########
1.rsyslog :
此服务时用来采集系统日志的,它不产生日志,只是起到采集作用
2.rsyslog的管理
/var/log/message | 服务信息日志 |
/var/log/secure | 系统登陆日志 |
/var/log/corn | 定时任务日志 |
/var/log/maillog | 邮件日志 |
/var/log/boot.log | 系统启动日志 |
3.指定日志采集
什么类型的日志。什么级别的日志 /var/log/file ##日志采集规则
日志类型分为:
auth ##pam产生的日志
authpriv ##ssh,ftp等登陆信息的验证信息
cron ##时间任务相关
kern ##内核
lpr ##打印
mail ##邮件
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
4.日志的远程同步
在日志发送方:
vim /etc/rsyslog.conf
*.* @172.25.254.118 ###@表示udp协议发送,@@表示tcp协议发送
systemctl restart rsyslog
在/etc/rsyslog.conf中配置加上 “*.* @172.25.254.118“发送方配置文件配置完毕
进行 systemctl restart rsyslog使文件/etc/rsyslog.conf生效
在日志接收方:
vim /etc/rsyslog.conf
15 $ModLoad imudp ##日志接受模块
16 $UDPServerRun 514 ##开启接受端口
原本在15行于16 行上述命令属于注释状态不生效,我们需要把“#”去掉
使此命令生效
修改完成后应进行以下操作
systemctl restart rsyslog ## 重启服务
stop firewalld ##关闭火墙
disable firewalld##设定火墙开机关闭
测试:
在发送方和接受方都清空日志文件
> /var/log/messages
在日志的发送方
logger test
cat /var/log/messages
在日志接受方查看
cat /var/log/messages
5.日志采集格式的设定
$template WESTOS, “%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
%timegenerated% ##显示日志时间
%FROMHOST-IP% ##显示主机ip
%syslogtag% ##日志记录目标
\n ##换行
%msg% ##日志内容
*.* /var/log/westos;WESTOS
cat /var/log/westos
6.时间同步服务
服务名称
chronyd
在服务段:
vim /etc/chrony.conf
22 allow 172.25.254.0/24 ##允许那些客户端来同步本机时间
29 local stratum 10 ##本机不同步任何主机的时间,本机作为时间元
systemctl restart chronyd
timedatectl set-timezone Asia/Shanghai ##更改当前时区为东8区
时区显示
在客户端:
vim /etc/chrony.conf
server 172.25.254.218 ibust ##本纪立即同步218主机的时间
systemctl restart chronyd
timedatectl set-timezone Asia/Shanghai ##更改当前时区为东8区
测试:
chronyc sources -v
此为服务端显示
可以看到服务端渐渐如下图
此为 客户端显示
客户端时间已经更改为CST ,于服务端一致 ,实现了时间的同步
7.timedatectl命令
timedatectl ##管理系统时间
timedatectl status ##显示当前时间信息
set-time ##设定当前时间
set-timezone ##设定当前时区
set-local-rtc 0|1 ##设定是否使用utc时间
list-timezone ##查看支持的所有时区
由于所有时区过多,就不一一显示,所用运用了“tail”进行了对于显示内容的拣选
选取的内容为查看支持的所有时区的后7行
8.journal 命令
1.journalctl ##日志查看工具
-n 3 ##查看最近三条日志
-p err ##查看错误日志
-o verbose ##查看日志的详细参数
--since ##查看从什么时间开始的日志
--until ##查看到什么时间为止的日志
下图为示例 关于查看从 2018-07-27 09:10:10到2018-07-27 21:46:17系统产生的日志
的最后4行
2.如何使用systemd-journald保存系统日志
默认systemd-journald时不保存系统日志到硬盘的
那么关机后再次开机只能看到本次开始之后的日志,
上次关机之前的日志时无法查看的
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
killall -1 systemd-journald
ls /var/log/journal
946cb0e817ea4_________
示例:演示