超漂亮的 Alertmanager 可视化面板 - karma
Alertmanager 自带一个 UI 界面,可以用来查看报警和静默管理,但是还缺乏一个 Dashboard 必要的一些功能,比如报警历史记录等等,karma
这个工具就可以来帮助增强 Alertmanager 的可视化功能。
聚合报警和去重
从 0.7.0 版本开始,karma 可以聚合来自多个 Alertmanager 实例的警报,以 HA 模式运行或单独运行。可以过滤重复的数据。每个报警都标有它所在的 Alertmanager 实例的名称,并且可以根据这些标签 (@alertmanager
) 进行过滤。@alertmanager
标记仅在 karma 配置有多个 Alertmanager 实例时才可见。如果将 alertmanger 配置为使用 HA 集群,那么 @cluster
也将可用。
报警可视化
报警分组
报警在 Alertmanager 中分组显示并保留 group_by
配置选项。请注意,将为它在 alertmanager 中使用的每个接收器创建一个唯一的告警组,因为它们可以具有不同的 group_by 设置。如果一个组包含多个报警,则只会显示前几个报警。可以使用 - / +
按钮展开或隐藏报警。可以在 UI 设置模块中配置默认报警数量,每个组都可以折叠使用右上角的切换图标显示标题栏。每个单独的报警都将显示独特的标签和注解。所有警报之间共享的标签和注解被移动到页脚。
Active 状态的报警将显示最近过期的静默报警,以便在需要时重新静默,可以通过 silences:expired
控制,10m
值将显示过去 10 分钟内过期的静默报警,但仅适用于 10 分钟前开始触发的报警。
警报历史
Alertmanager 目前不提供任何报警事件的长期存储或查询历史报警的方法,只有发送报警的 Prometheus 服务器都存储与触发报警相关的指标。当 history:enabled
为 true 时,karma 将使用每个报警中的 source
字段来尝试在远程 Prometheus 服务器上查询与警报相关的指标。结果是指定报警组在过去 24 小时内每小时触发报警的次数,显示为 24 个块。与其他所有时间相比,颜色越深,该小时触发的报警越多。
要使此功能起作用,karma 必须能够连接到所有发送警报的 Prometheus 服务器。需要将 Prometheus 的 --web.external-url
标志设置为每个服务器可公开访问的 URL。
抑制报警
被抑制的报警将有一个“muted”按钮。
单击该按钮将带来一个带有抑制报警列表的模式。
静默重复数据删除
如果组中的所有报警都被相同的静默抑制,那么为了节省屏幕空间,静默也将移至页脚。
基于标签的多个网格
为了帮助将来自不同环境或具有不同严重性级别的报警分开,可以启用多网格模式,这增加了另一层可视化分组报警组。要启用此模式,请转到配置模式并选择标签名称,所有报警将按该标签分组,每个标签值将有一个专用网格,包括一个额外的网格用于不存在该标签的报警。
静默管理
静音模式允许创建新的静默并管理 Alertmanager 中已经存在的所有静默。静默 ACL 规则可用于控制静默创建和编辑。
报警概述
单击左上角的报警计数器将打开概览模式,它允许快速获取所有当前报警的顶级标签值的概览。
黑暗模式
从 v0.52 版本开始,karma 包括浅色和深色主题。默认情况下,它将使用 prefers-color-scheme
media queries 来遵循浏览器偏好。
Demo
在线体验地址:https://demo.karma-dashboard.io/
仓库地址:https://github.com/prymitive/karma