【发布时间】:2021-07-24 10:29:08
【问题描述】:
请告知如何在模板或警报规则中声明 Prometheus 是针对哪些节点或服务。我没有在文档中找到有关变量的信息。例如,我有后端、MongoDB、硬件、容器(Docker)的警报规则,Prometheus 将如何区分这些警报规则的应用位置和方式?
【问题讨论】:
标签: prometheus prometheus-alertmanager
请告知如何在模板或警报规则中声明 Prometheus 是针对哪些节点或服务。我没有在文档中找到有关变量的信息。例如,我有后端、MongoDB、硬件、容器(Docker)的警报规则,Prometheus 将如何区分这些警报规则的应用位置和方式?
【问题讨论】:
标签: prometheus prometheus-alertmanager
我想这只是你如何配置规则和标签的问题 (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."
【讨论】:
scrape_configs——这是你定义node_exporter的端点的地方@普罗米修斯会刮。我还在我的 ansible 角色中使用 jinja 模板使其通用:{ hostvars[host].ansible_fqdn }}:9100