linux日志管理

本文详细介绍了Linux系统的日志管理,包括journald服务的使用、journalctl命令的展示及其显示模式,以及如何永久保存日志。此外,还讲解了rsyslog服务的配置,用于自定义日志采集路径和更改日志格式。接着,文章阐述了如何实现日志的远程同步,通过UDP、TCP或RELP协议进行日志传输,并提供了实验环境的搭建步骤。最后,讨论了timedatectl和时间同步服务chronyd,以及如何设置时间源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 日志管理

1.journald

服务名称:systemd-journald.service (直接去看日志,不采集)
无法查看关机之前的日志,只能查看当前启动日志(存放在内存)

systemctl status systemd-journald.service(查看服务是否启动)

在这里插入图片描述

当服务启动后可以用journalctl查看日志
只能查看启动之后的日志

在这里插入图片描述

默认日志存放路径: /run/log

在这里插入图片描述

2. journalctl 命令的用法

2.1 日志的显示

journalctl -n 3日志的最新 3 条
- - since “2020-08-02 18:47:00”显示 18:47 后的日志
- - until “2020-08-02 18:49:00”显示日志到 18:49

显示最新三条日志
在这里插入图片描述

显示固定时间中的日志

在这里插入图片描述

2.2 日志的显示模式(显示什么)

- o +下面参数设定日志的显示方式
short经典模式显示日志
verbose显示日志的全部字节
export适合传出和备份的二进制格式
jsonjs 格式显示输出

journalctl -o short  经典模式显示日志
在这里插入图片描述

journalctl -o verbose  显示日志的全部字节

在这里插入图片描述

journalctl -o export  显示二进制格式

在这里插入图片描述

journalctl -o json  js格式显示输出

在这里插入图片描述

- p+ 以下参数显示制定级别的日志
0emerg系统的严重问题日志
1alert系统中立即要更改的信息
2crit严重级别会导致系统软件不能正常工作
3err程序报错
4warning程序警告
5notice重要信息的普通日志
6info普通信息
7debug程序拍错信息
部分命令的演示:

journalctl -p err 程序报错

在这里插入图片描述

journalctl -p emerg 系统中严重问题日志

在这里插入图片描述

journalctl -p warning 程序警告

在这里插入图片描述

journalctl -p notice 重要信息的普通日志

在这里插入图片描述

journalctl -p crit / info 严重级别的日志/普通日志
crit 出现时要马上处理

在这里插入图片描述

-FPRIORITY ##查看可控日志级别

journalctl -F PRIORITY 系统的可控日志级别
在这里插入图片描述

- u sshd指定查看sshd服务

journalctl -u sshd / firewalld   查看指定的服务
5.

–disk-usage##查看日志大小

查看日志大小

在这里插入图片描述

–vacuum-size=1G设定日志存放大小

设定日志存放内存大小

在这里插入图片描述

–vacuum-time=1W日志在系统中最长存放时间

日志在系统中存放最常时间

在这里插入图片描述

-f监控日志

监控系统日志(有新日志出现会在下方显示)

在这里插入图片描述

journalctl _PID=10924 _SYSTEMD _UNIT=sshd.service
查看相应参数的日志服务
journalctl -o varbose中查看参数

2.journal 永久存放日志

搭建所需要的实验环境:

mkdir   /var/og/journal建立相关目录
chgrp systemd-journal /var/log/journal/给目录的用户组改为systemd-journal
chgrp g+s /var/log/journal/给目录强制位权限
chmod g=rwx /var/log/journal/给用户组可写权限
ls -ld /var/log/journal/查看目录最终的权限

在这里插入图片描述

设置完成之后重启一下服务

systemctl  restart  systemd-journald.service

设置完成后reboot,再次输入journalctl你将发现之前的日志会被保存

在这里插入图片描述

/run/log/journal:系统默认存放路径(重启之后将会被清空)

/var/log/journal:设置的永久路径(重启之后日志还在)
建议使用完成之后删除这个目录(缓存的数据会占用大量空间)

