设置OpenSearch集群SMN告警通知
场景描述
云搜索服务默认安装了开源的OpenSearch告警插件(opensearch-alerting),用于提供数据满足特定条件时的通知功能。该插件包含Alerts、Monitors、Destinations三个组件,CSS服务在Destinations组件中适配了消息通知服务SMN,且仅支持通过SMN服务作为目的端(Destination)进行告警消息发送。
本文主要介绍如何在OpenSearch Dashboards中设置OpenSearch集群的SMN告警功能。
开源OpenSearch告警插件OpenSearch Alerting的官方指导文档请参见:Alerting - OpenSearch Documentation 。
约束与限制
OpenSearch 1.3.6集群默认安装了开源的OpenSearch告警插件(opensearch-alerting)。
前提条件
- 已经在SMN服务管理控制台创建完成了用于发送告警消息的主题,具体操作请参见创建主题。
- 已获取CSS服务的管理员账号,并确认该账号具有CSS服务权限及IAM查看委托列表、创建委托及给委托授权的权限。
授权使用SMN服务
- 通过CSS服务的管理员账号登录云搜索服务管理控制台。
- 在左侧导航栏选择“服务授权”。
- 在服务授权页面,单击“创建SMN委托”,在弹窗中确认委托创建成功。
- 如果已经创建过委托,则右上角会提示“css_smn_agency exist, no need to created.”。
- 如果无创建权限,则右上角会提示“当前用户没有操作权限,请通过IAM检查账户权限!”,请确认该管理员账号是否配置了IAM使用权限。
给集群设置SMN告警通知
- 登录云搜索服务管理控制台。
- 在“集群管理 > OpenSearch”页面选择需要登录的集群,单击操作列中的“Kibana”登录OpenSearch Dashboards。
- 在Dashboards页面,选择左侧导航栏的“菜单 > Alerting”。
- 新建一个SMN目的端用于发送告警消息。
- 在“Alerting”页面选择“Destinations”页签,单击“Add destination”配置目的端信息。
表1 Destinations参数说明 参数名称
说明
Name
自定义目的端名称。
Type
保持默认值“SMN”。
Topic
选择前提条件中创建好的用于发送告警消息的SMN主题。
图1 Add destination
- 单击“Create”返回Destinations列表,在列表可见新建的SMN目的端,表示创建完成。
图2 Destinations列表
- 在“Alerting”页面选择“Destinations”页签,单击“Add destination”配置目的端信息。
- 新建一个监控,并配置告警的触发条件和监控频率。
- 在“Alerting”页面选择“Monitors”页签,单击“Create monitor”配置监控信息。
表2 Monitors参数说明 参数名称
说明
Monitor details
Monitor name
自定义一个监控名称。
Monitor type
Monitor类型:Per query monitor(普通监控)、Per bucket monitor(聚合桶监控)、Per cluster metrics monitor(集群指标监控)。
Monitor defining method
选择一种方式定义监控,推荐使用“Extraction query editor”。
- Visual editor:可视化的query语句
- Extraction query editor:具体的query语句
- Anomaly detector:异常检测插件的监测
选择不同的“Monitor type”,所支持的监控方式不同,请以实际界面为准。
Detector
当“Monitor defining method”选择“Anomaly detector”时,请选择异常检测任务。
Frequency
选择监控频率,并设置监控频率的间隔信息。
- By interval:按时间间隔
- Daily:按每天
- Weekly:按每周
- Monthly:按每月
- Custom cron expression:按cron脚本规划
Data source
Index
当“Monitor defining method”选择“Visual editor”或“Extraction query editor”方式定义监控时,需要选择监控的索引。
Time field
当“Monitor defining method”选择“Visual editor”方式定义监控时,需要选择一个字段作为时间字段,来定义count等计数参数。
Query
Metrics
当“Monitor defining method”选择“Visual editor”方式定义监控时,需要设置提取统计数据的指标范围。
Time range for the last
当“Monitor defining method”选择“Visual editor”方式定义监控时,需要设置插件应监控的时间范围。
Data filter
当“Monitor defining method”选择“Visual editor”方式定义监控时,需要设置过滤器进行数据检索。
Group by
当“Monitor defining method”选择“Visual editor”方式定义监控时,需要指定一个字段,使其每一个值都会触发告警。
Define extraction query
当“Monitor defining method”选择“Extraction query editor”方式定义监控时,需要输入query语句定义监控。
Request type
当“Monitor type”选择“Per cluster metrics monitor”时,需要指定请求类型来监控集群指标,例如运行状况、CPU使用率等。
- 单击“Add trigger”添加Triggers指定告警触发条件及告警时应触发的动作。
- 在“Triggers”设置触发告警的灵敏度和目的端的消息发布。
表3 Trigger参数说明 参数名称
说明
Trigger name
自定义一个触发器名称。
Severity level
定义触发器的敏感度,选择触发多少条告警之后发送告警消息,“1”为最高敏感度。
Trigger condition
定义触发条件。满足触发条件就会触发告警。
Action name
自定义一个触发器动作名称。
Destination
选择4新建的SMN目的端。
Message
设置SMN主题发送的body,定义消息发布的文本。默认定义了目的端是Email类型时的主题和正文,详细参数说明请参见消息发布。
Perform action
当“Monitor type”选择“Per bucket monitor”时,需要设置告警是否组合发送,可选择
- Per execution:多个指标触发条件后组合发送告警。
- Per alert:多个指标触发条件后各自发送告警。
Actionable alerts
当“Monitor type”选择“Per bucket monitor”时,选择“Per alert”,需要设置触发条件后可执行的告警。
- De-duplicated:已触发的告警,OpenSearch保留现有告警,以防止多次创建相同告警。
- New:新创建的告警。
- Completed:不持续触发的告警。
Throttling
设置消息发送频率用来限制在指定时间段内收到的通知消息数量。
例如设置10分钟,在接下来的10分钟内,即使触发条件满足多次,SMN仅发送1次告警通知。超过10分钟后,如果触发告警条件,SMN才会再次发送告警通知。
图3 设置触发器动作的目的端
- 单击“Send test message”,如图5所示SMN主题订阅者成功收到邮件消息,则表示触发器设置成功。
图4 发送验证信息
- 单击“Create”返回Monitor详情页,即成功创建检测器。
- 在“Alerting”页面选择“Monitors”页签,单击“Create monitor”配置监控信息。