Mackerelでは、登録しているホストを監視し、状況に応じてアラートを通知できます。
監視機能を有効にする
監視対象となるホスト
- 監視対象となるホストは、そのステータスが "working" または "standby" であるもののみです。
- 新規登録されたホストのステータスのデフォルト値の設定は[オーガニゼーショントップ]→[設定]タブ より行えます。もしくは https://mackerel.io/my?tab=setting リンクより直接設定も可能です。 初期状態を”working”にすることにより、ホスト登録直後からアラート通知を受け取れます。
- ステータスが "standby" であるホストについては後述する通知が行われず、ウェブでの確認のみとなります。
ステータス | 監視 | 通知 |
---|---|---|
working | される | される |
standby | される | されない |
maintenance | されない | されない |
poweroff | されない | されない |
ホストの退役やステータス変更時のアラートの扱いについて
ホストを退役させた際には、そのホストに関連するアラートは自動的に閉じられます。この自動的に閉じられたアラートの復旧通知は送られません。
ホストステータスの変更時には、アラートに対する自動的な操作は一切おこなわれません。
"standby" 状態時に発生したアラートは、その後ホストステータスを "working" に変更したとしても、アラートの発生通知はおこなわれません。このケースでは、その後アラートの状態が変更された場合か、通知の再送間隔が設定されており、その間隔が過ぎた場合に通知がおこなわれます。
ホストステータスを "maintenance" や "poweroff" に変更した場合、その時既に発生していたアラートについては、その後閾値異常や疎通が回復したとしても自動的には閉じられません。"working" や "standby" にステータスを戻し、異常状態が回復すればアラートは自動的に閉じられます。
死活監視
mackerel-agentをインストール・起動したホストに対しては、死活監視が自動的に行なわれます。
死活監視はmackerel-agentからのメトリックの定期投稿を監視しています。一定期間この投稿がない場合、Mackerelはそのホストに異常が発生したと判断してアラートを発生させます。
メトリック監視
mackerel-agentから投稿されるメトリック(ユーザー定義メトリックを含む)に対して、閾値による監視を行えます。閾値にはWarningとCriticalの2段階を設定可能です。
閾値は投稿される値との比較になりますが、CPU使用率およびメモリ使用率は割合で指定できます。
監視ルール
監視ルールには以下の項目が含まれます。
- 名前
- 監視対象のメトリック
- Warning条件
- 比較演算子
- 閾値
- Critical条件
- 比較演算子
- 閾値
- 平均値監視
- 複数のメトリック値の平均値に対して監視を行います
- 監視対象のホストが所属するサービスおよびロール
- 最大試行回数
- 閾値を超えた状態が連続した時にアラートを発生させます。一度でも閾値を下回ればアラートは閉じられます。
- メモ
- 監視ルールの意図や、アラートが発生した時の対応などを自由に記述できます。
通知の再送間隔
- アラートが発生している状態が続いている間、設定された時間間隔で通知を送り続けることができます。
注意事項
- 監視条件の閾値はいつでも変更できます。監視対象メトリックの変更はできません。
- 閾値を変更すると、既に発生済みのアラートはそのままの状態になりますので、手動で閉じていただく必要があります。
- 監視対象のホストが所属するサービスおよびロールは複数指定できます。ひとつも指定しない場合、すべてのホストが監視対象となります。
- 監視対象として指定されているロールがすべて削除された場合、その監視ルールはすべてのホストに対して実行されます。
- 同じメトリックに対して複数の監視ルールがある場合、それぞれの監視は個別に実行されます。
- 最新のメトリックのタイムスタンプが現在時刻よりも20分以上古い場合と、以前に送られたメトリックよりも古いタイムスタンプのメトリックが送られた場合は、監視が実行されません
監視ルールを作成する
監視ルール一覧画面で監視ルールを一覧できます。この画面右上の「監視ルールを追加」から監視条件を新規作成できます。
アラートを確認する
アラート一覧画面でアラートを確認できます。
アラートを閉じる
発生したアラートは異常状態が回復すれば(ホストからの疎通が復活する・メトリックが閾値を外れる)自動的に閉じられますが、アラート一覧画面や個別のアラート画面から「アラートを閉じる」ボタンにより手動で閉じることもできます。
アラート通知を抑制する
アラート設定より、アラート通知を一時的・恒久的に抑制できます。この設定がDisabledまたはSuspendedになっている場合、アラートが生成される際に通知を行いません(アラートの生成は通常どおり行われます)。
アラートをまとめる
アラートをまとめるアラートグループ機能については以下のドキュメントを参考してください。
通知
Mackerelは、アラートが生成された際・アラートの状態に変化があった際・閉じられた際に通知をおこないます。
通知チャンネルの設定より、アラートの通知チャンネルを編集できます。対応している通知チャンネルはEメールとWebhookの他に、Slack、TypeTalk、Chatwork、PagerDuty など多くのWebサービスと連携可能になっています。対応チャンネルは随時追加していきます。
メールブロードキャストはそのオーガニゼーションに所属しているすべてのメンバーにメールを一斉送信します(アカウント設定により受け取らないように変更できます)。その他の通知チャンネルの設定の詳細については、ヘルプのサイドバー「アラート/alerts」をご確認下さい。
通知メールを受け取らない(アカウント設定)
アカウント設定ページのメール通知で「アラート通知」をOffにすると、通知メールを受信しない設定にできます。この設定はチャンネル設定の「通知するイベント」すべてが対象になります。
監視ルール単位で通知を抑制する
監視ルール一覧画面で操作することにより、監視ルール単位で通知の抑制(ミュート)を設定できます。
Web API からも設定可能です。一時的に通知を抑制したい場合などに活用してください。
通知グループで柔軟な通知条件を設定する
Mackerelでは、通知グループを作成することでチームの通知チャンネルに特定のサービスの通知のみを行うなどの柔軟な通知条件を設定できます。通知グループは通知チャンネルと同じように通知チャンネル設定のページから作成することが出来ます。
設定したサービス/監視ルールに関する通知のみが、通知グループに所属するチャンネルに送られるようになります。
全ての通知を受け取る通知グループ
オーガニゼーションにはそれぞれ一つ全ての通知を受け取るデフォルト通知グループが存在します。新しい通知チャンネルを登録した時は自動的にデフォルト通知グループに所属します。
対象となる通知グループを限定する
通知グループの通知対象に監視ルールを設定する際、監視ルール名の左にあるアイコンをクリックして「この通知グループのみに通知する」オプションを有効にすると、設定した監視ルールからの通知はその通知グループにのみ通知され、他の通知グループには通知されなくなります。
設定例
CPU%
と connectivity
の監視ルールによるアラート通知は 運用チームの Chatwork に通知し、それ以外は Email と Slack に通知する場合は下図のようになります。
通知レベル
Critical only
がOnの場合、Warningは通知されません。詳細な通知条件は以下のとおりです。
- Critical以上(Critical, Unknown)のエラーレベルは通知される
- Critical以上になったことのあるアラートのOKは通知される