MongoDB 插件

MongoDB 是一种面向文档的开源 NoSQL 数据库系统。MongoDB 插件允许您监控在实例上运行的数据库。

发现

即使您没有配置 MongoDB 插件,Stackdriver Monitoring 也会通过以下方式发现在您的 Google Cloud Platform 项目中运行的 MongoDB 服务:

  • 搜索实例名称中是否包括 mongodb
  • 检查是否有通过防火墙规则开放至 270172701827019 的端口

这些发现的服务显示在资源菜单中的“MongoDB 服务”页面上。您在实例上安装 Monitoring 代理和 MongoDB 插件后,Monitoring 会使用服务清单和指标填充“MongoDB Services”页面。

配置 Monitoring 以监控 MongoDB

安装 Monitoring 代理后,在实例上配置 MongoDB 插件。

前提条件

对于具有访问角色的 MongoDB 数据库(配置为以“auth”模式运行),您必须在管理数据库上配置具有 clusterMonitor 角色的用户。在 mongodb.conf 文件中,此用户和密码被称为 STATS_USERSTATS_PASS

在“noauth”模式下,任何能够连接到 MongoDB 服务器的程序都可以在该服务器上运行任意查询和命令。因此,“noauth”模式通常被认为不太安全。当数据库以“noauth”模式运行时,您不需要在插件配置文件中指定任何凭据。

启用 MongoDB 监控插件

如果要监控多个 MongoDB 服务器(一个主服务器和一个或多个辅助服务器)组成的集群,则应将 Monitoring 代理安装在集群中的每个节点上。

  1. 在您的虚拟机实例上,从 GitHub 配置代码库下载 mongodb.conf,并将其放置在 /opt/stackdriver/collectd/etc/collectd.d/ 目录中:

    cd /opt/stackdriver/collectd/etc/collectd.d/ && sudo curl -O https://raw.githubusercontent.com/Stackdriver/stackdriver-agent-service-configs/master/etc/collectd.d/mongodb.conf
    
  2. 如需以“auth”模式运行MongoDB,请以 root 身份修改配置文件,并使用正确的用户名和密码替换 STATS_USERSTATS_PASS

  3. 根据需要进行其他配置更改,例如端口主机

  4. 完成后,重启监控代理:

    sudo service stackdriver-agent restart
    

    如需详细了解插件配置选项,请访问 collectd.org

监控的内容

MongoDB 插件监控以下指标:

  • 当前连接(个数):到 MongoDB 的活动连接数。
  • 全局锁定保持时间(毫秒):全局锁定持续了多长时间。
  • 映射内存(字节):MongoDB 使用的映射内存量。由于使用了内存映射文件,这大致相当于您的数据库的总大小。
  • 虚拟内存(字节):MongoDB 使用的虚拟内存量。如果虚拟内存大小大幅高于映射的内存大小(例如 3 倍或更多倍),则可能表示存在内存泄漏。
  • 常驻内存(字节):MongoDB 的常驻内存使用量。这是数据库以物理方式使用的 RAM 量。
  • 操作 [命令、删除、getmore、插入、查询、更新](次/秒):每秒执行 [命令、删除、getmore、插入、查询、更新] 操作的次数。
  • 数据库 [集合、索引、对象、范围] 计数(计数):数据库中当前 [集合、索引、对象、范围] 的数量。
  • 数据库数据大小(字节):数据库中当前数据的大小。
  • 数据库存储空间大小(字节):当前分配给数据库的存储空间大小。
  • 数据库索引大小(字节):数据库索引的大小。

如需了解详情,请参阅代理指标列表:MongoDB

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Stackdriver Monitoring
需要帮助?请访问我们的支持页面