Linux系统中的日志管理

实验环境  
systemctl stop firewalld(关闭火墙)

1.journald 

服务名称 systemd - journald.service
journalctl    默认日志存放路径: / run / log
实验 1 journalctl 命令的用法
journalctl
                -n 3            日志的最新3条
                -f              监控日志       
                -o              设定日志的显示方式
                -o short        经典模式显示日志
                -o verbose      显示日志的全部字节
                -o export       适合传出和备份的二进制格式
                -o json         js格式显示输出
                -p              显示制定级别的日志
                -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-time=1W   日志在系统中最长存放时间
                --since "2022-04-25 11:00:00"     显示11:00后的日志
                --until "2022-04-25  11:05:00"    显示日志到11:05              
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
测试
1. 在操作以上步骤之前查看日志
2. 重启系统
3. 再次查看日志
4. 可以看到日志是不会被保存下来的只能看到重启之后的日志
5. 完成以上操作后再次重启系统可以看到日志是被保存下来的

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 /free      ## 把系统中所有级别的日志存放到free
*.* ;authpriv.none          / var / log /free
把系统中所有级别的日志存放到free 中 ,但是 authpriv 不存放到free

日志类型

auth # 用户认证
authpriv # 服务认证
cron # 时间任务
kern # 内核类型
mail # 邮件
news # 系统更新信息
user # 用户
日志级别
debug # 程序排错信息
info # 程序常规运行信息
notice # 重要信息的普通日志
waring # 程序警告
err # 程序报错
crit # 严重级别会导致系统软件不能正常工作
alert # 系统中立即要更改的信息
emerg # 系统的严重问题日志
none # 不采集
实验 2. 如何更改日志采集格式
1 定义日志采集格式
$template FREE_FORMAT, " %FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
#FREE_FORMAT 格式名称
# %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 : 192.168.155.100    存放日志作为日志接受端, 所有人日志都存放到此台主机
westos_linux : 192.168.155.200         发送日志到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
查询端口
udp    0            0 0.0.0.0 : 514             0.0.0.0 :* 0
0       48558         2989 / rsyslogd
udp6  0           0 ::: 514 :                  ::* 0
0      48559           2989 / rsyslogd
2. westos_linux 中设定发送日志到 westos_node1
vim / etc / rsyslog.conf
*.*         @ 192.168.155.100
systemctl restart rsyslog
@        表示使用udp 传输日志
@@    表示使用tcp 传输日志
@ 192.168.155.100         把本机日志用 udp 的传输方式发送到192.168.155.100 主机
测试
westos_linux westos_node1
> / var / log / messages
westos_linux 中  logger westos test message
westos_node1 中可以看到 westos_linux 中生成的日志 !!
 
3. timedatectl 
timedatectl set - time " 2222-02-22 22:22 " ## 设定系统时间
timedatectl list - timezones     ##显示系统的所有时区
timedatectl set - timezone "Africa/Bangui" ##设定系统时区
timedatectl set - local - rtc 0 | 1    ##设定系统时间计算方式  ,0表示使用 utc 时间计算方式

4. 时间同步服务
服务名称 : chronyd.service
配置文件 / etc / chrony.conf
在free2 作为时间共享端free1 同步free2 时间端
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
在free2中共享时间端
让free1同步free2时间端
vim / etc / chrony.conf
pool 192.168.2.200  iburst

 在free1中 执行chronyc sources -v查看效果

 

posted @ 2023-03-16 19:48  yunyeblog  阅读(83)  评论(0)    收藏  举报  来源