更新时间:2024-10-25 GMT+08:00

设置Elasticsearch集群SMN告警通知

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

场景描述

CSS服务默认给7.1.1、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.1.1、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. 登录云搜索服务管理控制台。
  2. “集群管理 > Elasticsearch”页面选择需要登录的集群,单击操作列中的“Kibana”登录Kibana。
  3. 在Kibana页面,选择左侧导航栏的“Open Distro for Elasticsearch > Alerting”
  4. 新建一个SMN目的端用于发送告警消息。
    1. 在“Alerting”页面选择“Destinations”页签,单击“Add destination”配置目的端信息。
      表1 Destinations参数说明

      参数名称

      说明

      Name

      自定义目的端名称。

      Type

      保持默认值“SMN”。

      Topic

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

      说明:

      7.1.1版本的Elasticsearch集群,需要手动输入Topic,注意和SMN服务中的主题名称保持一致。

      图1 Add destination
    2. 单击“Create”返回Destinations列表,在列表可见新建的SMN目的端,表示创建完成。
      图2 Destinations列表
  5. 新建一个监控,并配置告警的触发条件和监控频率。
    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

      选择4新建的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详情页。