文档

对接 Alertmanager 组件

更新时间:
一键部署

您的Alertmanager可以运行在Kubernetes集群内,比如运行以下kubectl命令可以在Kubernetes容器集群内拉起一个Alertmanager:

部署Alertmanager

您的Alertmanager可以运行在Kubernetes集群内,比如运行以下kubectl命令可以在Kubernetes容器集群内拉起一个Alertmanager:

kubectl run alertmanager-main --labels="run=alertmanager-example" --image=quay.io/prometheus/alertmanager --port=9093
deployment.apps/alertmanager-main created

将Alertmanager部署对外暴露为一个service:

kubectl expose deployment alertmanager-main --type=LoadBalancer --name=alertmanager-service
service/alertmanager-service exposed

找到该Service对应的External IP:

kubectl get services alertmanager-service
NAME                   TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)          AGE
alertmanager-service   LoadBalancer   172.21.11.153   47.111.41.86   9093:32700/TCP   25s

按照上述方式部署后,访问Alertmanager对外暴露的Web UI (Alertmanager默认启动在9093端口):

1

配置报警规则

首先给Prometheus配置告警规则。作为示例,这里我们配置一个简单的关于目标抓取延迟超过规定阈值(对应指标scrape_duration_seconds)的告警规则,首先在阿里云实例管理“参数配置”页面中,创建一个告警配置文件alert1.yml(文件类型为rule):

2

在Prometheus Server的主配置文件prometheus.yml中,加入告警定义文件的信息(规则文件名与上一步创建的文件名称):

rule_files:
  - "alert1.yml"

进入“Prometheus控制台”,点击顶部菜单的“告警”按钮,可以看到报警信息设置:

3

点击“状态”下拉菜单的“规则”分页,可以看到报警规则:

4

连接Alertmanager

在Prometheus Server的主配置文件prometheus.yml中,指定Alertmanager的地址:

alerting:
  alertmanagers:
    - static_configs:
      - targets: ["<IP Address>:9093"]

到Alertmanager Web UI中,确认Alertmanager收到了来自Prometheus Server的报警:

5
  • 本页导读 (1)
文档反馈