首页主机资讯CentOS Syslog故障排查有哪些技巧

CentOS Syslog故障排查有哪些技巧

时间2025-11-20 13:54:03发布访客分类主机资讯浏览1495
导读:CentOS Syslog故障排查技巧 一 快速定位思路 明确范围:是本机日志缺失/错乱,还是远程转发失败,抑或日志文件过大/轮转异常。 先查服务与自启:确认 rsyslog 正在运行并已开机自启,状态异常时优先查看服务日志。 再查配置语...

CentOS Syslog故障排查技巧

一 快速定位思路

  • 明确范围:是本机日志缺失/错乱,还是远程转发失败,抑或日志文件过大/轮转异常
  • 先查服务与自启:确认 rsyslog 正在运行并已开机自启,状态异常时优先查看服务日志。
  • 再查配置语法与端口:核对 /etc/rsyslog.conf/etc/rsyslog.d/ 的规则语法、转发目标与协议端口。
  • 网络与安全策略:确认 514/UDP、514/TCP 放行,必要时排查 SELinux 与文件权限。
  • 最后看日志本身:用 journalctltail -f 观察 rsyslog 自身输出与目标日志是否产生。

二 服务与配置检查

  • 服务状态与自启
    • 检查与启动:sudo systemctl status rsyslog;sudo systemctl start rsyslog;sudo systemctl enable rsyslog
    • 查看 rsyslog 自身日志:sudo journalctl -u rsyslog -f
  • 配置文件语法与生效
    • 主配置与目录:/etc/rsyslog.conf、/etc/rsyslog.d/*.conf;修改后执行:sudo systemctl restart rsyslog
    • 常见转发写法:
      • UDP:. @remote_host:514
      • TCP:. @@remote_host:514
  • 端口与冲突
    • 检查是否被占用:ss -lunpt | grep 514 或 netstat -tulpen | grep 514
    • 若端口被占用,停用冲突进程或更换端口并同步两端配置
  • 常见配置陷阱
    • 日志级别/设施过滤过严导致“看不到日志”:如仅记录 *.info 但未排除 mail/cron/authpriv 等
    • 路径或权限错误:确保日志目录存在且 root:adm 权限正确,避免因权限导致写入失败。

三 远程日志排障

  • 服务端(接收端)必备
    • 启用模块与监听(UDP/TCP 按需):
      • module(load=“imudp”);input(type=“imudp” port=“514”)
      • module(load=“imtcp”);input(type=“imtcp” port=“514”)
    • 防火墙放行:firewall-cmd --permanent --add-port=514/{ udp,tcp} ;firewall-cmd --reload
  • 客户端(发送端)要点
    • 正确指向远程:. @server_ip:514(UDP)或 @@server_ip:514(TCP)
    • 确认路由与连通:ping、traceroute、nc -vz server_ip 514(UDP 可用 nc -u)
  • 双向验证
    • 服务端:tail -f /var/log/messages | grep syslog
    • 客户端:logger -p user.info “test remote syslog”
    • 若只发不收,多为服务端未监听、ACL/防火墙阻断或协议不匹配;若只收不发,多为客户端路由/防火墙或配置错误。

四 日志文件与轮转问题

  • 文件与权限
    • 常用日志路径:/var/log/messages、/var/log/secure、/var/log/audit/audit.log
    • 权限建议:/var/log/secure 等由 root:adm 拥有,权限 640
  • 轮转与大小
    • 检查 /etc/logrotate.conf 与 /etc/logrotate.d/*;确保保留周期与大小合理
    • 高频日志可配置速率限制(避免丢日志或阻塞):
      • $SystemLogRateLimitInterval 0
      • $SystemLogRateLimitBurst 0
  • 清理与保护
    • 清空大文件建议用重定向覆盖:> /var/log/btmp(保持 inode 稳定)
    • 防误删:chattr +a /var/log/关键日志
  • 监控与告警
    • 实时查看:tail -f /var/log/messages;journalctl -f
    • 生成日报:logwatch;集中分析:ELK/Graylog/Zabbix。

五 高频错误与修复对照表

症状 快速检查 修复建议
rsyslog 无法启动 systemctl status rsyslog;journalctl -xe;ss -lunpt 修正语法错误;释放 514 端口;必要时重装/启用服务
本机日志不写入 查看 /var/log/messages、/var/log/secure 权限与磁盘空间 修正 root:adm 权限;清理磁盘;确认 rsyslog 有写入权限
远程日志收不到 客户端 logger 测试;服务端抓 514 端口;查防火墙 服务端启用 imudp/imtcp;放行 514/UDP/TCP;核对 @ 与 @@ 协议
日志量突增被限流 检查 $SystemLogRateLimit* 配置 适当调大或设为 0(视磁盘与性能而定)
日志文件过大/轮转异常 du -sh /var/log/*;cat /etc/logrotate.conf 调整轮转周期与保留份数;必要时手动触发轮转
SELinux 拒绝 ausearch -m avc -ts recent;getenforce 临时 setenforce 0 验证;为 syslog 配置合适策略或恢复默认
容器/虚拟化环境无日志 容器内权限与 systemd 支持;挂载 /dev/log 使用特权容器或官方 rsyslog 镜像;挂载宿主机的 syslog 套接字

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS Syslog故障排查有哪些技巧
本文地址: https://pptw.com/jishu/752013.html
CentOS Syslog日志级别如何设置 appimage在centos上需要依赖吗

游客 回复需填写必要信息