日志管理服务
1.rsyslog #此服务是用来采集系统日志的,其本身不产生日志
2.rsyslog的管理
/etc/rsyslog.conf | ##rsyslog服务配置文件 |
---|---|
/var/log/messages | ##服务信息日志 |
/var/log/secure | ##系统登陆日志 |
/var/log/cron | ##定时任务日志 |
/var/log/maillog | ##邮件日志 |
/var/log/boot.log | ##系统启动日志 |
指定日志采集路径: 在/etc/rsyslog.conf下设置
什么类型的日志.什么级别的日志 /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.216 ##"@“表示udp协议发送,”@@"表示tcp协议发送
systemctl restart rsyslog.service
在日志接收方:
vim /etc/rsyslog.conf
15 $ModLoad imudp #日志接受模块
16 $UDPServerRun 514 #开启接收端口
systemctl restart rsyslog.service
systemctl stop firewalld #关闭防火墙
测试:
在发送方和接收方都清空日志文件
> /var/log/messages
在日志的发送方
logger test #发送测试日志
cat /var/log/messages #查看日志已经生成
在日志接收方查看
cat /var/log/messages
###日志采集格式的设定######
(1)在vim /etc/rsyslog.conf下添加
$template WESTOS, “%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n” (WESTOS为自己设定的规则名)
%timegenerated% | #显示日志时间 |
---|---|
%FROMHOST-IP% | #显示主机ip |
%syslogtag% | #日志记录目标 |
%msg% | #日志内容 |
\n | #换行 |
(2)在想要使用该规则的日志采集路径后加上“;WESTOS“
*.info;mail.none;authpriv.none;cron.none /var/log/messages;WESTOS(注意这中间加的是分号)
cat /var/log/messages
时间同步服务
服务名称
chronyd
##在服务端
vim /etc/chrony.conf
22 allow 172.25.254/24 #允许网络区域为172.25.254的客户端来同步本机时间
29 local stratum 10 #本机不同步任何主机的时间,本机作为时间源
systemctl restart chronyd.service
date 11111111 #更改当前时间为11月11号11点11分
##在客户端:
date 查看自己的时间
vim /etc/chrony.conf
server 172.25.254.216 iburst #本机立即同步216主机的时间 inburst表示立即同步
systemctl restart chronyd.service
##测试
#在客户端:
chronyc sources -v
timedatectl命令
timedatectl | #管理系统时间 |
---|---|
timedatectl status | #显示当前时间信息 |
timedatectl set-time | #设定当前时间 |
timedatectl set-timezone | #设定当前时区 |
timedatectl set-local-rtc 0/1 | #设定是否使用utc时间 0使用utc时间(世界时间) 1使用本机时间,可通过vim /etc/adjtime 查看 |
timedatectl list-timezones | #查看支持的所有时区 /***搜索 |
journal
1.journalctl ##日志查看工具
journalctl -n 3 | ##查看最近3条日志 |
---|---|
journalctl -p err | ##查看错误日志 |
journalctl -o vebose | #查看日志的详细参数 |
journalctl --since | ##查看从什么时间开始的日志 |
journalctl --until | ##查看到什么时间为止的日志 |
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
然后reboot重启虚拟机
再次通过journalctl我们可以看到上一次关机前的日志仍然可以显示