1.环境

  1. 服务,暴露Prometheus指标
  2. Prometheus采集服务数据
  3. grafana使用Prometheus作为数据源

2.创建仪表盘

使用garafana仪表盘创建dashboard,这里可直接使用别人写好的

在这里插入图片描述
grafana常用dashboard

这里我使用的 springboot Apm ,直接填入id 12900即可

3. 创建告警规则

3.1 这里建议使用system_load_average_1m,此指标在宕机会消失,heap溢出会变成0

在这里插入图片描述

3.2 采集指标时间拉长,设置为range。然后重采样,设置数据fillna

在这里插入图片描述

在这里插入图片描述

然后把重采样结果取最后一组数据即可,判断最后一组数据是否为0即可。

3.原理

  1. grafana告警在采集数据时不会自动把没有的数据补0。如果直接使用last,服务器宕机时数据last永远是非0。
  2. 若采集时间段过短,这样服务器宕机后,采集时间段指标消失,图表为空,亦不能进行告警。
  3. 我们把数据时间拉长,这样服务器宕机后,采集时间段指标未消失。然后对数据进行重采集,把空时间补0,对最后一组数据进行分析,为0则表示宕机。
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