安装

Alertmanager 和 Prometheus Server 一样均采用 Golang 实现,并且没有第三方依赖。

1. 获取并安装软件包

Alertmanager 最新版本的下载地址可以从 Prometheus 官方网站 https://prometheus.io/download/ 上获取。

export VERSION=0.15.2
curl -LO https://github.com/prometheus/alertmanager/releases/download/v$VERSION/alertmanager-$VERSION.darwin-amd64.tar.gz
tar xvf alertmanager-$VERSION.darwin-amd64.tar.gz

2. 创建 Alertmanager 配置文件

Alertmanager 解压后会包含一个默认的 alertmanager.yml 配置文件,内容如下所示:

route:
  group_by: ['alertname']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 1h
  receiver: 'web.hook'
receivers:
  - name: 'web.hook'
    webhook_configs:
      - url: 'http://127.0.0.1:5001/'
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']

Alertmanager 的配置主要包含两个部分:路由(route)接收器(receivers)

所有的告警信息从顶级路由开始,根据标签匹配规则进入到不同的子路由,并且根据子路由设置的接收器发送告警。目前配置文件中只设置了一个顶级路由,并且定义的接收器为 web.hook。因此,所有的告警都会发送给 web.hook。

3. 启动 Alertmanager

Alermanager 会将数据保存到本地中,默认的存储路径为data/,启动 Alertmanager 之前需要创建相应的目录:

mkdir data
./alertmanager

4. 查看运行状态

Alertmanager 启动后可以通过 9093 端口访问(http://192.168.33.10:9093

  • Alert 菜单下可以查看 Alertmanager 接收到的告警内容。

  • Silences 菜单下则可以通过 UI 创建静默规则。

  • 进入 Status 菜单,可以看到当前系统的运行状态以及配置信息。

5. 关联 Prometheus 与 Alertmanager

编辑 Prometheus 配置文件 prometheus.yml,并添加以下内容:

alerting:
  alertmanagers:
    - static_configs:
        - targets: ['localhost:9093']

重启 Prometheus 服务,从 http://192.168.33.10:9090/config 可以查看 alerting 配置是否生效。

最后更新于