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

Docker化部署的Zabbix监控同环境Docker化PostgreSQL的实现方法咨询

Docker部署场景下Zabbix监控PostgreSQL配置方案

一、前置网络连通性配置

因为Zabbix和PostgreSQL是独立部署的Docker容器,首先要确保二者网络可互通:

  • 查看现有Docker网络列表:docker network ls
  • 若两个容器不在同一网桥,执行命令将二者加入同一个通用网桥:
    docker network connect <通用网桥名称> <PostgreSQL容器名>
    docker network connect <通用网桥名称> <Zabbix Server/Agent2容器名>
    
  • 连通性校验:进入Zabbix容器执行ping <PostgreSQL容器名>,确认网络可达,同时确认PostgreSQL默认端口5432对Zabbix容器没有拦截策略。

二、PostgreSQL端权限配置

需要为Zabbix创建专用的监控账号并分配最小必要权限:

  • 进入PostgreSQL容器:docker exec -it <PostgreSQL容器名> bash
  • 登录PostgreSQL命令行:psql -U <你的PostgreSQL管理员账号,默认postgres>
  • 执行以下SQL创建监控用户并授权:
    CREATE USER zbx_monitor WITH PASSWORD '自定义的安全监控密码';
    GRANT pg_monitor TO zbx_monitor;
    -- 如需监控细粒度表、索引指标,可根据需求额外授予对应权限
    
  • 修改PostgreSQL配置文件pg_hba.conf,添加规则允许Zabbix容器访问:
    host    all             zbx_monitor     <Zabbix容器IP段/子网掩码>      scram-sha-256
    
    不知道Zabbix容器IP的话可执行docker inspect <Zabbix容器名> | grep IPAddress查询,测试环境可临时填0.0.0.0/0,生产环境不建议使用。
  • 重启PostgreSQL容器使配置生效:docker restart <PostgreSQL容器名>

三、Zabbix端监控配置

推荐使用官方模板方案,配置成本低、覆盖指标全:

  • 官方Zabbix Agent2 Docker镜像默认已集成PostgreSQL监控插件,无需额外安装依赖。
  • 登录Zabbix Web前端,依次进入「配置」-「主机」,点击「创建主机」:
    • 基础配置页:填写PostgreSQL服务标识作为主机名,选择「Database」类群组,接口选「Agent」,填写PostgreSQL容器的IP/容器名、默认端口10050。
    • 模板配置页:搜索并关联官方模板PostgreSQL by Zabbix agent 2。
    • 宏配置页:添加以下必填宏参数:
      • {$PG.USER}:值填zbx_monitor
      • {$PG.PASSWORD}:值填刚才设置的监控用户密码
      • {$PG.DBNAME}:值填要监控的库名,默认填postgres即可
      • {$PG.PORT}:值填PostgreSQL服务端口,默认5432
  • 点击「添加」保存主机配置。

四、监控有效性验证

  • 配置完成5-10分钟后查看主机列表,对应PostgreSQL主机的可用性标识变为绿色即为正常。
  • 进入「监测」-「最新数据」,筛选对应主机可看到所有PostgreSQL相关的指标数据。
  • 可手动停止PostgreSQL容器测试告警触发逻辑是否正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 16:45:03