运维大法之Linux系统中的日志管理

这篇博客介绍了Linux系统中日志管理的重点,包括journald服务的`journalctl`命令使用及如何永久保存日志,以及rsyslog的自定义日志采集路径和格式,还有日志的远程同步方法。实验涉及了时间同步服务,确保日志时间的一致性。
实验环境
westos_linux: 172.25.254.10
westos_node1: 172.25.254.20
wesots_linux&westos_node1:
systemctl stop firewalld 

1.journald

服务名称:systemd-journald.service
journalctl
默认日志存放路径: /run/log

实验1 journalctl命令的用法
journalctl
           -n 3 #日志的最新3条
           --since "2020-05-01 11:00:00" #显示11:00后的日志
           --until "2020-05-01 11:05:00" #显示日志到11:05
           -o #设定日志的显示方式
           short 经典模式显示日志
           verbose 显示日志的全部字节
           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-time=1W #日志在系统中最长存放时间
           -f #监控日志

journalctl _PID=10924 _SYSTEMD_UNIT=sshd.service

如图所示:

journalctl -n 3

在这里插入图片描述

journalctl --since "2020-05-01 11:00:00"

在这里插入图片描述

journalctl -n 3 -o short

在这里插入图片描述

journalctl -n 3 -o export

在这里插入图片描述

journalctl -n 3 -o json

在这里插入图片描述

journalctl -n 3 -o verbase

在这里插入图片描述

journalctl -p err

在这里插入图片描述

journalctl -F PRIORITY

在这里插入图片描述

journalctl --disk-usage

在这里插入图片描述

journalctl TRANSPORT=kernel

在这里插入图片描述

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

日志类型

auth #用户认证
authpriv #服务认证
cron #时间任务
kern #内核类型
mail #邮件
news #系统更新信息
user #用户

日志级别

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

1、定义日志采集格式

$template WESTOS_FORMAT, "%FROMHOST-IP% %timegenerated% %FROMHOST-IP% 
%syslogtag% %msg%\n"
#WESTOS_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: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

查询端口:

root@rhel7_node1 ~]# netstat -antlupe | grep rsyslog
udp 0 0 0.0.0.0:514 
0.0.0.0:* 0 67600 11115/
rsyslogd 
udp6 0 0 :::
514 :::* 0 
67601 11115/rsyslogd 

在这里插入图片描述

2、westos_linux中设定发送日志到westos_node1中
vim /etc/rsyslog.conf
*.* @172.25.254.20
systemctl restart rsyslog
@ 表示使用udp传输日志
@@ 表示使用tcp传输日志
@172.25.254.20 把本机日志用udp的传输方式发送到172.25.254.20主机

测试:
在westos_linux和westos_node1中

 > /var/log/messages

在这里插入图片描述

在westos_linux中

logger westos test message

在这里插入图片描述

结果:在westos_node1中可以看到westos_linux中生成的日志!

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
配置文件: /etc/chrony.conf
在rhel7作为时间源rhel8同步rhel7时间
在rhel7中

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 

在这里插入图片描述

在rhel8中

vim /etc/chrony.conf
pool 172.25.254.11 iburst
systemctl restart chronyd

在这里插入图片描述在这里插入图片描述

查看:

在rhel8中查看时间:
现实已经变成rhel7中时间
使用chronyc 命令查看时间效果:

[root@rhel8_node1 ~]# chronyc sources -v
210 Number of sources = 1
 .-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not 
combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too 
variable.
|| .- xxxx [ yyyy ] +/-
zzzz
|| Reachability register (octal) -. | xxxx = adjusted 
offset,
|| Log2(Polling interval) --. | | yyyy = measured 
offset,
|| \ | | zzzz = estimated 
error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last 
 
 sample 
===============================================================================
^* 172.25.254.11 10 6 17 15 -6970ns[+8437ns] 
+/- 180us

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值