概要
本記事では、PagerDutyを利用しているユーザが Datadog On-Callを試した際の気づきをまとめます。
- Datadog On-Callの良い点
- PagerDutyとの仕様の違い
- オンコール機能の比較
- PagerDutyから Datadog On-Callへの移行のハードル
Datadog On-Callの良い点
オブザーバビリティ製品に Datadogを採用している場合、運用ツールが集約されます。
複数の製品を跨ぐことなくトラブルシュートが可能です。
オンコール機能の比較
エスカレーションポリシーやスケジュールなど、オンコールに関連する機能については大きな違いはなく、PagerDutyから On-Callには問題なく移行できるかと思います。
On-Calは Terraformが対応しているためコード管理が可能です。
PagerDutyとの仕様の違い
PagerDutyではインシデント ≒ オンコールと考えることができ、インシデントが作られるとオンコール担当者に通知されます。
Datadogではインシデントとオンコールは別機能であり、オンコールされても紐付くインシデントが作られることはありません。
コストへの影響
Datadog On-Callの良い点として、PagerDutyよりもコストを抑えられるといった意見を目にします。実際に On-Callだけであればその可能性は高いです。
ただ Datadogではインシデントを管理したい場合、On-Callとは別に Incident Managerへの課金が必要になります。
お得なバンドル価格はあるものの、PagerDutyの金額よりも高くなる可能性がある点は注意です。
PagerDutyから Datadog On-Callへの移行のハードル
必ずしもすべてのユーザに該当する訳ではありませんが、移行時にハードルとなり得ることがいくつかあります。
Integrations
On-Callには外部サービスとの Integrationが存在しません。
- e.g. AWS CloudWatch, Splunk, Zabbix ...
代替案として、メールをトリガーとしたページは実現できますが、運用方法は変わってしまいます。
メールフィルタリング
PagerDutyではメールの内容をフィルタリングすることができます。
On-Callには同等の機能がなく、Events API Emailsでの代替案はありますが手間がかかります。
- メールを Eventとして取り込む
- Eventに対して Monitorを作成する
- Monitorの条件にメールの内容にある文字列を指定する
On-Call 利用者のエクスポート
管理者にとって利用者の棚卸しのために一覧をエクスポートする機能が欲しいところですが On-Callにはありません。
複数のプロダクト・Organizationが混在する場合、より管理が大変になります。
Role の権限制御
PagerDutyでは Base Roleと Team Roleがあり、柔軟な権限制御が実現できます。
以下のように、ユーザは所属するチームの設定(e.g. スケジュール)の変更はできるが、ユーザの作成はできないようにすることが可能です。
- e.g. ユーザの Base Role:Responder、Team Role:Manager
- ユーザが所属するチームのみ設定変更が可能
- 所属しないチームに対する設定変更は不可
- e.g. 管理者の Base Role:Global Admin(管理者以外は Responder)
- 管理者はユーザの追加や全体の設定変更が可能
- 管理者以外は不可
On-Callでは上記を実現することができません。そのため管理者が知らないところでユーザが作成され、コミットメントしているシート数を消費し、課金が発生してしまう可能性があります。
まとめ
オンコールの機能においては PagerDutyから Datadog On-Callへの移行はスムーズにできそうです。それ以外ではかゆいところに手が届かないと感じることはあるものの、クリティカルな問題は見つかりませんでした。
ただインシデント管理をする場合は注意が必要です。まず移行によるコストメリットが無くなる可能性があり、また PagerDutyと Datadogではインシデントの役割が違います。