一、journalctl
1.journald.service
服务名称 :systemd-journald.service
默认存放日志路径:/run/log ; 系统重启后会清空日志
查看系统日志的命令为 journalctl
2.journalctl命令的用法:
参数 | 作用 |
---|---|
journalctl | 日志分析命令 |
journalctl -n 3 | 查看最近生成的3条日 |
journalctl --since“2021-5-1 11:00:00” | 查看从某个时间生成的日志 |
journalctl --util“2021-5-1 11:05:00” | 查看日志到某个时间 |
journalctl -o verbose | 显示日志的全部字节 |
jounalctl -o short | 经典模式显示日志 |
journalctl -o export | 适合传出和备份的二进制格式 |
journalctl -o json | js格式显示输出 |
journalctl -p | 显示指定级别日志 |
journalctl -p emerg 0 | 系统的严重问题日志 |
journalctl -p alert 1 | 系统中立即要更改的日志 |
journalctl -p crit 2 | 严重级别会导致系统软件不能正常工作 |
journalctl -p err | 3程序报错 |
journalctl -p warning 4 | 程序警告 |
journalctl -p notice 5 | 重要信息的普通日志 |
journalctl -p info 6 | 普通信息 |
journalctl -p debug 7 | 程序排错信息 |
journalctl -F PRIORITY | 查看可控日志级别 |
journalctl -u 服务名称 | 查看指定服务 |
journalctl --disk -usage | 查看日志大小 |
journalctl --vacuum -size=1G | 设定日志存放大小 |
journalctl -f | 监控日志 |
3.用journald服务永久存放日志
系统中默认日志在:/run/log/journal中
默认方式在系统重启后日志会被清理
要永久保存日志请完成以下操作:
mkdir /var/log/journal ##创建目录
chgrp system-journal /var/log/journal ##更改组
chmod 2775 /var/log/journal/ ##更改权限
systemcrl restart systemd-journal ## 重启进程
当服务重启日志的存放路径会被指定到: /var/log/journal/ 原有的存放路径会被同时删除
二、rsyslog
服务名称:rsyslog.service
日志存放:
/var/log/messages 系统服务日志,常规信息,服务报错
/var/log/secure 系统认证信息日志
/var/log/maillog 系统邮件日志信息
/var/log/cron 系统定时任务信息
/var/log/boot.log 系统启动日志信息
配置文件: /etc/rsyslog.conf
1.自定义日志采集路径
日志类型.日志级别 日志存放路径
*.* /var/log/testfile ##把系统中所有级别的日志存放到testfile中
*.* ;authpriv.none /var/log/testfile ##把系统中所有级别的日志存放到testfile中,authpriv除外
日志类型 | 含义 | 日志级别 | 含义 |
---|---|---|---|
auth | #用户认证 | debuge | #程序排错信息 |
authpriv | #服务认证 | info | #程序常规运行信息 |
cron | #时间任务 | notice | #重要信息的普通日志 |
kern | #内核类型 | waring | #程序警告 |
#邮件 | err | #程序报错 | |
news | #系统更新信息 | crit | #严重级别会导致系统软件不能正常工作 |
user | #用户 | alert | #系统中立即要更改的信息 |
emerg | #系统的严重问题日志 | ||
none | #不采集 |
2.如何更改日志采集格式
1)定义日志采集格式
$template HAHA_FORMAT, “%FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n”
HAHA_FORMAT: 格式名称
%FROMHOST-IP%: 日志来源主机IP
%timegenerated%: 日志生成时间
%syslogtag%: 日志生成服务
%msg%: 日志内容
\n: 换行
2)设定日志采集格式应用
*.*;authpriv.none /var/log/testfile;HAHA /var/log/testfile;HAHA
3.日志的远程同步
日志接收方配置:
1.关闭火墙:systemctl stop firewalld
2.打开日志接收插件及接口:vim /etc/rsyslog.conf
3.重启rsyslog systemctl restart rsyslog
日志发送方配置
1.修改发送日志的地址:vim /etc/rsyslog.conf
.
2.重启rsyslog
- @ 表示使用UDP传输日志
- @@ 表示使用tcp传输日志
测试结果:
三、timedatectl
timedatectl #查询时间本机时间信息
systemctl disable --now chronyd关闭时间同步
timedatectl set-time "2021-11-11 11:11:11"设置系统时间
timedatectl list-timezones 上次登陆时区
timedatectl set-timezone "Africa/Abidjan"更改登陆时区
timedatectl set-local-rtc 0使用utc时间计算方式 硬件时间不同步
四、时间同步服务
服务名称:chrond.service
配置文件:/etc/chrony.conf
设定时间源主机:
1.编辑配置文件 vim /etc/chrony.conf
23 allow 192.168.254.0/20 #允许192.168.254.0/20网段的主机同步时间
26 local stratum 10 #本地时间作为时间源,10表示当前主机时间服务器级别
2.重启chromyd,需关闭防火墙
需要同步时间的主机
1.编辑配置文件: vim /etc/chrony.conf,接收来自时间源IP的时间
2.重启chronyd
3.chronyc sources -v查看同步结果。
4. clock -w #把系统时间同步到硬件
clock -s #把硬件时间同步到系统