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

如何使用Datadog Agent监控MongoDB Replica Set成员状态并实现变更告警

前置准备:配置Datadog MongoDB集成
  • 首先确保你已经在所有MongoDB副本集节点上安装了Datadog Agent,版本不低于7.30.0,更低版本对副本集状态采集的兼容性较差。
  • 给Datadog Agent创建MongoDB专用监控用户,权限至少包含clusterMonitor和readAnyDatabase角色,在Mongo shell中执行以下命令创建:
use admin
db.createUser({
  user: "datadog-monitor",
  pwd: "自定义安全密码",
  roles: [
    { role: "clusterMonitor", db: "admin" },
    { role: "readAnyDatabase", db: "admin" }
  ]
})
配置副本集状态采集规则
  • 找到Datadog Agent的MongoDB集成配置文件,默认路径为/etc/datadog-agent/conf.d/mongo.d/conf.yaml,在配置中增加以下字段开启副本集状态采集:
init_config:

instances:
  - hosts:
      - localhost:27017
    username: datadog-monitor
    password: 你设置的监控用户密码
    database: admin
    # 开启副本集状态采集核心开关
    replset_check: true
    # 给指标打副本集标签方便分组管理
    tags:
      - mongodb_replset: 你的副本集自定义名称
  • 保存配置后重启Datadog Agent,执行sudo systemctl restart datadog-agent,然后运行datadog-agent check mongo命令验证采集是否正常,正常输出中会出现mongodb.replset.member.state指标,该指标对应状态映射如下:
    • 0:Startup(节点启动中)
    • 1:Primary(主节点)
    • 2:Secondary(从节点)
    • 3:Recovering(节点恢复中)
    • 5:Startup2(节点初始化同步中)
    • 6:Unknown(节点状态未知)
    • 7:Arbiter(仲裁节点)
    • 8:Down(节点不可达)
    • 9:Rollback(节点回滚中)
    • 10:Removed(节点已被移出副本集)
配置状态变更告警
  • 进入Datadog控制台的Monitors页面,新建Metric类型告警
  • 监控指标选择mongodb.replset.member.state,聚合维度按host、mongodb_replset分组
  • 告警触发条件设置为:当指标值在1分钟内发生变化时触发告警,你也可以按需设置更精细的规则,比如检测到Primary节点状态从1变为非1时触发紧急告警
  • 告警通知内容建议增加{{host.name}}、{{mongodb_replset}}、{{state_value}}变量,方便直接定位发生变更的节点、所属副本集和最新状态

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 18:15:03