PagerDuty

アプリケーションのアラートを確実に通報
PagerDuty

アプリのアラートを確実に実行するために

アプリケーションの異常やサーバの負荷上昇など、システム運用管理者に課せられた監視業務は休むことを許しません。システムが大規模化、複雑化すると、担当業務を分ける必要が出てきます。また、24/365化により緊急時には夜間でも駆けつける担当者を決めておくのは当たり前になっています。その際問題になるのは、インシデントが発生したときに担当者に間違いなく通報が行われ、確実に対応が行われることです。

細やかな通報ルールを設定

PagerDutyは監視ツールやアプリケーションからのアラートを受けて、いろいろな方法でインシデントの発生を確実に担当者に通報するシステムです。通報はメールだけでなく音声による電話、SMS、スマホへのプッシュ型メッセージで行うことも可能です。

また、あらかじめ決めておいたルールに従い、たとえばメールを送って一定時間後にアラートを認識した、もしくは対応を行ったという報告がないと、別の人にアラートを送るというエスカレーションが自動的に行われます。たとえばAさんにメールを送って30分経ってもアクションがないとBさんに電話をかける、もし電話に出なければCさんにというようなルールを設定できるため、担当者が何らかの事情で対応ができなくてもそのままになることはありません。アラートは管理ツールやアプリケーションごとに管理されるので、インフラはインフラ技術者に、DBはミドルウェア技術者にと、的確な担当者に通報することが可能です。

さらに曜日や時間帯によってアラートを送る先を細かく設定できるため、特定の人が毎日24時間対応を迫られたり、運用管理者
全員にメールが送られて混乱するといったことがありません。チャットアプリのSlackとの連携機能もあり、複数人で対応する必要がある場合はSlackのチャンネルで簡単にコラボレーションが可能です。

アラートを送る先は複数設定できますが、PagerDutyでは一度に送る相手をあまり多く指定することを奨励していません。誰が責任を持って対応するのかなど、かえって混乱が生じるからです。それよりも、十分に計画されたエスカレーションのルールを決めることが推奨されます。

各種監視ツールとの連携、APIでもアラートを通知可能

連携する監視ツールはAWSのCloudWatchやZabbix、Nagios、Mackerelをはじめとして多数あり、Webインターフェイスで指定するだけで簡単に設定できます。またREST APIでのコールも可能なので、特定アプリのインシデント報告をユーザーがプログラムすることも容易です。もちろん、アプリケーションからPagerDutyにメールを送ることをアラートとすることもできるので、簡単なスクリプトを書くことでも複雑なエスカレーションが利用できます。

レポート機能で可視化して運用状況を管理

PagerDutyにはレポート機能があり、インシデントの数や対応に着手するまでの時間、解決までの時間などをリストやグラフで知ることができるので、インシデントが起きやすいアプリケーションやサービス全体の運用状況を定量的に管理できます。

ビジュアル化されたコンソール

PagerDutyはWebベースのクラウドサービスですので、ハードウェアインフラの状態、アプリケーションの動作状況、インシデントの発生状況などを、ビジュアルなダッシュボードでリアルタイムに確認できます。また、監視ツールとの連携のなども、同様にコードを書かずにWebインターフェイスで設定できます。

どこにいても安心

もちろん、モバイルアプリもAndroid、iOS ともに用意されているのでオフィス以外からでも、いつでもインシデントの状況を確認できます。

PagerDutyについて知る・学ぶ

PagerDutyに関するお問い合わせはお気軽にお寄せください。