文档目的
为了实现在 私有部署 场景下,计算巢ISV服务接入prometheus云产品统一监控,prometheus侧需要ISV提供计算巢服务的相关信息,以便配置监控的指标采集、大盘模板、告警指标模板等。
注:当前阶段先实现prometheus配置的人工接入,后续流程和能力完善后,考虑ISV自助化接入。
读者对象
计算巢ISV的研发/运维人员。
ISV提供配置信息
ISV服务简述(强制要求)
一句话描述该ISV服务监控,以便prometheus控制台展示给最终用户。TiDB服务简述示例:
计算巢服务名:TiDB
计算巢服务英文名:TiDB
服务监控描述:全面监测TiDB的TiDBServer、TiKVServer和TiPDServer等指标。
请ISV将“服务监控简述”贴于此处。
prometheus exporter(建议提供)
ISV提供的服务有两类:
-
服务自身已经暴露prometheus metrics(如TiDB):ISV忽略此步骤要求。
-
需要独立的prometheus exporter来暴露metrics(如nebula):建议ISV提供或推荐开源exporter,以便prometheus部署该exporter来采集对应ISV服务的metric。如果ISV提供自研的exporter,则要求提供源码和使用说明文档,以便prometheus侧对其进行适配。
请ISV将“自研exporter源代码和使用说明”或“开源exporter链接”贴于此处。
指标采集配置(强制要求)
目前 私有部署 的ISV服务,prometheus侧都采集ECS标签方式来进行prometheus targets的过滤选择(每60秒刷新一次):
-
服务自身已经暴露metrics:prometheus原生支持ECS标签过滤(但只支持一个标签key/value)。
-
需要exporter暴露metrics:prometheus侧统一对exporter进行改造,使其支持ECS标签过滤。
故,先请ISV提供其服务的指标采集配置说明,然后prometheus侧研发人员对接确认,最终生成prometheus job配置模板。
请ISV将“指标采集配置”示例或描述 贴于此处。
grafana大盘模板(建议提供)
对于ISV提供的某个服务,如果ISV有成熟的 或 推荐的 grafana监控大盘,则请ISV提供给prometheus产品侧,以便我们直接使用/参考。
如果ISV没有提供grafana大盘,则prometheus侧参考该“ISV服务”的开源grafana大盘,定制对应的大盘。
请ISV将“grafana大盘”导出的json文件贴于此处(如果有多个大盘,则会有多个json文件)。
告警指标模板(强制要求)
请ISV提供对应计算巢服务的告警规则列表,采用标准prometheus alert格式。示例如下:
groups:
- name: test
rules:
- alert: 内存使用率过高
expr: 100-(node_memory_Buffers_bytes+node_memory_Cached_bytes+node_memory_MemFree_bytes)/node_memory_MemTotal_bytes*100 > 90
for: 30s # 告警持续时间,超过这个时间才会发送给alertmanager
labels:
severity: warning
annotations:
summary: "Instance {{ $labels.instance }} 内存使用率过高"
description: "{{ $labels.instance }} of job {{$labels.job}}内存使用率超过80%,当前使用率[{{ $value }}]."
- alert: cpu使用率过高
expr: 100-avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by(instance)*100 > 90
for: 30s
labels:
severity: warning
annotations:
summary: "Instance {{ $labels.instance }} cpu使用率过高"
description: "{{ $labels.instance }} of job {{$labels.job}}cpu使用率超过80%,当前使用率[{{ $value }}]."
请ISV将“prometheus告警规则”yaml文件贴于此处(可以多个文件)。
指标列表(建议提供)
请ISV提供对应计算巢服务的prometheus指标列表,格式采集标准prometheus指标规范。示例如下:
# HELP pd_server_info Indicate the pd server info, and the value is the start timestamp (s).
# TYPE pd_server_info gauge
如果ISV服务未提供该指标列表,则prometheus侧将根据实际metric采集的HELP和TYPE来生成指标列表,并会在prometheus控制台界面展示给用户。
请ISV将“prometheus指标HELP和TYPE”的文件贴于此处(可以多个文件)。
特殊要求说明(可选提供)
请ISV将“prometheus监控特殊要求”贴于此处。