You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS 7中syslog未写入/var/log/messages问题求助

问题排查与解决:CentOS7下logger命令无法将日志写入/var/log/messages

可能原因与分步排查

1. 先验证基础logger命令是否生效

跳过脚本,手动执行测试命令确认核心功能:

echo "Test Service Status Log" | /usr/bin/logger -t "ServiceStatus" -p user.error

随后检查日志:

grep "ServiceStatus" /var/log/messages
  • 若能找到测试日志:问题出在脚本的服务遍历逻辑,跳转至第3点排查。
  • 若找不到:问题在rsyslog配置或系统层面,跳转至第2点排查。

2. 检查rsyslog配置与运行状态

2.1 确认rsyslog服务正常运行

systemctl status rsyslog

确保服务处于active (running)状态,若未启动则执行:

systemctl start rsyslog
systemctl enable rsyslog

2.2 检查rsyslog日志路由规则

打开/etc/rsyslog.conf,确认是否存在包含user.error的路由配置:
CentOS7默认配置中,以下行会将所有*.info及更高级别日志(包含user.error)写入/var/log/messages:

*.info;mail.none;authpriv.none;cron.none                /var/log/messages

若该行被注释或修改,恢复默认后重启rsyslog:

systemctl restart rsyslog

2.3 排查SELinux拦截问题

CentOS7默认开启SELinux,可能阻止logger写入操作。临时关闭测试:

setenforce 0

重新执行测试命令,若日志正常生成,需调整SELinux策略:

# 允许syslogd接收logger写入的SELinux规则
semanage permissive -a syslogd_t

3. 排查脚本中的服务遍历逻辑

3.1 验证服务列表获取是否正确

在CentOS7上手动执行以下命令,确认输出为有效服务名:

systemctl list-unit-files --type=service --no-legend | awk '{print $1}'

若输出包含空行或异常字符,修改awk命令过滤有效服务:

services=$(systemctl list-unit-files --type=service --no-legend | awk '{if ($1 ~ /\.service$/) print $1}')

3.2 调试脚本循环逻辑

在脚本中添加控制台输出,确认变量取值:

#!/bin/bash

# Iterate through all systemctl services and check their status
services=$(systemctl list-unit-files --type=service --no-legend | awk '{if ($1 ~ /\.service$/) print $1}')

for service in $services
do
    status=$(systemctl is-active $service)
    # 控制台调试输出
    echo "Processing: $service -> $status"
    # Send logs to rsyslogd
    echo "$service: $status" | /usr/bin/logger -t "ServiceStatus" -p user.error
done

运行脚本后,查看控制台输出是否符合预期,同时再次检查/var/log/messages。

4. 确认Azure Monitor日志采集配置

若本地日志写入恢复正常但Azure Monitor仍无法推送,需确认:

  • Azure Monitor Agent已正确安装并运行在CentOS7节点
  • 日志采集规则已包含/var/log/messages或ServiceStatus标签的日志

内容的提问来源于stack exchange,提问作者GoneCase123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 18:43:24