背景介绍
监控告警系统作为最为常用的服务,能够让开发运维人员时刻了解服务的当前状态,并及时得知服务的异常,进而快速定位问题,降低服务异常带来的损失。 Sass公司、开源界也针对这个领域提供了各自的方案,较为常用的系统包括zabbix、prometheus、grafana、open-falcon、pagerduty等。众多的解决方案为开发运维人员带来选择性的同时,也带来了监控数据、告警消息统一查询的问题,开发人员需要到各个孤立的系统中检索。SLS为了解决告警消息统一管理的问题,推出了开放告警,方便开发运维人员将多个不同监控告警系统发出的告警消息采集到SLS中。
开放告警
三方系统接入SLS开放告警大致分为下图所示的6个步骤,下面分别详细介绍下每个步骤:
接入流程
进入新版SLS告警
首先进入SLS的任意一个Project,点击左侧的告警按钮图表,随后点击"打开告警中心按钮",即可进入新版SLS告警管理界面。其中"规则和事物"用于查看和管理告警规则和告警事件,"告警管理"菜单用于管理客户在新版SLS告警中的资产。
配置SLS告警
开放告警依赖于新版SLS告警中的部分配置项:
在上述配置项中,用户和行动策略属于必填项,其余三项配置为可选配置。
用户
点击用户管理按钮,打开告警中心的用户管理界面,就可以创建新的告警用户。用户信息主要包括手机号码以及邮箱,此处需注意保证手机号码以及邮箱的正确性。
用户组
点击用户组管理按钮,打开告警中心的用户组管理界面,就可以创建新的告警用户组。在选择框中选择之前创建的部分或者全部用户,即可完成用户组配置,最后点击确认完成创建。
内容模板
新版SLS告警通过内容模板定义发送给用户的消息,而且支持给每个通知渠道配置各自的告警内容,用户可以通过在内容模板中添加模板变量来定制化告警消息的内容。刚开始使用的时候,用户可能不太清楚如何配置所有渠道的内容模板,这时留空即可,SLS会替换为默认的内容,减轻了开始的配置负担。
行动策略
行动策略较为重要,虽然SLS有默认的行动策略供用户选择。但是在使用开放告警的时候,建议用户创建新的行动策略。右键点击开始按钮,选择添加行动组,在出现的行动组配置框中选择合适的信息即可。详情请参考创建行动策略获取更多信息。
告警策略
告警策略不是必须的,用户在使用开放告警的时候可以省略。同样是在告警策略创建窗口中,右键点击开始按钮,选择添加分组合并,在出现的分组合并配置框中选择合适的信息即可。详情请参考创建告警策略获取更多信息。
创建开放告警服务
配置完开放告警依赖的基本配置,就可以开始创建开放告警服务。开放告警服务主要用来对开放告警应用进行管理,配置简单,只有ID和名称两项。
创建开放告警应用
在创建好的开放告警服务中,点击应用按钮,即可看到开放告警应用管理界面。开放告警应用的配置项比较多,下面逐一介绍下。
协议认证
协议认证用于配置接入的告警消息格式,目前支持Prometheus和grafana两种协议,后面会添加更多的协议支持。
行动策略
行动策略规定了开放告警服务收到告警消息后的通知行为,比如发给哪个用户或者用户组,使用哪个内容模板展示告警消息的内容。用户可以选择内置的行动策略(不建议),也可以选择自定义行动策略(推荐)。
密钥ID白名单
默认是禁用状态,开启之后,只有配置了的access key id才能够向该开放告警应用发送告警消息。
请求过滤
请求过滤用于配置一组关键字,只有告警消息中包含其中任一个关键字,该消息才能发送出去,不然会被丢弃,默认为空;
信息加工
信息加工用于为告警消息添加额外的信息,包括标签和标注两项,这两项都是健值对;其中标签同告警分组逻辑相关;默认为空。
额度
额度限制了该开放告警应能每分钟能够接收的告警消息数量,默认为100,最大值为10000。
注意:在最简单的情况下,用户只需要配置协议认证和行动策略两项,其余保留默认值即可。
获取开放告警链接
配置完开放告警应用,就可以在通过点击接口按钮,获取开放告警回掉链接。首先选取要接入告警消息的地区,目前支持的地区有河源。回调链接链接包含两部分:域名部分和子路径部分。其中子路径部分包含变量{ACCESS_KEY_ID}。ACCESS_KEY_ID是阿里云的账户标识,在ram控制台中可以创建,创建的时候注意选取编程访问。需要注意的是,在创建之后,还需要给该ACCESS_KEY_ID需要赋予系统权限策略AliyunLogPutOpenEventPolicy,才能通过该{ACCESS_KEY_ID}向开放告警应用发送告警消息。
配置三方服务
在获取开放告警应用链接之后,就可以将该告警链接通过不同的方式配置到三方服务中。例如在prometheus中,可以通过在prometheus的配置文件prometheus.yml添加新的alertmanager的方式加入sls开放告警应用链接;在grafana中,通过添加新的通知渠道,并选择类型为webhook。
协议 |
接入文档 |
Prometheus |
|
Grafana |
总结
SLS开放告警为开发运维人员提供了统一的告警消息接入方法,从而实现告警消息的统一查看和管理,极大的方便了用户。SLS开放告警后续会推出更多的接入方式,敬请期待。