PagerDutyはMackerelのような監視ツールからのアラートを集約し、PagerDuty上に登録した任意の通知ルールに従って様々な通知を送ることが出来るインシデント管理サービスです。通知の例として、音声、SMS、email、プッシュ型のアラート通知ができます。
PagerDutyと連携を行う事で、Mackerelで発生したアラートをPagerDuty上のインシデントとして管理できます。
PagerDutyとの連携を追加する
連携の設定は、チャンネルページのPagerDutyフォームから行って下さい。
Integration Key
PagerDutyとの連携はEvents APIを通して行います。 PagerDuty上でMackerelと連携する"サービス"を作成して発行されたIntegration Keyを、Mackerelのチャンネル設定画面で入力してください。
- PagerDuty 画面上部の
Configuration
からService
を選択 - 画面中央右上の
Add New Service
を選択し、Mackerelと連携するサービスを作成します Integration Type
はUse our API directly
を選択します- この際、API の種類は
Events API v2
を指定してください
- この際、API の種類は
- 作成完了後、画面にIntegration Keyが表示されます。
Notification Level
PagerDuty連携では、アラート通知をPagerDutyへ送信する監視のステータスを選択すること出来ます。選択肢はWarning & Critical
とCritical only
の2つがあります。
Warning & Critical
- Warning, Criticalいずれかのアラートが発生した際に、PagerDutyにインシデント通知を送ります
- ステータスが正常に戻った時に、PagerDutyのインシデントは自動的に解決されます
- WarningとCritical間の状態遷移が生じた際にもPagerDutyに通知を送りますが、一度発生したインシデントに対する経過通知を送るのみとなります
Critical only
- Warning時のアラートでは通知は送らず、Criticalのアラート時のみにPagerDutyにインシデント通知を送ります
- ステータスが正常に戻った時に、PagerDutyのインシデントは自動的に解決されます
- Warning状態への遷移時にはPagerDutyに対しては何も行いません
アラート解決時の処理
デフォルトでは、Mackerel上でアラートが閉じた時点でPagerDuty上のインシデントも閉じられますが、"アラートが閉じた時にインシデントも閉じる"オプションをオフにすると、アラートが閉じた場合でもPagerDuty上のインシデントは閉じられません。
Events API v2でのみ通知される内容
API v2を利用している場合にのみ通知される内容に以下の項目が追加されます。
- 関連するグラフ
- メモ
- custom_identifier
API Versionについて
PagerDutyのチャンネル設定画面では利用するEvents APIのバージョンを選べますが、新規に作成する設定ではAPI v2を利用することを推奨しています。 2017年11月時点では通知される内容に大きな違いはありませんが、今後Events API v2経由の場合のみに利用できる通知パラメータを追加する可能性があります。