使用 Prometheus 监控 TapData
本文介绍如何使用 Prometheus 采集 TapData 监控指标,并通过 Grafana 查看运行趋势、通过 Alertmanager 发送异常通知。您还可以根据需要监控 TapData 使用的 MongoDB 系统库。
从哪里开始
| 当前目标 | 建议阅读 |
|---|---|
| 首次接入,尚未安装 Prometheus、Grafana 或 Alertmanager | 部署 Prometheus 监控 |
| 已有 Prometheus、Grafana 或 Alertmanager,只需接入 TapData | 将 TapData 接入现有监控平台 |
| 已经能采集指标,但不清楚曲线含义和正常范围 | 指标说明与健康判定 |
| 需要导入 TapData、API Server 或 MongoDB 看板 | Grafana 看板使用指南 |
| 需要监控 TapData 使用的 MongoDB 系统库 | 配置 MongoDB 监控 |
| 需要配置分级告警、通知、巡检和故障处理流程 | 告警配置与监控巡检 |
如果已经完成部署但看板显示 No data,请直接阅读无数据排查。
推荐操作流程
首次接入时,建议按照以下顺序完成配置和验收:
- 启用并确认指标端点,只将实际返回 Prometheus 指标的端点加入采集配置。
- 部署本文示例中的监控服务,或将 TapData 接入现有监控平台。
- 确认当前环境实际提供的指标,再决定启用哪些任务、API Server 或 MongoDB 看板和告警。
- 下载并导入 Grafana 模板,先选择单个实例与实际页面核对数据。
- 安装告警规则、按业务 SLA 调整阈值,并测试通知链路。
- 按照巡检 SOP执行日常检查和故障升级。
常用术语
| 术语 | 本文中的含义 |
|---|---|
| Target(采集目标) | Prometheus 定时访问的一个指标地址。 |
| 指标地址(端点) | 通过 HTTP 返回监控数据的 URL,例如 Flow Engine 的 /actuator/prometheus。 |
| 抓取(scrape) | Prometheus 定时访问指标地址并保存数据的过程。 |
| 指标 | 可查询的运行数据,例如服务状态、CPU 使用率和任务延迟。 |
| 标签 | 用于筛选指标的附加信息,例如 project、instance 和 task_name。 |
| PromQL | Prometheus 的查询语言。本文标记为 promql 的查询可在 Prometheus 查询页执行。 |
| Exporter(采集器) | 将 MongoDB 等系统的状态转换为 Prometheus 指标的程序。 |
| No data | 当前查询没有找到匹配的数据,不等于指标值为 0。 |
| SLA | 业务约定的服务目标,例如任务允许的最大同步延迟。 |
能够监控什么
| 对象 | 主要信号 |
|---|---|
| Management | 服务存活、HTTP 请求、JVM、进程和主机资源 |
| Flow Engine | 服务存活、JVM、进程和主机资源 |
| TapData 任务 | 任务状态、数据源连接、CDC 延迟、节点处理耗时和启动里程碑 |
| Agent | Agent 存活、进程和主机资源 |
| API Server | HTTP 请求、Node.js、进程和日志指标 |
| MongoDB | 数据库连接、复制集、连接数、操作速率和 WiredTiger 缓存 |
检查监控是否可用
完成部署后,建议按照以下标准进行检查: