设置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服务
- 通过CSS服务的管理员账号登录云搜索服务管理控制台。
- 在左侧导航栏选择“服务授权”。
- 在服务授权页面,单击“创建SMN委托”,在弹窗中确认委托创建成功。
- 如果已经创建过委托,则右上角会提示“css_smn_agency exist, no need to created.”。
- 如果无创建权限,则右上角会提示“当前用户没有操作权限,请通过IAM检查账户权限!”,请确认该管理员账号是否配置了IAM使用权限。
给集群设置SMN告警通知
- 登录云搜索服务管理控制台。
- 在“集群管理 > Elasticsearch”页面选择需要登录的集群,单击操作列中的“Kibana”登录Kibana。
- 在Kibana页面,选择左侧导航栏的“Open Distro for Elasticsearch > Alerting”。
- 新建一个SMN目的端用于发送告警消息。
- 在“Alerting”页面选择“Destinations”页签,单击“Add destination”配置目的端信息。
表1 Destinations参数说明 参数名称
说明
Name
自定义目的端名称。
Type
保持默认值“SMN”。
Topic
选择前提条件中创建好的用于发送告警消息的SMN主题。
说明:7.1.1版本的Elasticsearch集群,需要手动输入Topic,注意和SMN服务中的主题名称保持一致。
图1 Add destination
- 单击“Create”返回Destinations列表,在列表可见新建的SMN目的端,表示创建完成。
图2 Destinations列表
- 在“Alerting”页面选择“Destinations”页签,单击“Add destination”配置目的端信息。
- 新建一个监控,并配置告警的触发条件和监控频率。
- 在“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脚本规划
- 单击“Create”跳转到“Create trigger”页面。
- 在“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 设置触发器动作的目的端
- 单击“Send test message”,如图5所示SMN主题订阅者成功收到邮件消息,则表示触发器设置成功。
图4 发送验证信息
- 单击“Create”返回Monitor详情页。
- 在“Alerting”页面选择“Monitors”页签,单击“Create monitors”配置监控信息。