SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

エクスペリエンスが刷新されたプロジェクト管理ツール「Jira」の最新動向(AD)

すべてのインシデントに関する情報を集約して、チームでインシデントを管理する「Opsgenie」

エクスペリエンスが刷新されたプロジェクト管理ツール「Jira」の最新動向 第4回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本連載では、プロジェクト管理ツールの「Jira(ジラ)」について基本的な使い方から最新情報までを、Atlassianユーザーグループのリーダーである梶原と高橋が紹介していきます。今回はインシデント管理サービスであるOpsgenieについて紹介します。当初はJira Opsについて執筆する予定でしたが、4月に開催されたAtlassian Summitで、Jira OpsはOpsgenieに統合されて、インシデント管理のツールとしてAtlassianのプロダクトにラインアップされました。今回は、Opsgenieはどんなことができる製品なのかを紹介し、その設定方法についてチュートリアル的に説明させていただきたいと思います。

  • X ポスト
  • このエントリーをはてなブックマークに追加

Opsgenieの概要と特長

Opsgenieとは

 Opsgenieは、昨年9月にアトラシアンに買収されAtlassianファミリーの仲間入りを果たしました。Opsgenieは、Datadog、 AWS CloudWatchやUptimeなどから検知したアラートを集約し、発生したインシデントに対して誰が、いつ、どういった対応をしたのかを管理します。

 そしてチーム外のステークホルダーへの通知として、Slack、Statuspageなどのコミュニケーション・ツールと連携して情報の共有を行います。

豊富なインテグレーション

 Opsgenieは、インシデントに対応するためのモニタリング・ロギングのサービス、コミュニケーションツールとのインテグレーション機能が豊富に揃えられており、200のサービスと連携できます。

 すでに皆さんは、サービスを正常稼働するための監視ツールやサービスを利用されていると思います。そのほとんどのサービスで利用可能になっています(参考:「Opsgenie - Integrations | Atlassian」)。

  • モニタリング&ロギング  (130)
  • 自動化 (15)
  • チャット & コラボレーション (21)
  • API (6)
  • ITSM & チケットシステム (26)
  • おすすめ(14)
  • 開発ツール (10)

 また、WebhookやAPIでの連携もできるので、サービスを監視するためのスクリプトや社内ツールからのインテグレーションも可能です。

 特に、自動化のインテグレーションは嬉しいですね。AWSだけでなく、Azureでもオートスケーリングの自動化をOpsgenieで検知して、そのトリガーも実行してくれます。

 開発ツールは、GitHubやCircleCIなどと連携できます。GitHubのPull Requestがマージされたタイミングで、Opsgenie側のアラートを自動でCloseに変更することが可能です。

 開発者の自然な活動が、自動的に時系列にアラート対応として記録されていくので、経緯を集約する必要がなくなり、開発者はインシデント対応のみに集中すれば良い環境を作ることができます。

インシデント対応者に「認知」させるまでがアラートの役割

 Opsgenieの通知機能の特徴として、一定時間内に反応がなければリマインドやイスカレーションをして、しかるべき担当者に確実に認知させる点が挙げられます。例えば、インシデントがサービスダウンなどの重大な内容の場合は、アラート検知後、直ちに対応に取り掛からなければいけません。そこで夜間は、担当者へ確実に認知させるべく、直接電話をかける、といった通知を行うこともできます。

エスカレーション設定

 あらかじめ設定したオンコールスケジュールに沿って、まずは担当者に通知されます。

 スクリーンショットの例では、インシデント対応者に10分以上「認知」されない場合、チーム全員にエスカーレションするように設定されています。そのため、システムで検知されたアラートについて、確実にオペレーターがインシデントを認知できるようになります。

Opsgenieにアラートを集約することで通知設定が標準化される

 サービスを継続的に安定して運用するために、目的別にいくつかのモニタリングツールを組み合わせて利用します。オールインワン的なサービスもありますが、例として、以下のような観点での監視が必要になります。

  • サーバーリソースのメトリクス収集
  • アプリケーションのログ監視
  • 外形監視ツール
  • APMツールなどによる、アプリケーションの性能監視

 モニタリングツールによっては、リマインド機能を豊富に実装していたり、単にWebhookを一度送信するような少し物足りない機能であったり、自社で作った監視スクリプトから通知したい場合は初めから実装が必要だったりします。

 また、アラートは、モニタリングツールによる検知以外にも、ユーザーからの問い合わせや、社内での動作検証実施時に発覚しインシデントに発展するケースもあります。

 どのようなケースでも、Opsgenieがコミュニケーションのハブになって、各モニタリングツールごとの通知機能の差異を埋めて、Slackへの通知、必要に応じたエスカレーションなど、通知機能や通知手順を標準化し、最も重要な「担当者に認知させる」ことを確実に行います。

