不接收所有普罗米修斯警报



我正在尝试从我的prometheus堆栈发送自定义警报。

我使用prometheus-community helm chart安装了prometheus。我还安装了一个mailhog来捕获alertmanager发送的邮件。

首先,我创建了alertmanagerconfig:

kind: AlertmanagerConfig
metadata:
name: mailhog
namespace: prometheus
spec:
receivers:
- name: mailhog
emailConfigs:
- to: "test@fake.com"
from: "cluster@fake.com"
smarthost: "mailhog.mailhog.svc.cluster.local:1025"
requireTLS: false
route:
groupBy:
- severity
groupInterval: 30s
groupWait: 30s
receiver: mailhog
repeatInterval: 1m

这是工作或多或少,因为我收到一些警报配置默认当我安装普罗米修斯图表。

然而,当我想创建自己的自定义警报时,它似乎被bug:

apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: prom-rule-test
namespace: prometheus
labels:
release: prometheus
spec:
groups:
- name: ruleTest
rules:
- alert: test
expr: vector(1)
labels:
severity: warning

我可以在prometheus web UI中看到规则,并且可以在" fire "中看到警告。状态。但是,我的邮箱里没有收到任何东西。

我不明白为什么。你知道吗?

编辑:

@ 0谢谢你的回答,这是我的普罗米修斯资源:

apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
annotations:
meta.helm.sh/release-name: prometheus
meta.helm.sh/release-namespace: prometheus
project.cattle.io/namespaces: '["aws-ecr-helper","aws-efs","cattle-system","cert-manager","fluentd","ingress-nginx","kube-node-lease","kube-public","kube-system","prometheus"]'
creationTimestamp: "2022-07-07T08:57:27Z"
generation: 5
labels:
app: kube-prometheus-stack-prometheus
app.kubernetes.io/instance: prometheus
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/part-of: kube-prometheus-stack
app.kubernetes.io/version: 36.2.1
chart: kube-prometheus-stack-36.2.1
heritage: Helm
release: prometheus
name: prometheus-kube-prometheus-prometheus
namespace: prometheus
resourceVersion: "225742469"
uid: 68ce943f-95e4-4052-86f8-d095c4e0692b
spec:
alerting:
alertmanagers:
- name: prometheus-kube-prometheus-alertmanager
namespace: prometheus
pathPrefix: /
port: http-web
evaluationInterval: 30s
externalUrl: http://myurl.com/
image: quay.io/prometheus/prometheus:v2.36.1
logFormat: logfmt
logLevel: info
podMonitorNamespaceSelector: {}
podMonitorSelector:
matchLabels:
release: prometheus
portName: http-web
replicas: 1
resources:
limits:
cpu: "1"
memory: 1000Mi
requests:
cpu: 500m
memory: 750Mi
retention: 3d
routePrefix: /
ruleNamespaceSelector: {}
ruleSelector:
matchLabels:
release: prometheus
rules:
alert: {}
scrapeInterval: 30s
securityContext:
fsGroup: 2000
runAsGroup: 2000
runAsNonRoot: true
runAsUser: 1000
serviceAccountName: prometheus-kube-prometheus-prometheus
serviceMonitorNamespaceSelector: {}
serviceMonitorSelector:
matchLabels:
release: prometheus
version: v2.36.1

@Abdullah Barrak谢谢你的回答。这已经完成了,我添加了标签release: prometheus

确保为Prometheus拾取PrometheusRule添加所需的标签,以及ruleSelector::链接。

最新更新