【问题标题】:prometheus differentiate alertingprometheus 区分警报
【发布时间】:2021-07-24 10:29:08
【问题描述】:

请告知如何在模板或警报规则中声明 Prometheus 是针对哪些节点或服务。我没有在文档中找到有关变量的信息。例如,我有后端、MongoDB、硬件、容器(Docker)的警报规则,Prometheus 将如何区分这些警报规则的应用位置和方式?

【问题讨论】:

    标签: prometheus prometheus-alertmanager


    【解决方案1】:

    我想这只是你如何配置规则和标签的问题 (prometheus_rules.yml)。观察指标中有哪些信息,并使用标签获取更多信息或过滤。考虑流行的指标up。以下是如何创建考虑到某些标签的规则。您可以使用来自特定出口商的预定义标签,例如up{job="node"} 或分配新的,如下例所示 (service, severity)。

      - alert: InstanceDown
        expr: up{job="node"} == 0
        for: 5m
        labels:
          severity: error
          service: cluster
        annotations:
          summary: "Instance {{ $labels.instance }} down"
          description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes."
    

    【讨论】:

    • 谢谢!我无法理解 Prometheus 是如何理解此警报规则适用于具有此 IP:端口的 Web 服务,但此警报规则适用于具有另一个 IP:端口的后端
    • 以及我在哪里定义 ip: port,然后在警报规则模板和 for 中使用它
    • 我觉得你指的是scrape_configs——这是你定义node_exporter的端点的地方@普罗米修斯会刮。我还在我的 ansible 角色中使用 jinja 模板使其通用:{ hostvars[host].ansible_fqdn }}:9100
    猜你喜欢
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 2020-04-15
    • 2021-10-13
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2020-02-10
    相关资源
    最近更新 更多