Linux系统中的日志管理
1.journald
服务器名称:systemd-journald.service journalctl
默认日志存放路径: /run/log
- 实验1 journalctl命令的用法
journalctl -n 3 #日志的最新3条
--since "2020-05-01 11:00:00" # 显示11:00的日志
--untial "2020-05-01 11:05:00" #显示日志到11:05 设定日志的显示方式
- o #设定日志的显示方式
# short 经典模式显示日志
# verbosde 显示日志的全部字节
# export 适合传出和备份的二进制格式
# json js格式显示输出
-p #显示制定级别的日志
#0 emerg 系统的严重问题日志
#1 alert 系统中立即要更改的信息
#2 crit 严重级别会导致系统软件不能正常工作
#3 err 程序报错
#4 warning 程序警告
#5 notice 重要信息的普通日志
#6 info 普通信息
#7 debug 程序报错信息
-F PRIORITY # 查看可控日志级别
-u sshd #指定查看服务
--disk-usage #查看日志大小
--vacuum-size=1G #设定日志存放大小
--vacuum-size=1w #日志在系统中最长存放时间
-f #监控日志
journalctl _PID=10924_SYSTEMD_UNIT=sshd,service
- 实验2 用journald服务永久存放日志
系统中默认日志在:/run/log/journal
默认方式在系统重启后日志会被清理要永久保存日志:
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod 2775 /var/log/journal
systemctl restart systemd-journald.service
当服务器重启日志存放路径会被指定到:/var/log/journal
2.rsyslog
服务器名称:rsyslog.service
日志存放:
/var/log/messages #系统服务日志,常规信息。服务报错
/var/log/secure #系统认证信息日志
/var/log/maillog #系统邮件日志信息
/var/log/cron #系统定时任务信息
/var/log/boot.log #系统启动日志信息
配置文件:/etc/rsyslog.conf
- 实验1 自定义日志采集路径
vim /etc/rsyslog.conf
#日志类型,日志级别 日志存放路径
*.* /var/log/westos #把系统中所有级别的日志存放到westos中
*.*;authpriv.none /var/log/westos #把系统中所有级别的日志存放放到westos中 但时authpriv不存放到westos中
- 日志类型
auth | 用户认证 |
---|---|
authpriv | 服务认证 |
cron | 时间任务 |
kern | 内核类型 |
邮件 | |
news | 系统更新信息 |
user | 用户 |
- 日志级别
debug | 程序排错信息 |
---|---|
info | 程序常规运行信息 |
notice | 重要信息的普通日志 |
warning | 程序警告 |
err | 程序报错 |
crit | 严重级别会导致系统软件不能正常工作 |
alert | 系统中立即要更改的信息 |
emerg | 系统的严重问题日志 |
none | 不采集 |
- 实验2 如何更改日志采集格式
- 1定义日志采集格式
$template WESTOS_FROMAT,"%FROMHOST-IP% %timegenerated% "%FROMHOST-IP% %syslogtag% %msg%\n"
# WESTOS_FROMAT 格式名称
# "%FROMHOST-IP% 日志来源主机IP
# %timegenerated% 日志生成时间
# %syslogtag% 日志生成服务
# %msg% 日志内容
# \n 换行
- 2设定日志采集格式应用
*.*;authpriv.none /var/log/westos;WESTOS
module(load="builtin:omfile" Template="WESTOS_FORMAT") #默认采用WESTOS_FORMAT格式
- 实验3 日志的远程同步
westos_node1:172.25.254.20 #存放日志作为日志接收端,所有人日志都存放在此台主机
westos_linux:172.25.254.10 #发送日志到westos_node1主机中
1在westos_node1中设定接受所有人的日志
systemctl stop firewalld
vim /etc/rsyslog.conf
19 module(load="imudp") #达赖日志接受插件
20 input(type="imudp" port="514") #指定插件使用接口
systemctl restart rsyslog.service
- 查询端口:
systemctl restart rsyslog.service
2westos_linux中设定发送日志到westos_node1中
vim /etc/rsysloig.conf
*.* @172.25.254.20
systemctl restart rsyslog
@ 表示使用udp传输日志
@@ 表示使用tcp传输日志
@172.25.254.20 把本机日志用udp的传输方式发送到172.25.254.20主机
3.timedatectl
timedatectl set-time "2020-02-13 10:41:55" #设定系统时间
timedatectl list-timezones #显示系统所有时区
timedatectl set-timezone "Asia/Shanghai" #设定系统时区
timedatectl set-local-rtc 0|1 #设定系统时间计算方式 0表示使用utc时间计算方式
4.时间同步服务
服务名称: chronyd.service
配置文件: e/etc/chrony.conf
在rhrl7中作为时间源rthe8同步rhe7时间
在time_server中
vim /etc/chrony.conf
26 allow 172.25.254.0/24 #允许172.25.254.0网段主机同步时间
29 local stratum 10 #开启时间同步服务器功能并设定级别为10
systemctl restart chronyd.service
systemctl stop firewalld
在time_clinet中
vim /etc/chronyd.conf
pool 172.25.254.100 iburst
systemctl retart chronyd
- 查看:
在time_clinet中查看时间:
现实已经变成time_server中时间
使用chronyd命令查看时间效果: