概要
前回はとりあえず出たアラートをすべてメールで送信しました
今回は route 機能を使って特定のアラートだけをメールで飛ばすようにしてみます
環境
- Gitlab 16.3.6
- Alertmanager 0.25.0
gitlab.rb
alertmanager['listen_address'] = '0.0.0.0:9093'
alertmanager['receivers'] = [
{
name: 'email',
email_configs: [
to: 'your_to@mail',
from: 'your_from@mail',
smarthost: 'smtp.ess.nifcloud.com:465',
auth_username: 'your_access_key',
auth_password: 'your_secret_key',
require_tls: false,
send_resolved: true
]
}
]
alertmanager['routes'] = [
{
receiver: 'email',
group_wait: '30s',
group_interval: '5m',
repeat_interval: '4h',
matchers: [ 'alertname = RedisDown' ]
}
]
# alertmanager['default_receiver'] = 'email'
ポイント
- alertname は必ず付与されるのでこれを使ってアラートを特定します
- マッチには正規表現が使える match_re などもあります
- ルールをカスタムすれば severity などのラベルも付与できますが面倒なので alertname を使います
- デフォルトの Gitlab のルールだと他に instance, job あたりがマッチルールに使えます
- default_receiver を設定してしまうと route にマッチしない場合に defualt_receiver の設定を使ってしまうのでコメントする
0 件のコメント:
コメントを投稿