系统日志- Journal and Rsyslog

本文介绍如何使用Rsyslog配置日志记录,并通过Journalctl进行日志查询和管理。涵盖Rsyslog的基本配置、日志文件监控及Journalctl的高级查询功能。

Log文件
在这里插入图片描述
Rsyslog 的配置文件/etc/rsyslog.conf
在这里插入图片描述
Rsyslog的旧的信息会在最前面,新的信息会在最下面。
在这里插入图片描述

tail -f /var/log/messages #可以动态监控日志信息

在这里插入图片描述
logger 发送日志信息

logger -p user.notice #“内容” -p选项

在这里插入图片描述

测试实验:
1.在/etc/rsyslog.d/文件下创建debug配置文件,让所有的debug信息发送到/var/log/messages-debug 文件下

echo “*.debug /var/log/messages-debug” > /etc/rsyslog.d/debug.conf

2.重启rsyslog 服务

systemctl restart rsyslog

3.动态查看 debug文件

tail -f /var/log/messages-debug

4.在另一端发送debug命令

logger -p user.debug “Debug Messages Test”

5.返回查看

Journal
journalctl
会显示高亮,表示紧急或者bold text messages,信息错误和高会显示红色
选项:
-n 5 显示最后5行
-p 可以查找名字,关键字,可以显示错误 #journalctl -p error
-f 动态显示 #journalctl -f
–since 可以查看某天开始的信息

 journalctl --since today/tomorrow/yesterday #也可加入具体时间。

在这里插入图片描述
-o verbose 输出query
也可以通过其他选项去查询。

_COMM The name of the command
_EXE The path to the executable for t h e process
_PID The PID o f t h e process
_UID The UID of the user running the process
_SYST EMD_UNIT The system d u n it that started the process
在这里插入图片描述
测试实验:
Journalctl 文件放在/run/log/journalctl.配置文件在/etc/systemd/journald.conf。
如果/var/log/journal退出,将会由journal代替
1.创建目录

mkdir /var/log/journal

2.修改权限

chown root:systemd-journal	/var/log/journal
chmod 2755 /var/log/journal

3.重启的系统或者发送 特殊USR1的进程申请

killall -USR1 systemd-journald

4.journal -b 可以减少最后系统boot的日志信息

journalctl -b

创作不易,欢迎点赞或者关注收藏,你每一次的点赞和收藏都是作者的动力,内容如有问题请私信随时联系作者,谢谢!

rsyslog 服务启动失败并返回错误代码,通常与配置文件、权限问题或端口冲突有关。以下是可能的原因及解决方法: ### 配置文件错误 rsyslog 的主配置文件通常位于 `/etc/rsyslog.conf`,此外还可能加载 `/etc/rsyslog.d/` 目录下的模块化配置文件。若这些文件中存在语法错误或不兼容的配置项,会导致服务无法正常启动。可以使用以下命令检查配置文件语法: ```bash rsyslogd -N1 ``` 该命令会输出详细的配置解析结果,并提示是否存在语法或逻辑错误。 ### 权限和日志路径问题 rsyslog 需要访问特定的日志路径(如 `/var/log/`)以及系统设备文件(如 `/dev/log`)。如果相关目录或文件的权限被修改,可能导致服务启动失败。可以通过以下方式修复: - 确保 `/var/log` 和其子目录具有适当的读写权限。 - 检查 `/dev/log` 是否存在且为 `SOCK_DGRAM` 类型。如果没有,可尝试重启 `systemd-journald` 服务以恢复该设备文件: ```bash systemctl restart systemd-journald ``` ### 端口冲突 rsyslog 默认监听 TCP 和 UDP 的 514 端口。如果其他进程占用了这些端口,会导致 rsyslog 启动失败。可以使用以下命令查看端口占用情况: ```bash ss -tulnp | grep ':514' ``` 若发现冲突进程,可通过 `kill` 命令终止无关进程,或者修改 rsyslog 配置文件中定义的监听端口。 ### SELinux 或 AppArmor 限制 在某些 Linux 发行版中,SELinux 或 AppArmor 可能会对 rsyslog 的运行施加限制。可以通过临时禁用安全策略来测试是否是此类机制导致的问题: - 对于 SELinux: ```bash setenforce 0 ``` - 对于 AppArmor: ```bash systemctl stop apparmor ``` 完成测试后,建议重新启用安全策略并根据需要调整规则以允许 rsyslog 正常运行。 ### 日志文件损坏或索引问题 如果 rsyslog 使用了 `imjournal` 模块(用于从 journald 获取日志),而 journald 数据库损坏,也可能导致服务启动失败。可以通过删除 journald 缓存数据并重建数据库来尝试修复: ```bash rm -rf /run/log/journal/* systemctl restart systemd-journald ``` ### 其他排查手段 查看 rsyslog 服务的状态信息可以帮助定位具体问题: ```bash systemctl status rsyslog.service ``` 同时,也可以通过 journalctl 查看更详细的日志输出: ```bash journalctl -xe ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小Eason哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值