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

Kubernetes环境下Promtail采集本地syslog日志失败排查

排查Promtail采集syslog日志失败的步骤

1. 确认网络连通性

  • 在虚拟机上测试与K8s节点1514端口的UDP连通性(syslog默认使用UDP传输):
    nc -zvu <nodeip> 1514
    
    若不通,优先排查:
    • K8s节点安全组/防火墙是否放行1514 UDP端口
    • Promtail的Service是否正确暴露1514 UDP端口
    • Promtail Pod是否正常监听0.0.0.0:1514

2. 验证Promtail配置正确性

  • 进入Promtail Pod查看实际加载的配置文件:
    kubectl exec -it <promtail-pod-name> -- cat /etc/promtail/config.yaml
    
    重点检查:
    • extraScrapeConfigs中的syslog采集任务是否存在
    • YAML缩进是否合规(子节点需与同级节点缩进一致,比如syslog和relabel_configs要对齐,缩进错误会直接导致配置失效)
  • 查看Promtail启动日志,排查配置解析错误:
    kubectl logs <promtail-pod-name> | grep -i error
    

3. 确认rsyslog配置生效

  • 重启rsyslog服务让配置生效:
    systemctl restart rsyslog
    
  • 查看rsyslog自身日志,排查发送失败的报错:
    tail -f /var/log/rsyslog.log
    
    若出现connection refused或timeout,说明网络或接收端存在问题;若无报错,用tcpdump抓包验证是否有syslog数据包发出:
    tcpdump -i any udp port 1514
    

4. 检查Promtail的Service与端口映射

  • 确认Helm values中是否配置了UDP端口暴露,示例配置:
    service:
      ports:
        - name: syslog-udp
          port: 1514
          protocol: UDP
          targetPort: 1514
    
  • 查看Pod端口映射是否正确:
    kubectl describe pod <promtail-pod-name> | grep -A 5 Ports
    
    需确保存在1514/UDP的映射记录

5. 验证Loki接收与Grafana查询

  • 在Grafana的Explore页面,使用Loki数据源执行查询:
    {job="syslog"}
    
    若无结果,查看Loki Pod日志排查接收错误:
    kubectl logs <loki-pod-name> | grep -i syslog
    

6. 简化配置定位relabel规则问题

  • 暂时移除relabel_configs,只保留基础的syslog监听配置,重新部署Promtail后测试是否能采集到日志,再逐步添加relabel规则定位问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 04:09:28