Prometheus 介绍
用户可以将 Flink 内置的 各项指标,连同自己定义的业务指标,统一通过 Prometheus Pushgateway 的方式,推送到自建或者腾讯云 Prometheus 服务端,随后即可对 Grafana 面板进行分组、聚合和数据展示。
流计算 Oceanus 建议用户使用腾讯云监控提供的 Prometheus 服务,以免去部署、运维开销;同时它还支持腾讯云的 通知模板,可以通过短信、电话、邮件、企业微信机器人等方式,将告警信息轻松触达不同的接收方。
Oceanus Grafana 面板导入方法
1. 下载 Oceanus Grafana Dashboard 模板并解压到本地。点此下载 Dashboard。
2. 在 Prometheus 的 Grafana 面板上,鼠标移动到左边栏,选择![](https://qcloudimg.tencent-cloud.cn/image/document/1f9da1c52741c16cfc208b9f7a2ab621.png)
> Manage。
![](https://qcloudimg.tencent-cloud.cn/image/document/daf583f1e82302943d9049e75b20dfe1.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/1f9da1c52741c16cfc208b9f7a2ab621.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/daf583f1e82302943d9049e75b20dfe1.png)
3. 创建一个名为 Oceanus 新文件夹。
![](https://qcloudimg.tencent-cloud.cn/image/document/5ab2a8f27e1428a86ec66da5b483d659.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/950e7d39db6fcad6b3253393d5d3f30d.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/5ab2a8f27e1428a86ec66da5b483d659.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/950e7d39db6fcad6b3253393d5d3f30d.png)
4. 再次进入 Dashboard 管理页面,单击右上角的 Import,逐个将解压后的 json 文件内容粘贴进来。
注意
请按照下文指引,逐一导入每个 JSON 文件。
不要修改面板的 UID(即不要单击 Change uid),以免面板之间的跳转链接失效。
![](https://qcloudimg.tencent-cloud.cn/image/document/382d5d82585bf0fe17a4f477eb8bb6e2.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/8377c87c4f24de9a5b3b38bbc87c62a7.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/807715df520444b5ea597662685bae6c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/382d5d82585bf0fe17a4f477eb8bb6e2.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/8377c87c4f24de9a5b3b38bbc87c62a7.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/807715df520444b5ea597662685bae6c.png)
5. 导入完毕后,检查 Oceanus 目录是否包含了如下面板:
![](https://qcloudimg.tencent-cloud.cn/image/document/f8103323b099f7508dee779780a4a8ee.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/f8103323b099f7508dee779780a4a8ee.png)
作业启用 Prometheus 监控指标上报
注意
每个作业需要单独配置 Prometheus 上报。
修改每个作业的配置后,必须单击发布运行,待作业重启后才会正式上报监控数据。
1. 在 流计算 Oceanus 控制台,单击需要添加监控的作业,进入开发调试面板,在草稿版本下进行操作。
![](https://qcloudimg.tencent-cloud.cn/image/document/dd1d1417770baa9e2116f3b25c4f7ae0.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/dd1d1417770baa9e2116f3b25c4f7ae0.png)
2. 单击作业参数,在高级参数中新增以下内容:
注意
${ } 的变量需替换为实际值。
metrics.reporters: promgatewaymetrics.reporter.promgateway.host: ${Prometheus PushGateway 的 IP 地址}metrics.reporter.promgateway.port: ${Prometheus PushGateway 的端口}
如果使用腾讯云监控的 Prometheus 服务,还需要额外配置鉴权信息(Password 即控制台看到的 Token):
metrics.reporter.promgateway.needBasicAuth: truemetrics.reporter.promgateway.password: ${Prometheus 访问密码}
示例图:
![](https://qcloudimg.tencent-cloud.cn/image/document/095830533f9ecee006e75a82ee217273.png)
3. 以新的配置发布并启动作业,稍等1分钟(上报周期),随后即可查看面板上的数据。
![](https://qcloudimg.tencent-cloud.cn/image/document/e7a708a22af56cd6228addf9f96ac78d.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/e7a708a22af56cd6228addf9f96ac78d.png)
4. 还可以编辑 Prometheus 面板,以满足个性化的监控需求。
![](https://qcloudimg.tencent-cloud.cn/image/document/37be29178351755439fa4168c067d97a.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/37be29178351755439fa4168c067d97a.png)
告警配置
1. 在 Dashboard 选择需要配置告警的指标项,例如 ![](https://qcloudimg.tencent-cloud.cn/image/document/dde8ed1466f6c3ee63a1ec5ae9ff59c7.png)
Checkpoint 失败数
。
![](https://qcloudimg.tencent-cloud.cn/image/document/dde8ed1466f6c3ee63a1ec5ae9ff59c7.png)
2. 进入编辑界面,查看告警指标的查询条件。
![](https://qcloudimg.tencent-cloud.cn/image/document/4d3122197ca188cb01b7bda4838d2526.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/0f4d2a05bac33a8d7435c616a3cb34de.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/4d3122197ca188cb01b7bda4838d2526.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/0f4d2a05bac33a8d7435c616a3cb34de.png)
3. 进入 Prometheus 的告警配置界面,新增一条规则。
注意
在规则 PromQL 中,{ } 中不要包含上图中的 Grafana 变量,例如
instance_id="$InstanceId"
等。如果需要按条件筛选,请在 { } 中填入具体值,例如 instance_id="cql-abcd0012"
。数据源中的标签(例如 job_id),可以在告警对象和告警消息中引用,例如
{{ $labels.job_id }}
,而查询语句的值可以用 {{ $value }}
表示。![](https://qcloudimg.tencent-cloud.cn/image/document/c10f920fff1f8e5e54984c4234c25a53.png)
4. 当告警触发、恢复时,配置的告警渠道就会收到通知。此外,通知模板 中还支持短信、电话、邮件等其他告警渠道。
注意
这里演示企业微信回调推送到群机器人(Bot)。
![](https://qcloudimg.tencent-cloud.cn/image/document/fa991b87a8d31e8907a6da44324cdbea.png)