Linux|Linux系统中的日志管理


文章目录

  • 一、journald
    • 实验一:journalctl命令的用法
    • 实验二:用journald服务永久存放日志
  • 二、rsyslog
    • 1、实验一:自定义日志采集路径
    • 2、实验二:如何更改日志采集格式
    • 3、实验三:日志的远程同步
  • 三、timedatectl
  • 四、 时间同步服务

实验环境
westosa:172.25.254.118
westosb:172.25.254.218
在两个主机里执行
systemctl stop firewalld

关闭防火墙
一、journald 服务名称:systemd-journald.service journalctl
默认日志存放路径:/run/log
实验一:journalctl命令的用法
journalctl - n 3#日志的最新三条 - -since "2020-02-02 11:00:00"#显示该时间之后的日志 - -until "2020-02-02 11:00:00"#显示日志到该时间 - o#设定日志的显示方式 - p#显示指定级别的日志 - F PRIORITY#查看可控日志级别 - u sshd#指定查看服务 - -disk-usage#查看日志大小 - -vacuum-size=1G#设定日志存放大小 - -vacuum-time=1W#日志在系统中最长存放时间 - f#监控日志 # short 经典模式显示日志 # verbose 显示日志的全部字节 # export 适合传出和备份的二进制格式 #json js格式显示输出 #0 emerg系统的严重问题日志 #1 alert系统中立即要更改的信息 #2 crit严重级别会导致系统软件不能正常工作 #3 err程序报错 #4 warning程序警告 #5 notice重要信息的普通日志 #6 info普通信息 #7 debug程序拍错信息

实验二:用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)完成以上操作之后再次重启系统可以看到日志是被保存下来的
二、rsyslog 服务名称:rsyslog.service
日志存放:
/var/log/messages#系统服务日志,常规信息,服务报错 /var/log/secure#系统认证信息日志 /var/log/maillog#系统邮件日志信息 /var/log/cron#系统定时任务信息 /var/log/boot.log#系统启动日志信息 配置文件:/rtc/rsyslog.conf

1、实验一:自定义日志采集路径
vim /etc/rsyslog.conf

日志类型.日志级别 日志存放路径
* . * /var/log/westos #把系统中所有级别的日志存放到westos中
* . * ; authpriv.none /var/log/westos #把系统中所有级别日志存放到westos中,但是authpriv不存放到westos中
【Linux|Linux系统中的日志管理】日志类型
auth#用户认证 authpriv#服务认证 cron#时间任务 kern#内核类型 mail#邮件 news#系统更新信息 user#用户

日志级别
debug#程序排错信息 info#程序常规运行信息 notice#重要信息的普通日志 warning#程序警告 err#程序报错 crit#严重级别会导致系统不能正常工作 alert#系统中立即要更改的信息 emerg#系统中的严重问题日志 none#不采集

2、实验二:如何更改日志采集格式 1、定义日志采集格式
$template WESTOS_FORMAT,"%FROMHOST-IP% %timegenerated%% %FROMHOST-IP% %syslogtag% %msg%\n"
#WESTOS_FROMAT:格式名称 #%FROMHOST-IP%:日志来源主机ip #%timegenerated%:日至生成时间 #%syslogtag%:日志生成服务 #%msg%:日志内容 #\n:换行

2、设定日志采集格式应用
(1.在配置文件中编写一个名为WESTOS的模板,采集格式为“日志来源主机IP,生成时间,服务,内容”
Linux|Linux系统中的日志管理
文章图片

(2.对指定文件用编写的模板采集日志,如:让linux文件以WESTOS格式采集日志
Linux|Linux系统中的日志管理
文章图片

(3. 重启rsyslog服务,查看linux日志文件,格式生效
Linux|Linux系统中的日志管理
文章图片

(4.若是想要所有文件都采用WESTOS格式,可将默认模板名改为WESTOS
Linux|Linux系统中的日志管理
文章图片

3、实验三:日志的远程同步 实验目的:
主机A 192.168.1.19:发送日志到主机B
主机B 192.168.1.29: 日志接收端
1.在主机A中修改配置文件,设定发送日志到主机B,重启服务
Linux|Linux系统中的日志管理
文章图片

Linux|Linux系统中的日志管理
文章图片

@:udp传输
@@:tcp传输
Linux|Linux系统中的日志管理
文章图片

2.在主机B修改配置文件,设定接收所有人的日志
Linux|Linux系统中的日志管理
文章图片

3.查看到主机B的514端口已打开,关闭火墙;此时,日志同步设定已完成
Linux|Linux系统中的日志管理
文章图片

4.为了观察实验效果,两台主机分别清空日志文件,在主机A上执行logger linux 测试命令,在主机B上可以查看到同步的日志
Linux|Linux系统中的日志管理
文章图片

Linux|Linux系统中的日志管理
文章图片

三、timedatectl timedatectl命令用来管理系统的时间
Linux|Linux系统中的日志管理
文章图片

timedatectl set-time +【具体的时间】 设定系统时间 timedatectl list-timezones 显示所有时区 timedatectl set-timezone+【时区】 设定系统时区 timedatectl set-local-rtc 0/1 设定系统时间计算方式;0表示硬件采用utc计算时间方式,1表示让硬件采用本地时间

四、 时间同步服务 服务名称: chronyd.service
配置文件: /etc/chrony.conf
Linux|Linux系统中的日志管理
文章图片

Linux|Linux系统中的日志管理
文章图片

在主机A中重启chrony服务,关闭火墙
在主机B中修改配置文件,同步主机A的时间,重启chronyd服务
在主机B查看时间,已变为主机A的时间
主机B使用chronyc sources -v 命令查看同步效果
Linux|Linux系统中的日志管理
文章图片

    推荐阅读