1. SLS告警管理中心
告警管理中心是一套以业务为中心告警管理运维平台,企业可以将同时将已有的监控告警平台如Zabbix,Prometheus,Datadog等产生的告警和SLS上的Project/Logstore等资源产生的告警添加到告警运维中心进行统一的告警管理和通知配置,将相关业务的告警收敛到一个地方进行运维管理,可以有效的提高运维效率。
2. 告警运维中心的业务概念介绍
告警运维中心是以业务为中心来管理告警,首先通过几个例子来看下业务的概念:在企业中往往有不同的产品线,不同的产品线由不同的人员来负责,比如在游戏企业中,不同的游戏往往又不同的组开发运维;或者在互联网企业中,数据库运维人员会负责管理公司的所有的数据库,数据库可能给不同的产品团队使用,机器运维人员会负责公司的所有机器;上面两个例子中不同的游戏可以当做为不同的业务,不同的运维团队也可以当做不同的业务。
2.1 典型监控告警分层
首先来看一个常见的监控告警架构,从底向上看,分别是资源层,指标层,监控层,可视化层,告警通知,事务管理/行动层。
资源层:主要包括一些计算存储网络等资源,比如主机,虚拟机,网络等基础资源,也可以SLB等接入层资源,也可以是常见的Java应用,Go应用。
指标层:通过一些Agent比如SLS的Logtail可以收集资源产生的时序指标,日志数据和Trace数据,这些可以称为指标层,指标一般会存储在大数据平台供后续分析监控,指标在一定程度上可以反映资源的健康程度。
监控层:在收集到指标上可以创建一些监控规则,比如CPU使用率持续飙高,网络流量短时间陡增都可以用来监控,监控工具一般包括比如Zabbix,Prometheus或者SLS的告警监控规则,SLS的智能巡检等。在监控工具上可以配置各种监控规则。
可视化层:这里说的可视化层主要是有监控层产生的告警态势,来反映资源的健康程度,不是指标层的直接展示。通过可视化层可以清楚的看到不同资源的告警的触发趋势,告警的处理情况,通知情况等。
告警通知:告警产生后,会将根据一定的告警策略通知到不同的渠道,比如短信,语音,钉钉等,也可以是自定义的Webhook,甚至直接对接Function Compute和Event Bridge等产品。在通知之前,往往告警策略允许配置不同的策略来对告警进行降噪处理,来避免过多的告警噪音。
事务管理/行动:在告警通知后,相关的告警往往会归类为一类事务,运维人员可以对不同的告警事务进行管理,比如标记已解决,处理中,设置处理人,忽略等操作。最终完成对异常的处理。
从资源层到事务管理层是异常产生信息流转的方向,从事务管理到资源层是查找问题,解决问题的路径,往往可以通过告警信息,查看告警的上下文,然后追溯到产生异常的资源层,比如收到网站不可用500告警,通过相关指标上下文的查询,最终发现是由于数据库连接不可用。
按业务切分监控告警架构
如下图,在纵向的角度可以把整个监控告警各层切分。每个业务都包含完整的从资源层到告警到事务管理的整个链路,这样的切分还是基于上述的业务的理解,企业中往往不同的业务由不同的团队负责,这样就需要分开来运维管理。
告警管理中心是基于这样的架构,支持用户按照业务级别来管理告警,告警运维中心中创建业务后,可以在业务中添加不同的资源,这里的资源可以是三方监控平台产生的告警,也可以是SLS中的Project/Logstore,也可以是不同的云产品;同一个业务中产生的告警可以被统一降噪/通知/事务管理。
举个例子:某电商公司的库存服务和会员服务是分别是两个业务,分别以微服务的形式供外部服务调用,可以将库存服务用到的主机,数据库等资源或者指标存储添加到库存业务中,会员服务同理。
上面主要介绍了告警管理中心的业务的概念。接下来看下告警运维中心的业务结构。
3. 告警管理中心业务架构
下图中简单展示了告警管理中心的使用模式,左边的方框主要代表两个不同的业务,每个业务中可以包括不同的SLS的Project/Logstore资源和不同的三方告警平台,这些资源产生的告警属于不同的业务,每个业务可以配置自己的告警通知策略,最后通知到不同的运维人员,运维人员可以通过告警管理中心查看相应业务的告警态势,进行告警事务的管理。
4. 告警管理中心功能介绍
告警管理中心主要包括四大类功能:
集成告警源:告警源即业务下的资源,目前主要包括SLS资源和三方告警源,后续会支持添加不同的原产品实例。
业务策略:指在业务下配置业务自己的告警通知策略,策略允许配置告警的合并,抑制,静默等功能。同时允许在业务的告警通知策略的三种模式。后文会有详细介绍。
告警态势:在告警态势页面可以查看业务的整体告警触发和处理的态势,也可以查看每个业务下告警触发的态势。
告警事务:告警事务也是SLS告警中比较重要的功能,允许用户对告警事务进行标记,忽略,解决,设置处理人等操作,同时还会支持在手机端进行快捷操作,实现移动运维。同时,告警管理中心还内置支持告警规则/链路/排障大盘和告警的查询分析。
接下来分别对每个功能进行简单的介绍:
4.1 集成告警源
告警源主要包括SLS资源,三方告警源和云产品实例,在添加到业务中时,可以根据自身的需要来进行告警源的归纳和切分,主要有以下几种常见的方式:
纵向切分
按照业务使用到所有资源,从技术部署栈的角度进行添加,比如业务使用到了接入层,计算层和存储层,可以分别将每一层用到的资源加入到业务的告警源中。
横向切分
该场景比较适用于运维团队,比如某公司将业务全部上云,数据库运维团队需要对云上的所有RDS实例进行运维管理,这时候就可以把所有RDS实例或者RDS实例对应的指标全部加到一个数据库业务中进行管理。类似可能还有网络运维团队,中间件运维团队。
三方告警源
在企业已经有一套或者多套的监控平台时,这些监控平台的监控规则也不必废弃,可以将原有监控平台加入到告警运维中心的业务中,在业务中进行集中化的管理。
目前的告警源如下,还在不断扩充中。
4.2 业务策略
业务策略是指在业务上配置告警通知策略,在业务层面进行告警合并降噪抑制通知;业务策略支持开启,关闭,混合三种模式,用于跟原有的告警源的告警通知策略进行协同。
接下来分别看下三种模式的效果:
开启
开启模式下:业务下的告警源原有的告警通知策略将会被屏蔽,仅执行业务的通知策略,这样可以将告警的处理与通知进行更加集中化的管理,减少在每个告警源下配置,这也是推荐的一种模式。
后续SLS也会简化告警监控规则端的配置,允许在告警监控规则端不配置告警通知策略。只要加到业务中即可使用业务策略。
关闭
关闭模式下,业务策略将被屏蔽,仅执行告警源原有的告警通知策略。实际的通知效果跟没有添加到业务时一致,但是仍然可以在告警管理中心查看业务的告警态势和告警事务的管理。
混合
混合模式下,业务通知策略和告警源原有的通知策略都会生效,混合模式是一种对现有通知策略影响最小的一种模式,类似于“旁路模式”,例如某业务下的告警源已经配置了原有的通知人,原有的通知人仍然想收到告警,业务的运维人员也想收到业务下所有告警源产生的告警,就可以使用混合模式。
4.3 告警态势
告警态势主要支持业务下整体查看告警的触发,严重度分布,最近的告警事务列表,告警事务状态分布,处理人分布,发送渠道分布等。
也支持查看业务下每个告警源的健康程度和态势,也可以进入每个告警源查看态势详情。
4.4 告警事务相关
告警事务支持在业务层面,对告警事务进行评估,确认,解决,分派,忽略,设置处理人等方式,同时也支持手机端在接收到告警后,在手机端进行告警事务的管理。
事务管理
告警排错
告警排错主要包括四类大盘,告警链路、告警规则、告警排障、开放告警。大盘展示都是该业务下的态势。
告警排障大盘对于用户排查错误,经常会有客户配置的通知渠道无法收到通知,可以首先查看下告警排障大盘,其中会展示告警未发送通知的原因。
5. 总结
本文主要介绍了SLS告警管理中心的业务概念和功能介绍,SLS告警管理中心目前已经全区域开放,功能还在持续迭代升级中,在使用的过程中遇到任何问题,也可以在SLS的官方支持群中提问。
6. 以下链接供参考
欢迎扫群加入阿里云-日志服务(SLS)技术交流(集团同学请直接搜索群号11702236加入), 获得第一手资料与支持。