在 Alertmanager webhook 中使用标签
Using labels in Alertmanager webhook
我的警报配置如下。
ALERT PoDHighCPUUsage
IF sum(rate(container_cpu_usage_seconds_total{container_label_io_kubernetes_pod_namespace!=""}[2m])) BY (kubernetes_pod_name, kubernetes_io_hostname, container_label_io_kubernetes_pod_namespace) >= 0.2
FOR 2m
LABELS {severity="criticalup"}
ANNOTATIONS {summary="CPU usage of POD {{ $labels.kubernetes_pod_name }} {{ $labels.container_label_io_kubernetes_pod_namespace }} utilization is >= 0.4 cores (current value: {{ $value }}%)"}
我的webhooks如下..
- name: 'email-n-webhookup'
email_configs:
- to: 'mail-id'
send_resolved: true
webhook_configs:
- url: http://<webhook_ip>:9000/hooks/ose-webhook?in1={{.Labels.container_label_io_kubernetes_pod_namespace}}&in2={{.Labels.kubernetes_pod_name}}&in3=plus
- name: 'email-n-webhookdn'
email_configs:
- to: 'mail-id'
send_resolved: true
webhook_configs:
- url: http://<webhook_ip>:9000/hooks/ose-webhook?in1=tomi&in2=chat&in3=minus
我无法在 webhook_configs 中通过 value/data "labels.kubernetes_pod_name" & "labels.container_label_io_kubernetes_pod_namespace"。
静态地它按照 "email-n-webhookdn"
工作
并非所有字段都可以模板化,webhook URL 就是其中之一。预计接收 webhook 的代码将查看它在 POST 中接收到的 json 内部,以获取所有警报及其标签。
我的警报配置如下。
ALERT PoDHighCPUUsage
IF sum(rate(container_cpu_usage_seconds_total{container_label_io_kubernetes_pod_namespace!=""}[2m])) BY (kubernetes_pod_name, kubernetes_io_hostname, container_label_io_kubernetes_pod_namespace) >= 0.2
FOR 2m
LABELS {severity="criticalup"}
ANNOTATIONS {summary="CPU usage of POD {{ $labels.kubernetes_pod_name }} {{ $labels.container_label_io_kubernetes_pod_namespace }} utilization is >= 0.4 cores (current value: {{ $value }}%)"}
我的webhooks如下..
- name: 'email-n-webhookup'
email_configs:
- to: 'mail-id'
send_resolved: true
webhook_configs:
- url: http://<webhook_ip>:9000/hooks/ose-webhook?in1={{.Labels.container_label_io_kubernetes_pod_namespace}}&in2={{.Labels.kubernetes_pod_name}}&in3=plus
- name: 'email-n-webhookdn'
email_configs:
- to: 'mail-id'
send_resolved: true
webhook_configs:
- url: http://<webhook_ip>:9000/hooks/ose-webhook?in1=tomi&in2=chat&in3=minus
我无法在 webhook_configs 中通过 value/data "labels.kubernetes_pod_name" & "labels.container_label_io_kubernetes_pod_namespace"。
静态地它按照 "email-n-webhookdn"
工作并非所有字段都可以模板化,webhook URL 就是其中之一。预计接收 webhook 的代码将查看它在 POST 中接收到的 json 内部,以获取所有警报及其标签。