Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

能否在多级业务组中添加,各级支持自己独立告警规则,子集目录可继承父级目录告警规则并可以添加自己的告警规则 #1941

Closed
sunailong opened this issue May 9, 2024 · 1 comment

Comments

@sunailong
Copy link

What would you like to be added:
能否在多级业务组中添加,各级支持自己独立告警规则,子集目录可继承父级目录告警规则并可以添加自己的告警规则
Why is this needed:
这样就不用再左右的子集目录内都添加一遍相同的监控项了。例如如下图中,

  • IT级别可以添加自己的cpu/mem等监控项
    -- dev级别添加相关开发相关监控项
    -- prod添加生产相关
    ----Monitor 添加具体监控业务相关
    ----Data 添加具体数据相关
    image
@UlricQin
Copy link
Member

UlricQin commented May 9, 2024

不支持这种做法。在 Prometheus 生态里,基本都是靠监控数据的指标来筛选,比如你的用于 Dev 的 Monitor 机器,可以打上标签:env=dev,service=monitor,之后可以有两种办法配置告警规则:

方法1:拆成不同的告警规则,每个告警规则里写详细的筛选条件,适合于不同的机器不同的阈值的场景

# 告警规则1,告警接收人可能是 dev 团队
mem_used_percent{env="dev", service="monitor"} > 80

# 告警规则2,告警接收人可能是 prod 团队
mem_used_percent{env="prod", service="monitor"} > 85

方法2:只配置一条告警规则,不同的告警事件由不同的人订阅接收。需要去了解一下订阅规则。适用于不同的机器阈值相同的场景。

# 只需要一条告警规则,不需要配置告警接收人。在订阅规则那里配置不同的标签不同的接收人
# 订阅规则里,比如 `env="prod"` 的就发给 prod,`env="dev"` 的就发给 dev
mem_used_percent > 80

核心原因1:业务组的树形结构其实是假的,本质是扁平的,只是视觉效果上可以展示成树的样子。
核心原因2:promql 告警判定查的是时序库,和业务组其实没关系,没法在告警的时候联动业务组

后面会改么?

短期不会。长期的话可能会同时引入类似 zabbix 的告警模板的概念。需要从长计议。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants