高级监控报警能够为阿里云Elasticsearch实例设置更细粒度的指标报警规则。例如某个分片的QPS达到某个量级,就会触发报警,并且第一时间通知您。通过报警规则配置,您可以设置多维度的监控指标和tags,帮助您快速定位Elasticsearch的性能问题,提高运维排查效率。本文为您介绍如何配置报警规则,并提供详细的参数说明。

准备工作

创建报警规则

规则类型

选择报警组类型

报警规则类型固定为指标报警,表示对指定指标(metric)设置报警阈值。

基本信息

填写报警规则基本信息
参数 说明
规则名称 无限制,支持中英文任何字符。
描述备注 长度为0~100个字符,请填入规则的简单描述,便于快速排查定位。

指标预览

定义了报警指标及tags后,系统会自动生成指标预览图。默认情况下,组成指标预览图中的每个点的间隔是1分钟。指标预览
说明
  • 由于指标预览图默认采样周期为1分钟,而底层默认采样周期为5s,因此系统会通过采样聚合算法,将1分钟内多个数据点聚合成一个点。
  • 由于索引中包含多个shard,而每个shard会产生一条曲线,因此系统会通过指标聚合算法,将多个曲线合成一条曲线,形成索引的监控曲线图。

指标

  • 单指标单指标

    指标列表中,选择报警指标。或在输入框中输入指标前缀,例如输入elasticsearch-server.bulk,系统将匹配以此前缀开头的所有指标供您选择。指标说明请参见指标

  • 多指标多指标
    单击增加指标,可添加多个指标。添加后,系统会根据多指标运算结果,判断是否触发报警。
    • 每个指标都会对应一个标签名,例如上图中的指标a、指标b。
    • 必须添加同一类型的指标,例如添加多个QPS监控类指标。
    • expression:多指标间的计算表达式,运算符支持+、-、*、/、&&、||、>、<,默认为+。例如上图中生成的指标图为:在各个时刻,指标a的值与指标b的值进行求和,其结果随时间变化的曲线图。

      例如expression(a>1200) && (b<1500) && (c<1),表示系统将绘制这个表达式在各个时刻的计算结果。由于该表达式为布尔表达式,因此这个表达式的指标预览图中曲线的取值是0或1。

tags(可选)

定义指标属性标签,即进一步对指标进行过滤。取值是一组键值对。tags配置
  • 属性说明

    根据下表说明,填写需要进行指标数据采集的属性值。

    参数 说明
    instanceId 实例ID。
    shard_id 分片ID。
    ip 集群中节点的IP地址。
    index 索引的名称。
    primary 分片的属性,取值如下:
    • true:主分片
    • false:副本分片
    • 空:主分片和副本分片
  • 高级配置
    参数 说明
    指标聚合 如果tags中存在多个取值,系统将生成多条曲线。指标聚合用来定义多个曲线合成一条曲线的算法。支持算法:sum()、avg()、max()、min()、count()。
    采样聚合 由于指标预览图默认采样周期为1分钟,而底层默认采样周期为5s,因此系统会通过指标聚合算法,将1分钟内多个数据点聚合成一个点。支持算法:sum()、avg()、max()、min()。
  • tags语法
    tags支持根据多个属性值进行过滤。例如同时对a集群和b集群的查询QPS进行监控报警,则instanceId设置为literal_or(a|b),详细语法如下。
    名称 说明 示例
    literal_or 过滤出满足一个或多个属性值的数据。 host=literal_or(web01|web02|web03):过滤出host为web01、web02或web03的数据。
    not_literal_or 过滤出不包含一个或多个属性值的数据。 host=not_literal_or(web01|web02|web03):过滤出host不为web01、web02或web03的数据。
    wildcard 过滤出满足通配符的属性值的数据。 host=wildcard(web*):过滤出host以web开头的数据。

触发条件

定义报警条件。即当监控指标项满足您定义的报警触发条件后,系统将通知您。触发条件
参数 说明
阈值报警 当监控指标不在您定义的报警阈值范围中时,系统会触发对应的WARNINGCRITICAL报警。
波动报警 波动报警支持对波动变化率或变化值进行监控。例如当前指标的值为a,某个指定时间点前的指标的值为b,系统会计算差值(a-b)或者变化率(a-b)/b,并与设定的阈值进行比较,如果符合条件,则触发报警。
高级配置
  • 多条件判断关系:可选值为ANDOR。当您添加了多个触发条件时,设置为AND表示指标必须同时满足这些条件,才会触发报警;设置为OR,表示只要满足一个条件,就会报警。
  • 连续触发几次:连续触发几次报警后,通知报警人。默认为1,您可以按需修改。

无数据校验(可选)

当指标数据为空时,是否触发报警,默认为忽略。如果指定为CRITICAL报警,当连续一段时间(默认1分钟)没有监控到数据时,系统将进行无数据报警。无数据校验
说明 建议您选择忽略。如果遇到监控自身原因,导致采集的数据为空,也会触发报警。

规则触发后动作

规则触发后动作
参数 说明
生效时段 接收报警消息通知的时间段。默认每天24小时都接收通知,每隔5分钟发送一次。
通知人 发生报警时,需要通知的对象。支持选择联系人和联系组,如果选择联系组,系统会为该组中的所有成员发送消息。
通知方式 报警通知的方式。您可以为不同等级的报警指定不同的通知方式。
说明 完成配置后,您可以单击校验,校验通知人是否已配置对应的联系方式。校验结果对创建规则无影响。

常见问题

Grafana大图与指标预览图的区别是什么?

默认采样粒度不相同。指标预览图的默认采样粒度为1分钟,不可调整;Grafana大图的默认采样粒度为5s,可调整,即选择对应指标大图,单击Edit,修改Granularity参数值。修改Granularity
说明 如果指标预览图的指标聚合算法和采样聚合算法与Grafana配置相同,最终生成的大图也相同。