更新时间:2026-01-12 GMT+08:00

设置Elasticsearch集群SMN告警通知

本文主要介绍如何在Kibana中通过开源OpenDistro告警插件设置Elasticsearch集群的SMN告警通知功能。

场景描述

CSS服务默认给7.6.2和7.10.2版本的Elasticsearch集群安装了开源OpenDistro告警插件(opendistro_alerting),该插件具备Dashboard、Monitors、Destinations三个组件,并在Destinations组件中支持通过SMN服务发送告警通知。使用OpenDistro告警插件时,Elasticsearch集群需要通过SMN发送通知,这要求进行服务授权配置,服务授权是指允许CSS服务代理使用其他云资源,例如授权使用SMN服务资源,从而使CSS集群能够发送SMN消息通知。有关OpenDistro告警插件的官方文档,请参见OpenDistro-Monitors

约束与限制

仅Elasticsearch 7.6.2和Elasticsearch 7.10.2集群默认安装了开源的OpenDistro告警插件,因此只有这几个版本的集群支持设置SMN告警通知。

前提条件

  • 已经在SMN服务管理控制台创建完成了用于发送告警消息的主题。
  • 已获取CSS服务的管理员账号,并确认该账号具有CSS服务权限及IAM查看委托列表、创建委托及给委托授权的权限。

授权使用SMN服务

  1. 登录云搜索服务管理控制台。

    必须使用CSS服务的管理员账号登录。

  2. 在左侧导航栏选择“服务授权”。
  3. 在服务授权页面,单击“创建SMN委托”,在弹窗中确认委托创建成功。
    • 如果已经创建过委托,则右上角会提示“css_smn_agency exist, no need to created.”
    • 如果无创建权限,则右上角会提示“当前用户没有操作权限,请通过IAM检查账户权限!”,请确认该管理员账号是否配置了IAM使用权限。

设置SMN告警通知

  1. 登录云搜索服务管理控制台。

    使用具有CSS服务操作权限的账号登录即可。

  2. 在左侧导航栏,选择“集群管理 > Elasticsearch”
  3. 在集群列表,选择目标集群,单击操作列的“Kibana”,登录Kibana。
  4. 在Kibana页面,选择左侧导航栏的“Open Distro for Elasticsearch > Alerting”
  5. 新建一个SMN目的端用于发送告警消息。
    1. 在“Alerting”页面选择“Destinations”页签,单击“Add destination”配置目的端信息。
      表1 Destinations参数说明

      参数名称

      说明

      Name

      自定义目的端名称。

      Type

      保持默认值“SMN”。

      Topic

      选择前提条件中创建好的用于发送告警消息的SMN主题。

      图1 Add destination
    2. 单击“Create”返回Destinations列表,在列表可见新建的SMN目的端,表示创建完成。
      图2 Destinations列表
  6. 新建一个监控,并配置告警的触发条件和监控频率。
    1. 在“Alerting”页面选择“Monitors”页签,单击“Create monitors”配置监控信息。
      表2 Monitors参数说明

      参数名称

      说明

      Monitor name

      自定义一个监控名称。

      Monitor state

      是否关闭这个监控,建议不关闭。

      Method of definition

      选择一种方式定义监控,推荐使用“Define using extraction query”。

      • Define using visual graph:可视化的query语句
      • Define using extraction query:具体的query语句

      Index

      选择监控的索引。

      Time field

      仅当选择“Define using visual graph”方式定义监控时,需要选择一个字段作为时间字段,来定义count等计数参数。

      Frequency

      选择监控频率,并设置监控频率的间隔信息。

      • By interval:按时间间隔
      • Daily:按每天
      • Weekly:按
      • Monthly:按
      • Custom cron expression:按cron脚本规划
    2. 单击“Create”跳转到“Create trigger”页面。
    3. 在“Create trigger”页面设置指定告警触发条件及告警时应触发的动作。
      表3 Trigger参数说明

      参数名称

      说明

      Trigger name

      自定义一个触发器名称。

      Severity level

      定义触发器的敏感度,选择触发多少条告警之后发送告警消息,“1”为最高敏感度。

      Trigger condition

      定义触发条件。满足触发条件就会触发告警。

      Action name

      自定义一个触发器动作名称。

      Destination

      选择5新建的SMN目的端。

      Message subject

      仅7.10.2版本的Elasticsearch集群需要设置,定义告警消息的标题。

      Message

      设置SMN主题发送的body,定义消息发布的文本。默认定义了目的端是Email类型时的主题和正文。

      Action throttling

      设置消息发送频率用来限制在指定时间段内收到的通知消息数量。

      例如设置10分钟,在接下来的10分钟内,即使触发条件满足多次,SMN仅发送1次告警通知。超过10分钟后,如果触发告警条件,SMN才会再次发送告警通知。

      图3 设置触发器动作的目的端
    4. 单击“Send test message”,如图5所示SMN主题订阅者成功收到邮件消息,则表示触发器设置成功。
      图4 发送验证信息
      图5 成功收到邮件通知
    5. 单击“Create”返回Monitor详情页。