一. 日志管理
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 | 适合传出和备份的二进制格式 |
| json | js 格式显示输出 |
journalctl -o short 经典模式显示日志

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

journalctl -o export 显示二进制格式

journalctl -o json js格式显示输出

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

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

journalctl -p warning 程序警告

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

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

| -F | PRIORITY ##查看可控日志级别 |
|---|
journalctl -F PRIORITY 系统的可控日志级别

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

| –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 | 内核类型 |
| 邮件 | |
| 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服务
还需要关闭火墙时间才会被同步哦!

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

被折叠的 条评论
为什么被折叠?



