Alertmanager 構築手順
概要
前回 Node Exporter 構築しました。
今回は監視実施サーバで Alertmanager 構築を実施します。
今回やること 3 行まとめ
- Alertmanager インストール & 起動スクリプト作成
- Prometheus 通知条件設定
- Alertmanager で Slack 通知

Alertmanager の役割
アラートのレベルによって通知先をどの程度の頻度で送信するかを管理します。
あくまで、通知先の管理をします。
実際のアラート条件の設定は Prometheus Server でします。
環境
- CentOS Linux release 7.3.1611 (Core)
Alertmanager インストール
- パッケージインストール
1 | $ cd /usr/local/src |
- シンボリックリンク作成
1 | $ sudo ln -s /usr/local/alertmanager/alertmanager /bin/alertmanager |
Alert 通知先設定
以下 Slack へ通知設定です。
1 | $ cd /usr/local/alertmanager |
- alertmanager.yml
slack 通知箇所を適宜変更して下さい。
Alertmanager 起動
とりあえず起動するならこれだけ
1 | $ sudo alertmanager -config.file alertmanager.yml |
http://alertmanager_server:9093/#/alerts
にアクセスすると以下のような画面が表示されます。

Prometheus 同様、Alertmanager も起動スクリプトを作成しそこで起動管理をします。
起動スクリプト作成
- オプションファイル作成
1 | $ cat << 'EOF' > /usr/local/alertmanager/option |
- Alertmanager 起動スクリプト
1 | $ sudo cat << 'EOF' | sudo tee /usr/lib/systemd/system/alertmanager.service |
- 起動設定
1 | $ sudo systemctl daemon-reload |
アラート通知条件設定
アラート通知条件は Prometheus Server 側で設定します。
Prometheus Official - ALERTING RULES
サンプルとして以下設定します。
1 | $ cd /usr/local/prometheus-server |
Prometheus Server で Alertmanager URL 設定
Prometheus の起動オプションで Alertmanager URL 設定します。
1 | -alertmanager.url=http://localhost:9093 |
1 | $ cd /usr/local/prometheus-server |
注意
今回 Alertmanager は Prometheus Server と同サーバ上に設定しているので
1 | http://localhost:9093 |
となっていますが、ドメインが異なる場合は適宜設定してください。
Prometheus Alerts ページアクセス
設定した通知条件が表示されています。

通知試験
監視対象サーバの node_exporter を停止してみます。
1 | $ sudo systemctl stop node_exporter |
すると…
Slack に通知が届きました!

http://alertmanager_server:9093/#/alerts
にアクセスすると通知内容一覧が表示されます。

以上で簡単ながら
Prometheus からリモートサーバを監視しアラート通知するところまでを
まとめました。
補足
フロントエンド
Grafana 3.x 以降でデフォルトプラグインで Prometheus をサポートしていたりと
Prometheus のフロントは Grafana が導入しやすく相性が良かったです。

メトリクスを自作したり、Prometheus 独自のクエリを駆使して
様々なメトリクス監視が実現できます。
My alerts.rules
Learning
改めて自身で構築してみて
Line Casual Talks #1, #2 を見直すと非常に理解が深まると思います。
一助になれば何よりです。
以上です。
ご静聴ありがとうございました。