アラートの対応を集約して、タイムライン化する

 すべてのアラートはこのように時系列で一覧で把握できます。アラートについては、ルール化することで対応すべきチームを自動的にアサインできるようになります。

 Opsgenieでは、以下のステータスが割り振られています。

  • Open(アラートが作成されて手付かずの状態)
  • Ack(アラートが担当者によって認知された状態)
  • Close(アラートの対処が終わって、クローズされた状態。静観も含む)

 このステータスについては、チームの中でどういう状態だとAckなのかを会話して、各ステータスの意味についてすり合わせをしておくと良いでしょう。

 アラート作成時のルールポリシーを適宜設定しておくことによって、アサインの自動化や通知先のカスマイズなどができるようになります。

 よくある使い方としては、「Opsgenieにアラートが登録されると同時にSlackで通知しチームで共有する」、「アラート種別によってタグを自動で付記し、対応するチームのアサインを変更する」など、こうすることで人手を介してエスカレーションする必要がなくなり、対処できる人へ直接アサインができるようになります。

 例えば「DatadogやUptimeなどのインフラ的なアラートであればインフラチームへ」、「Sentryなどアプリケーションログからのアラートであればサーバーサイドエンジニアへ」アサインするといった形です。また、タグを正しく整理して付記することで、過去の類似インシデントを検索できるようになるメリットもあります。

 各アラートの詳細のアクティビティログを確認することで、作業内容を時系列で確認することができます。

 また、モニタリングツールからアラートが作成されている場合、初動に必要な情報がOpsgenieに記載されていれば、元情報であるモニタリングツール側の閲覧は必須ではありません。

 インシデントの対応を行う過程でアラート検知から対応者が認知するまでの時間などが自動的に記録されます。GitHubやBitbucketなどとOpsgenieを連携している場合は、対応の一環でコード修正を行った時間なども自動的に追加されます。さらに、StatuspageやJira Service Deskなどと連携することで、チームの外のステークホルダーともシームレスに連携することも可能です。

 なお、エンタープライズプランにすると、Opsgenie Timeline機能を利用でき、インシデントのステータスはもちろん、関連するアラート、アップデート、担当者のやりとりなど、細かい情報がタイムライン形式で表示されます。これにより、関係者が迅速に対応でき、そしてインシデントのポストモーテム(ふりかえり)を行う際に必要な情報が、すべてまとまっている状態になります。

出先でも最低限の対応が可能

 こちらのスクリーンショットは、Opsgenieのモバイルアプリのスクリーンショットです。アラートの一覧を確認することができます。Ack(アラートを認知した)、Close(静観して良いアラート)などの初期トリアージを行えるようになっています。

 チームでインシデント対応をしている場合に、サービス運用上、チームで合意したルールに沿って、シフトでインシデント対応の順番などを決めているケースがあると思います。その場合に、アプリ上で [Menu] > [See Schedule] で表示できる「My Schedule」を使うことで、その日のインシデント対応者の確認が行えたり、自分のシフトなどを確認することもできます。

次のページ
Opsgenieのセットアップ

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
エクスペリエンスが刷新されたプロジェクト管理ツール「Jira」の最新動向連載記事一覧

もっと読む

この記事の著者

梶原 成親(Yappli,Inc.)(カジハラ ナリチカ)

ヤプリ株式会社 CTO室 室長 / VP of Information.楽天株式会社にて、開発環境および生産性を向上させるプロダクトのプロダクトオーナーを経験。スクラムでの開発および運用体制を確立する。2014年、株式会社リクルートライフスタイルに入社。HOT PEPPER Beautyの開発責任者として参画。SIer主導のレガシーな開発チームから自立させ、持続的に成長できるチームへ変革させる。 2016年、株式会社エウレ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11650 2019/08/21 16:29

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング