一、告警指标维度
云数据库 MongoDB 提供了三个维度的告警配置,分别是实例、副本集和节点,可分别对各维度的指标设置告警规则。其中:
·实例:实例维度针对整个 MongoDB 集群,监控整个集群的请求次数、磁盘、时延及连接数等。
·副本集:云数据库 MongoDB 每一个副本集都是一主多从的架构,而分片集群(Sharded Cluster)的每一个分片也是一个副本集结构,那么数据库文档都存储在副本集中。该维度针对存储文档的架构,监控其 Cache 脏数据、Cache 使用率、请求命中率、磁盘使用率、Oplog 的保存时长及其主从延迟等。
·节点(Mongod、Mongos):该维度针对数据库集群的所有节点,监控 Mongod 节点与 Mongos 节点的使用情况,包含:CPU、内存、磁盘、出入流量、读写请求数量、队列等待统计、连接数等。
二、告警指标
在配置告警之前,请先了解如下针对不同策略维度定义的监控指标,以及一些关键指标的告警配置建议。未给出配置建议的指标,请结合实际业务需求合理配置。
三、实例维度
| 监控指标名称 | 单位 | 指标说明 | 告警设置建议 |
| 写入请求次数 | 次 | 实例接收到写入请求的次数。 | – |
| 读取请求次数 | 次 | 实例接收到读请求的次数。 | – |
| 更新请求次数 | 次 | 实例接收到更新请求的次数。 | – |
| 删除请求次数 | 次 | 实例接收到删除请求的次数。 | – |
| count 请求次数 | 次 | 实例接收到总请求的次数。 | – |
| 聚合请求次数 | 次 | 实例接收到聚合请求的次数。 | – |
| 成功请求次数 | 次 | 实例接收的请求执行成功的次数。 | – |
| 磁盘使用率 | % | 指当前磁盘已被使用的空间占总空间的百分比。 | 统计周期1分钟,>=90%,指标异常持续3个数据点,每30分钟告警异常 |
| 单位时间延迟次数(在10ms – 50ms) | 次 | 执行时间在10毫秒和50毫秒之间的请求次数。 | – |
| 单位时间延迟次数(在50ms – 100ms) | 次 | 执行时间在50毫秒和100毫秒之间的请求次数。 | – |
| 单位时间延迟次数(100ms以上) | 次 | 执行时间在100毫秒以上的请求次数。 | 统计周期1分钟,>=100,指标异常持续3个数据点,每30分钟告警异常 |
| 连接使用率 | % | 当前集群的连接数量占最大连接数的百分比。 | 统计周期1分钟,>=90%,指标异常持续3个数据点,每30分钟告警异常 |
| 每秒钟请求次数 | 次 | 实例每秒收到的请求次数。 | – |
| command 请求次数 | 次 | 集群收到的 Command 请求的次数。Command 为除 insert、update、delete、query 以外命令的总称。 | – |
| 连接数 | 次 | 集群客户端的 TCP 的连接数量。 | – |
四、副本集维度
| 监控指标中文名称 | 单位 | 指标说明 | 告警设置建议 |
| Cache 脏数据百分比 | % | 缓存中脏数据的大小(字节)与最大缓存的百分比。 | 统计周期1分钟,>=20%,指标异常持续3个数据点,每30分钟告警异常 |
| Cache 使用百分比 | % | 缓存中实际占用的容量与配置的最大缓存之间的比例。 | – |
| 磁盘使用率 | % | 指当前磁盘已被使用的空间占总空间的百分比。 | 统计周期1分钟,>=90%,指标异常持续3个数据点,每30分钟告警异常 |
| cache 命中率 | % | 指从缓存中获取数据的请求数与总请求数之间的比例 | – |
| Oplog 保存时间 | 小时 | Oplog 用于记录数据库的操作日志,该指标统计其保存时长。 | – |
| 主从单位时间内平均延迟 | s | 副本集架构中,从节点定期轮询主节点的 oplog(操作日志)来复制 Primary 节点的数据,该指标统计主从同步数据的时延。 | 统计周期1分钟,>=1800,指标异常持续3个数据点,每30分钟告警异常 |
五、Mongod 节点
| 监控指标中文名称 | 单位 | 指标说明 | 告警设置建议 |
| CPU 使用率 | % | 指 CPU 正在执行进程所占用的时间占 CPU 总时间的百分比。 | 统计周期1分钟,>=80%,指标异常持续3个数据点,每30分钟告警异常 |
| 内存使用率 | % | 指当前内存中已被使用的空间占内存总容量的百分比。 | – |
| 网络入流量 | MB/s | 每秒节点入流量统计。 | – |
| 网络出流量 | MB/s | 每秒节点出流量统计。 | – |
| Read 请求等待队列中的个数 | 个 | 队列中 Read 请求的等待个数。 | 统计周期1分钟,>=40,指标异常持续3个数据点,每30分钟告警异常 |
| Write 请求等待队列中的个数 | 个 | 队列中 Write 请求的等待个数。 | 统计周期1分钟,>=40,指标异常持续3个数据点,每30分钟告警异常 |
| 连接数 | 个 | 连接客户端的数量。 | – |
| 节点磁盘用量 | MB | 节点磁盘已使用量。 | – |
| WT 引擎的 ActiveRead | 个 | 数据在内存中被读请求的个数。 | 统计周期1分钟,>=40,指标异常持续3个数据点,每30分钟告警异常 |
| WT 引擎的 ActiveWrite | 个 | 数据在内存中被写请求的个数。 | 统计周期1分钟,>=40,指标异常持续3个数据点,每30分钟告警异常 |
| TTL 删除的数据条数 | 个 | 在 TTL 过期后,数据库自动删除的数据条数。 | – |
| TTL 运转轮数 | 次 | 指在数据库中设置的 TTL 时间内,数据被检查的次数。 | – |
六、Mongos 节点
| 监控指标中文名称 | 单位 | 指标说明 | 告警设置建议 |
| CPU 使用率 | % | 指 CPU 正在执行进程所占用的时间占 CPU 总时间的百分比。 | 统计周期1分钟,>=80%,指标异常持续3个数据点,每30分钟告警异常 |
| 内存使用率 | % | 指当前 Mongos 节点的内存已被使用的空间占内存总容量的百分比。 | – |
| 网络入流量 | MB/s | 每秒节点入流量统计。 | – |
| 网络出流量 | MB/s | 每秒节点出流量统计。 | – |
七、计费说明
腾讯云可观测平台支持免费配置告警策略、监控实例关键指标。目前只针对告警短信、电话告警收费,具体信息,请参见 计费概述。
八、前提条件
·开通 腾讯云可观测平台(Tencent Cloud Observability Platform,TCOP)服务。
·数据库实例状态为运行中。
·已收集告警通知对象的信息,包括:邮件、短信、电话等。
九、操作步骤
1. 登录 MongoDB 控制台。
2. 在左侧导航栏 MongoDB 的下拉列表中,选择副本集实例或者分片实例。副本集实例与分片实例操作类似。
3. 在右侧实例列表页面上方,选择地域。
4. 在实例列表中,找到目标实例。
5. 在目标实例所在行,通过以下任一方式进入腾讯云可观测平台的新建告警策略页面。
·单击监控/状态列中的图标,在实例监控数据面板的右上角,单击配置告警。
·单击蓝色字体的实例 ID,进入实例详情页面,单击系统监控页签,在每一个监控指标视图卡片上,单击。
6. 在新建告警策略页面,请参见下表,配置告警策略。告警策略的基本概念,请参见 新建告警策略。
| 参数名称 | 参数解释 |
| 策略名称 | 给告警策略自定义名称,便于识别即可。 |
| 备注 | 简要描述告警策略,便于识别。 |
| 策略所属标签 | 给告警策略设置标签。 |
| 监控类型 | 请选择云产品监控。 |
| 策略类型 | 设置策略类型为云数据库 / MongoDB / 实例、云数据库 / MongoDB / Mongod 节点、云数据库 / MongoDB / Mongos 节点或云数据库 / MongoDB / 副本集。 |
| 策略所属项目 | 给告警策略指定项目,你可以在告警策略列表快速筛选该项目下的所有告警策略。 |
| 告警对象 | 选择指定实例:在请选择对象指定具体的数据库实例。选择实例分组:在请选择实例分组,指定数据库实例组。如何创建实例组,请参见 实例分组。选择全部对象:则该告警策略绑定当前账号拥有权限的全部实例。 |
| 触发条件 | 选择模板:在下拉列表选择模板文件,将根据模板文件预置的触发条件上报告警,具体配置,请参阅 配置触发条件模板 。手动配置:可以勾选使用预置触发条件,应用默认的告警策略;或者在下方指标告警区域,逐一配置每一条指标触发告警的阈值条件。指标告警区域的阈值类型:选择静态:人为设定恒定阈值,在达到触发条件后发送告警。选择动态:动态阈值基于机器学习算法算出的阈值边界来判断异常。更多信息,请参见 新建告警策略。 |
7. 单击下一步:配置告警通知,选择系统预设通知模板和用户自定义通知模板。具体操作,请参见 通知模板。
8. 确认配置无误,单击完成。更多告警介绍,请参见 告警简介。
十、相关 API
| API 接口名称 | 功能描述 |
| CreateAlarmPolicy | 创建腾讯云可观测平台告警策略 |