Prometheus 介绍
用户可以将 Flink 内置的 各项指标,连同自己定义的业务指标,统一通过 Prometheus Pushgateway 的方式,推送到自建或者腾讯云 Prometheus 服务端,随后即可对 Grafana 面板进行分组、聚合和数据展示。
流计算 Oceanus 建议用户使用腾讯云监控提供的 Prometheus 服务,以免去部署、运维开销;同时它还支持腾讯云的 通知模板,可以通过短信、电话、邮件、企业微信机器人等方式,将告警信息轻松触达不同的接收方。
Oceanus Grafana 面板导入方法
1. 下载 Oceanus Grafana Dashboard 模板并解压到本地。点此下载 Dashboard。
2. 在 Prometheus 的 Grafana 面板上,鼠标移动到左边栏,选择
> Manage。



3. 创建一个名为 Oceanus 新文件夹。




4. 再次进入 Dashboard 管理页面,单击右上角的 Import,逐个将解压后的 json 文件内容粘贴进来。
注意
请按照下文指引,逐一导入每个 JSON 文件。
不要修改面板的 UID(即不要单击 Change uid),以免面板之间的跳转链接失效。






5. 导入完毕后,检查 Oceanus 目录是否包含了如下面板:


作业启用 Prometheus 监控指标上报
注意
每个作业需要单独配置 Prometheus 上报。
修改每个作业的配置后,必须单击发布运行,待作业重启后才会正式上报监控数据。
1. 在 流计算 Oceanus 控制台,单击需要添加监控的作业,进入开发调试面板,在草稿版本下进行操作。


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 访问密码}
示例图:

3. 以新的配置发布并启动作业,稍等1分钟(上报周期),随后即可查看面板上的数据。


4. 还可以编辑 Prometheus 面板,以满足个性化的监控需求。


告警配置
1. 在 Dashboard 选择需要配置告警的指标项,例如 
Checkpoint 失败数
。

2. 进入编辑界面,查看告警指标的查询条件。




3. 进入 Prometheus 的告警配置界面,新增一条规则。
注意
在规则 PromQL 中,{ } 中不要包含上图中的 Grafana 变量,例如
instance_id="$InstanceId"
等。如果需要按条件筛选,请在 { } 中填入具体值,例如 instance_id="cql-abcd0012"
。数据源中的标签(例如 job_id),可以在告警对象和告警消息中引用,例如
{{ $labels.job_id }}
,而查询语句的值可以用 {{ $value }}
表示。
4. 当告警触发、恢复时,配置的告警渠道就会收到通知。此外,通知模板 中还支持短信、电话、邮件等其他告警渠道。
注意
这里演示企业微信回调推送到群机器人(Bot)。
