一、rsyslog服务
此服务只是用来采集日志的,它不会产生日志,只是起到把日志采集到一起的作用。
二、rsyslog服务的管理
系统日志的配置文件 vim /etc/rsyslog.conf
什么类型的日至.什么级别的日至 保存文件的绝对路径 ##日志采集规则
*.*就表示任何类型的任何级别的日志
日至类型分为
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
*.* /var/log/file 把任何类型的任何级别日志存放在file文件里
重起服务,然后用另一台主机登陆本机,可以看到登陆记录被存放在日志里。
三、日志的远程同步
首先确定服务机,也就是日志发送方。
vim /etc/rsyslog.conf
在文件中写入,你需要将什么类型的什么级别的日志发送到哪一台主机去。
UDP远程同步日志的书写格式为:
*.* @172.25.254.209 ##把任意类型的任意级别日志,发送到ip192.168.0.1的主机。
TCP远程同步日志的格式为:
*.* @@172.25.254.209 ##把任意类型的任意级别日志,发送到ip192.168.0.1的主机。
在服务端,也就是日志接受方:
vim /etc/rsyslog.conf
打开15,16行的UDP接受模块:
15 $ModLoad imudp
16 $UDPServerRun 514
接下来:重启rsyslog服务,关闭接受方防火墙
systemctl restart rsyslog ##重启rsyslog服务
systemctl stop firewalld ##关闭防火墙
systemctl disable firewalld ##设置防火墙开机不启动
四、日志采集格式的设定
更改配置文件rsyslog.conf
vim /etc/rsyslog.conf
$template RULES,"%FROMHOST-IP% %timegenerated% %syslogtag% %msg%\n"
显示主机ip 显示日志时间 日志记录目标 日志内容 换行
五、时间同步服务
服务名称chronyd
在服务端
vim /etc/chrony.conf
更改以下内容:
allow 172.25.254.109/24 ##允许哪些客户端来同步本机时间
local stratum 10 ##本机不同步任何主机时间,本机作为时间源
systemctl restart chronyd ##重启服务
systemctl stop firewalld ##关闭防火墙
在客户端:
vim /etc/chrony.conf
server 172.25.254.209 iburst ##本机立即同步233主机时间
systemctl restart chronyd
systemctl stop firewalld
测试:
客户端
chronyc sources -v
六、timedatectl命令
timedatectl ##管理系统时间
timedatectl status ##显示当前时间信息
set-time ##设定当前时间
set-timezone ##设定当前时区
set-local-rtc 0|1 ##设定是否使用utc时间
list-timezones ##查看支持的所有时区
timedatectl status
[root@server_sshd ~]# timedatectl status
Local time: Mon 2019-11-11 11:17:22 CST ##本地时间=伦敦时间+时区
Universal time: Mon 2019-11-11 11:17:22 UTC ##世界协调时间:伦敦时间
RTC time: Thu 2019-01-17 03:03:19 ##主板时间
Timezone:America/New_York (EST, -0500)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: no
timedatectl list-timezones
七、journal
1、journalctl
journalctl ##日志查看工具
-n 3 ##查看最近3条日志
-p err ##查看错误日志
-o verbose ##查看日志详细参数
--since ##查看从什么时间开始的日志
--until ##查看到什么时间为止的日志
journalctl -n 3
journalctl -p err
journalctl --since 21:40 --until 22:40
查看21:40之后,22:40之前的日志信息
如何使用systemd-journald保存系统日志
默认systemd-journald是不能保存到系统日志到硬盘的,那么关机后再次开机只能看到本次开机后的日志,上次关机之前的日志是无法查看到的。
如何把存储在内存里的日志信息保存到本地
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
killall -1 systemd-journald
重启后用journalctl查看日志,有22:43:23之前的日志,说明systemd-journald保存到系统日志到硬盘了。