centos syslog故障排查方法
导读:CentOS Syslog 故障排查方法 一 快速定位流程 确认服务状态与自启:使用命令查看 rsyslog 是否运行并设置为开机自启,必要时启动或重启服务。示例:sudo systemctl status rsyslog、sudo sy...
CentOS Syslog 故障排查方法
一 快速定位流程
- 确认服务状态与自启:使用命令查看 rsyslog 是否运行并设置为开机自启,必要时启动或重启服务。示例:
sudo systemctl status rsyslog、sudo systemctl start rsyslog、sudo systemctl enable rsyslog。若系统使用 syslog-ng,则检查sudo systemctl status syslog-ng。 - 查看服务日志:通过
sudo journalctl -u rsyslog -f实时观察 rsyslog 自身的启动与运行报错,优先从这里的报错入手。 - 检查系统日志是否产生:确认系统日志仍在写入,例如
tail -f /var/log/messages或tail -f /var/log/syslog,以判断是“服务异常”还是“日志未正确写入目标”。
二 常见故障与修复
- 配置文件语法或模块冲突:编辑 /etc/rsyslog.conf 或 /etc/rsyslog.d/*.conf 时,避免重复或冲突的模块与输入配置(例如同时启用
imjournal又错误地再加载本地 socket 输入,或重复定义 input)。修改后执行sudo systemctl restart rsyslog验证。 - 端口冲突:默认 UDP/TCP 514 被占用会导致监听失败。使用
sudo ss -lunpt | grep 514或sudo netstat -tulpen | grep 514排查占用进程,释放或调整端口后重启服务。 - 权限与目录:确保日志目录(如 /var/log/)及文件对 root:adm 具备正确权限,必要时执行
sudo chown root:adm /var/log/your.log、sudo chmod 640 /var/log/your.log。 - 资源与磁盘:检查磁盘空间
df -h、inodedf -i与内存使用,避免因 磁盘满/内存不足 导致服务异常或日志写入失败。 - 服务未启用或异常退出:若服务未开机自启或被异常停止,执行
sudo systemctl enable --now rsyslog;若频繁重启,查看journalctl -xeu rsyslog的“start request repeated too quickly”等提示并修复根因。
三 远程日志收发排查
- 服务端监听配置:在接收端启用模块与端口,例如在 /etc/rsyslog.conf 或 /etc/rsyslog.d/ 下加入并启用:
- UDP:
module(load="imudp")、input(type="imudp" port="514") - TCP:
module(load="imtcp")、input(type="imtcp" port="514")
修改后sudo systemctl restart rsyslog。
- UDP:
- 客户端发送配置:在发送端将需要的日志转发到远程服务器,例如:
*.* @remote_host:514(UDP)。如需 TCP,使用@@remote_host:514。 - 防火墙放行:在接收端放行 514/udp(或 514/tcp)。示例:
sudo firewall-cmd --permanent --add-port=514/udp & & sudo firewall-cmd --reload;部分系统也可使用sudo firewall-cmd --permanent --add-service=syslog & & sudo firewall-cmd --reload。 - 连通性与抓包验证:先
ping remote_host检查网络,再用sudo tcpdump -ni any port 514在服务端抓包确认是否收到日志报文,配合tail -f /var/log/messages观察是否落地。
四 日志与审计增强建议
- 实时监控与告警:使用
tail -f /var/log/messages、journalctl -f实时查看;结合grep "ERROR"或awk做关键字筛选;部署 logwatch 做日报/周报;必要时接入 ELK Stack、Prometheus+Grafana、Zabbix 做可视化与告警。 - 审计与合规:在 rsyslog 中按设施/级别分流到专用文件,例如仅记录错误与认证相关:
*.err; auth,authpriv.* /var/log/error.log;定期备份关键日志并纳入审计流程。 - 安全策略:启用 SELinux 并保留默认策略;若需排查策略阻断,可临时
sudo setenforce 0验证,再用sudo ausearch -m avc -ts recent查看拒绝事件并精细化放行。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos syslog故障排查方法
本文地址: https://pptw.com/jishu/767686.html
