排除 SNMP 故障
注意
企业版功能(已弃用)
从 MongoDB 6.0开始, SNMP 已弃用,并将在下一版本中删除。 要监控部署,请使用 MongoDB Ops Manager 。
SNMP 仅适用于 MongoDB Enterprise。
由于 SERVER-29352 ,macOS 上的 MongoDB Enterprise 不 支持 SNMP。
Overview
MongoDB Enterprise 可以通过 SNMP 提供数据库指标,支持集中式数据collection和聚合。本文档介绍了在使用 SNMP 部署 MongoDB Enterprise 时可能遇到的常见问题,以及这些问题的可能解决方案。
有关完整的安装说明,请参阅 在 上使用MongoDB SNMP 监控 和使用Linux MongoDBWindowsSNMP 上 的 MongoDB。
问题
全局初始化失败
如果在尝试使用 SNMP 进行监控时收到以下错误消息:
<Timestamp> F CONTROL [main] Failed global initialization: Bad Value: snmp.subagent is not allowed when snmp.disabled is specified
确保您没有将 disabled SNMP access
更改为mongod
。
默认情况下,启用对mongod
实例的 SNMP 访问。 从 MongoDB 4.0.6 开始, 您可以使用命令行选项--snmp-disabled
或配置文件选项snmp.disabled
来禁用 SNMP 访问。
连接失败
mongod
日志文件中有以下内容:
Warning: Failed to connect to the agentx master agent
AgentX 是 Internet RFC 中定义的2741 SNMP代理扩展性协议 。它解释了如何定义要通过 SNMP监控的其他数据。 当MongoDB无法连接到 Agentx 主代理时,请使用以下步骤确保 SNMP 子代理可以正确连接到 SNMP 主代理。
确保主代理正在运行。
将 SNMP 主节点的配置文件与子代理配置文件进行比较。 确保两者之间的agentx套接字定义相同。
检查 SNMP 配置文件,查看它们是否指定使用 UNIX 域套接字。 如果是这样,请确认
mongod
具有打开 UNIX 域套接字的适当权限。
解析命令行时出错
命令行出现以下错误之一:
Error parsing command line: unknown option snmp-master try 'mongod --help' for more information
Error parsing command line: unknown option snmp-subagent try 'mongod --help' for more information
不属于 Enterprise 版的mongod
二进制文件会产生此错误。 安装 Enterprise 版并尝试再次启动mongod
。
如果您尝试使用mongos
snmp-master
或 来启动其他snmp-subagent
MongoDB 二进制文件(包括 ,则会产生此错误。只有mongod
支持 SNMP。
由于 SERVER-29352 ,macOS 上的 MongoDB Enterprise 不 支持 SNMP。
启动时出错 SNMPAgent
日志文件中的以下行指示mongod
无法读取mongod.conf
文件:
[SNMPAgent] warning: error starting SNMPAgent as master err:1
如果在 Linux 上运行,请确保mongod.conf
存在于/etc/snmp
目录中,并确保mongod
UNIX 用户有权读取mongod.conf
文件。
如果在 Windows 上运行,请确保mongod.conf
存在于C:\snmp\etc\config
中。