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

问题:PostgreSQL Docker容器日志未显示在New Relic仪表板

排查PostgreSQL Docker日志未同步到New Relic的问题

1. 验证New Relic Infrastructure代理的Docker采集配置

  • 检查主机上的newrelic-infra.yml配置文件,确认Docker日志采集已开启:
    logs:
      enabled: true
      docker:
        enabled: true
    
  • 确保代理进程有权限访问Docker资源:
    # 将newrelic-infra用户加入docker组
    usermod -aG docker newrelic-infra
    # 重启代理生效
    systemctl restart newrelic-infra
    

2. 检查容器日志的可访问性

  • 如果是通过主机挂载路径采集日志,确认代理能读取该路径:
    # 示例:假设容器日志挂载到主机/var/log/postgresql
    # 检查路径权限
    ls -ld /var/log/postgresql
    # 用代理用户尝试读取日志
    sudo -u newrelic-infra cat /var/log/postgresql/postgresql.log
    
  • 如果依赖Docker日志驱动,运行docker inspect <postgres-container-id>查看LogConfig字段,确保使用的是json-file这类New Relic支持的驱动。

3. 核对日志转发规则配置

  • 检查/etc/newrelic-infra/logging.d/下的规则文件(比如postgres.yml),确保匹配规则正确:
    logs:
      - name: postgresql
        # 按文件路径匹配
        file: /var/log/postgresql/*.log
        # 或按容器标签匹配
        docker_container:
          label:
            com.docker.compose.service: postgres
        attributes:
          logtype: postgresql
    
  • 重启代理后查看运行日志,排查配置错误:
    systemctl restart newrelic-infra
    tail -f /var/log/newrelic-infra/newrelic-infra.log
    
    重点关注权限不足、路径不存在、规则语法错误类的提示。

4. 确认New Relic端的搜索范围

  • 在New Relic日志界面,调整时间范围至日志生成的时段,避免因时间过滤导致日志不显示。
  • 使用logtype: postgresql或source: postgresql作为过滤条件,精准定位目标日志。

5. 检查PostgreSQL日志格式

  • 确认postgresql.conf中的日志配置为纯文本格式,避免自定义格式导致代理解析失败:
    log_destination = 'stderr'
    logging_collector = on
    log_line_prefix = '%t [%p] %q%u@%d %l: '
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 15:07:15