在Zabbix中配置监控MongoDB容器时,如果遇到Unknown metric mongodb.server.status这样的错误,通常意味着Zabbix Agent尝试从MongoDB获取某个预定义的性能指标(例如mongodb.server.status),但是未能成功识别或解析该指标。

要解决这个问题,请按照以下步骤进行排查:

  1. 检查模板和item键

    • 确认您使用的Zabbix模板包含了正确监测MongoDB的item keys。对于MongoDB的监控,可能需要使用自定义的用户参数或者专门针对MongoDB设计的模板。
    • 核实item key mongodb.server.status是否与当前MongoDB版本兼容,并且是Zabbix支持的监控项。
  2. 确认Zabbix Agent配置

    • 确保Zabbix Agent能够在容器内部执行必要的命令或脚本来收集MongoDB状态数据。
    • 如果使用的是Zabbix Agent 2并且有内建的MongoDB支持,确保Agent能够访问到MongoDB服务器并具有正确的认证信息。
  3. 验证MongoDB连接

    • 检查Zabbix Agent是否有权限通过网络或Unix套接字连接到MongoDB实例。
    • 确定使用的URL、端口、用户名、密码以及数据库名称等信息都是正确的。
  4. 使用正确的方法收集数据

    • 对于MongoDB监控,有时可能需要直接调用MongoDB的命令行工具(如mongo)或通过MongoDB的Status API来获取serverStatus信息。
    • 在Zabbix Agent上安装并配置相应的外部脚本,这些脚本可以处理与MongoDB通信的任务,并将结果转化为Zabbix能理解的格式。
  5. 更新或创建新的监控项

    • 如果使用的模板不包含或不支持所需的关键指标,您可能需要手动添加或修改监控项以正确获取serverStatus或其他所需的MongoDB性能指标。
  6. 查阅官方文档

    • 查阅最新的Zabbix文档,了解其对MongoDB监控的支持情况和最佳实践。

总之,解决这类问题需要确保模板、agent配置、MongoDB连接设置都无误,并且能够准确地抓取和报告所需的数据给Zabbix Server。如果使用了第三方插件或脚本,请参照其特定的说明文档来调试和配置。

Zabbix监控容器MongoDB,报错:Unknown metric mongodb.server.status-LMLPHP

03-06 18:05