2. rsyslog

2.1 采集日志(rsyslog)

而不是查看日志

服务名称:rsyslog.service
日志存放位置:

/var/log/messages系统服务日志,常规信息,服务报错
/var/log/secure系统认证信息日志
/var/log/maillog系统邮件日志信息
/var/log/cron系统定时任务信息
/var/log/boot.log系统启动日志信息

系统的服务认证信息日志:

在这里插入图片描述

配置文件:/etc/rsyslog.conf

2.2 自定义日志采集路径

编辑配置文件:
vim /etc/rsyslog.conf/

日志类型 . 日志级别                  存放路径

在这里插入图片描述

vim /etc/rsyslog.conf 编辑配置文件
编辑完成后systemctl restart rsyslog.service(重启rsyslog服务)
/var/log/zyj这个存放路径会自己加载出来

在这里插入图片描述

日志类型

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

日志级别

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

2.3 如何更改日志采集格式

默认格式:
    日志时间    日志来源    日志生成的程序    日志内容

在这里插入图片描述

修改日志采集格式:vim /etc/rsyslog.conf

zyj:格式名称
%FROMHOST-IP%:日志来源主机 IP
%timegenerated%:日志生成时间
%syslogtag%:日志生成服务
%msg%:日志内容
\n:换行

格式名称可以自己设置,没有强制要求

修改完成之后:systemctl restart rsyslog.service 重启rsyslog服务

在这里插入图片描述

设定日志采集格式的应用

*.*                  /var/log/xue;zyj 新采集格式

module(load=“builtin:omfile” Template=“WESTOS_FORMAT”)
默认采集格式

每一次设置完成之后都要记得重新启动rsyslog服务,切记

在这里插入图片描述

原格式与新格式的对比

在这里插入图片描述

要是想默认设置为自己设置的格式
只需修改默认的为自己设置的就好了, 建议复制修改(当想恢复时更加方便)

在这里插入图片描述

二.日志的远程同步

日志的三种远程传输方式:UDP(速度快) TCP(稳定) RELP

这个实验至少需要两个主机进行

@表示使用 udp 传输日志
@@表示使用 tcp 传输日志

实验环境的搭建:
分别先确定两台主机的IP为多少:
zyj_server=192.168.1.130(日志接收方)

在这里插入图片描述

zyj_cilent=192.168.1.110(日志发送方)

在这里插入图片描述

编辑日志发送方的vim /etc/rsyslog.conf

*.*                   @192.168.1.130
将所有日志给192.168.1.130这台主机发一份

systemctl restart rsyslog.servicer     重新启动服务

在这里插入图片描述

编辑日志接收方的vim /etc/rsyslog.conf

打开日志接收方的接收端口(如下图所示)

systemctl restart rsyslog.service      重新启动服务

在这里插入图片描述

注意:日志接收方的火墙要关闭

实验效果

为了方便观看实验效果需要清空日志

日志发送方发送的日志

在这里插入图片描述

日志接收方接收到了来自日志发送方的日志

在这里插入图片描述

查询端口:

netstat -antlupe | grep rsyslog

在这里插入图片描述

三. 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 时间计算方式

命令演示:

设置系统时间

在这里插入图片描述

显示系统的所有时区

在这里插入图片描述

设置系统时间计算方式

在这里插入图片描述

四. 时间同步服务

服务名称: chronyd.service
配置文件: /etc/chrony.conf

企业6之前用的为ntp服务

设置实验环境:

编辑配置文件vim /etc/chrony.conf

时间源设置:

vim /etc/chrony.conf

在这里插入图片描述

打开服务:
systemctl enable --now chronyd.service

在这里插入图片描述

同步时间源设置:

编辑配置文件:
vim /etc/chrony.conf

在这里插入图片描述

chronyc sources -v             查看时间效果

实验效果:

注意:编辑完成配置文件之后要想时间同步需要在同步主机中重新启动chronyd服务

还需要关闭火墙时间才会被同步哦!

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值