K8s事件中心
K8S事件中心是SLS的日志应用之一,主要记录了集群的状态变更,包括创建Pod、运行Pod、删除Pod、组件异常等。K8S事件中心实时收集K8S中的所有事件并提供存储、查询、分析、可视化与告警能力。K8s事件中心默认也会提供仪表盘和告警,本文主要介绍下如何在ACK控制台和SLS控制台管理K8s事件中心的告警及其区别和使用场景。
K8s事件中心管理
K8s事件中心的告警配置可以ACK控制台开启,也可以在SLS控制台开启,两个控制台的告警规则是一致的,使用场景会有些区分,在实际使用中,建议根据不同场景开启不同控制台的告警,同时开启会造成告警重复。
- ACK控制台:创建集群时默认开启(支持关闭),内置通知联系人,目前支持短信和邮件,后续会有更多通知渠道支持。
- SLS控制台:在K8S事件中心应用中,批量开启告警规则,允许配置灵活的通知策略和多种通知渠道包括webhook,钉钉等。
K8s事件中心开启入口
ACK控制台
在ACK控制台创建集群时,如果开启了报警配置,会自动开启事件中心及告警。参考链接。
SLS控制台
在SLS控制台日志应用->K8s事件中心可以创建或者查看K8s事件中心仪表盘和告警,有如下两种情况:
- 在ACK控制台创建集群时已勾选告警配置,SLS K8s事件中心会默认显示已开启的集群。
- 在ACK控制台未勾选告警配置,可以参考创建并使用K8s事件中心,手动进行配置。
K8s事件中心告警管理入口
ACK控制台
- 如果已经购买了集群,可以通过ACK控制台集群列表->集群->运维管理->报警配置,来查看,开启,关闭告警。
在ACK控制台页面可以进行编辑通知对象,联系人管理,查看报警历史等,目前通知渠道包括短信和邮箱,后续会增加更多通知渠道。
SLS控制台
- 在SLS控制台首页,找到日志应用,点击查看更多日志应用->K8s事件中心,进入K8s事件中心应用页面。
- 在k8s事件中心左侧菜单找到对应的集群,进入告警配置->勾选SLS k8s事件中心
- 勾选一个或者多个规则,点击配置Cluster ID,弹出框里填集群ID或者集群名,这个字段将在默认的SLS ACK内置内容模板中引用。用法为${annotations.cluster_id}
- 勾选一个或者多个内置告警规则,批量开启告警规则
- 光标放在任意一个内置规则后面的问号图标,点击弹出框显示的行动策略SLS ACK内置行动策略,点击跳转进行配置(行动策略可以简单理解为通知配置)。
- SLS ACK内置行动策略中默认配置了不同的告警触发时,默认发送到短信渠道。
- 通知内容分为三类:
- 标签.object_name存在,表示事件中心的告警是object相关,对应的内容模板为SLS ACK Object内置内容模板。
- 标签.pod_name存在,表示事件中心的告警是pod相关,对应的内容模板为SLS ACK Pod内置内容模板。
- 标签.node_name存在,表示事件中心的告警是node相关,对应的内容模板为SLS ACK Node内置内容模板。
- 其他,对应的内容模板为SLS ACK 内置内容模板。
- 接收人默认为SLS内置用户组,可以点击接收人右边的查看按钮,修改用户组中的用户
- 如果需要增加通知渠道可以点击行动组的添加通知渠道按钮,添加其他通知渠道,但是内容模板强烈建议使用对应条件的SLS ACK ...内置内容模板,如果有修改需求,可以直接修改内置内容模板或者复制一个内置内容模板进行修改。
常见问题
- ACK控制台的K8s事件中心告警与SLS控制台的“SLS K8s事件中心”的告警有什么不同?
- 监控的logstore是一致的,都是监控k8s project下的k8s-event。
- 告警监控规则也是一致的,都是内置监控规则。
- ACK控制台和SLS控制台的告警开启该如何选择?
- ACK控制台的K8s告警理解为极简告警,几乎只需要点开启按钮,即可完全开启监控规则,通知渠道支持短信和邮件。暂时不支持webhook或者钉钉。
- SLS控制台K8s告警需要配置集群ID,支持批量开启/关闭,支持设置更多的通知渠道,例如webhook,钉钉,飞书,Function Compute等,具体可以参考链接。
- 如果需要更多的通知渠道,可以暂时关闭ACK控制台的告警,在SLS控制台开启相应的K8s告警,如果两者都开,会有重复告警,建议只开启一个。
- 如果需要根据不同的namepace等配置不同的接收人,可以使用SLS控制台的K8s事件中心告警的内置行动策略:SLS ACK内置行动策略进行行动组条件的修改,默认情况下SLS的K8s事件中心告警都会使用同一个内置行动策略。
- 在SLS控制台的Project为什么可以看到自定义的K8s事件中心告警?
- 在K8s的Project的告警中心标签会默认展示Project下所有的告警:
- ACK控制台开启的告警同样会展示在Project下(目前不支持对ACK控制台开启的告警进行编辑)
- K8s事件中心的旧版告警是自定义告警,旧版告警在数量上比新版的内置告警规则会少很多,强烈建议关闭旧版告警,使用内置告警规则配置更灵活的通知。如果有自定义告警需求,建议使用新版自定义告警。
- K8s事件中心告警的评估频率是多少?
- 目前是5分钟评估一次,暂时不支持修改;如果需要更高频率的配置,可以在k8s-event上使用新建新版自定义告警来完成。
参考链接
- 创建并使用Kubernetes事件中心,https://help.aliyun.com/document_detail/150476.html
- 容器服务报警管理,https://help.aliyun.com/document_detail/207725.html
- SLS通知渠道说明,https://help.aliyun.com/document_detail/209963.html
- SLS内容模板语法,https://help.aliyun.com/document_detail/317766.html