MongoDB集群与Datadog配置求助:集成及Agent配置指引需求
Datadog Agent 配置 MongoDB 监控全流程
一、核心逻辑梳理
Datadog Agent是运行在服务器/容器上的采集进程,负责从MongoDB拉取指标、日志后上传至Datadog平台。你之前点击的集成按钮仅完成了Datadog后台的MongoDB集成权限开通,真正的指标采集需要Agent与MongoDB的配置对接才能实现。
二、确定Agent部署位置
Agent必须部署在能直接访问MongoDB主节点的机器上:
- 若MongoDB为云托管(如Atlas),可将Agent部署在你的云服务器(EC2、ECS等),确保该机器能通过网络访问MongoDB默认端口27017
- 若为本地集群,可直接将Agent安装在MongoDB主节点所在服务器,或同局域网内能访问主节点的机器
三、安装Datadog Agent
- 登录Datadog后台,进入「Integrations」→「Agent」,选择对应服务器操作系统(Linux/Windows/macOS),复制安装命令
- 在目标机器执行命令,安装时需输入Datadog API密钥(后台「Organization Settings」→「API Keys」可获取)
四、配置MongoDB监控
1. 创建MongoDB专用监控账号
用MongoDB Compass连接主节点,执行以下命令创建具备读取权限的专用账号(避免使用管理员账号):
use admin db.createUser({ user: "datadog_monitor", pwd: "你的强密码", roles: [ { role: "read", db: "admin" }, { role: "clusterMonitor", db: "admin" }, { role: "read", db: "local" } ] })
clusterMonitor角色是获取集群级指标(如复制集状态、节点健康)的关键local库权限用于获取复制集日志及节点信息
2. 修改Agent的MongoDB配置文件
找到Agent配置目录:
- Linux:
/etc/datadog-agent/conf.d/mongo.d/ - Windows:
C:\Program Files\Datadog\Datadog Agent\conf.d\mongo.d\ - macOS:
/opt/datadog-agent/etc/conf.d/mongo.d/
复制目录内的mongo.d/conf.yaml.example为conf.yaml,编辑内容如下:
init_config: instances: - server: mongodb://datadog_monitor:你的密码@MongoDB主节点IP:27017/admin?authSource=admin additional_metrics: - collstats - dbstats - top - replication - indexes logs: - type: file path: /var/log/mongodb/mongod.log # 替换为你的MongoDB日志路径 source: mongodb service: mongodb
server字段替换为创建的账号连接字符串,注意修改IP与密码additional_metrics内的选项开启后,可采集集合统计、数据库统计、慢查询、复制状态、索引性能等细节指标- 若需收集日志,确保
logs路径正确,Agent需具备日志文件读取权限
3. 重启Agent并验证配置
- Linux:
sudo systemctl restart datadog-agent - Windows: 在系统服务中重启「Datadog Agent」
- macOS:
brew services restart datadog-agent
执行验证命令检查配置有效性:
datadog-agent status mongo
输出显示「Successfully connected to MongoDB」即为配置正常
五、查看Datadog平台指标
等待5-10分钟后,进入Datadog后台「Dashboards」→「MongoDB」,即可查看主节点的全量指标,包括:
- 节点CPU、内存使用率
- 数据库连接数
- 读写吞吐量
- 复制集同步延迟
- 索引命中率
- 慢查询统计
六、常见问题排查
- 网络连通性:在Agent机器上执行
telnet MongoDB主节点IP 27017测试端口是否开放 - 账号权限:用Compass测试
datadog_monitor账号能否正常登录并查看admin、local库 - Agent日志排查:Linux查看
/var/log/datadog/agent.log,里面会记录具体错误信息
内容的提问来源于stack exchange,提问作者Hamdi
相关产品推荐
相关产品推荐

