【簡単】AtlassianのStatuspageでサービス稼働状況を管理してみた

はじめに

こんにちは。TechDivの宇治川です。
今回はAtlassianプロダクトの1つであるStatuspageを利用してWebサービスの稼働状況を管理してみました。私がプロダクトマネージャーとして参画しているプロダクトは、開発生産性向上を目的に他社SaaS・IaaS・APIと非常に多く連携しています。そこで自社プロダクトのサービス稼働状況と、連携プロダクトのサービス稼働状況を管理し監視する必要がありました。そんな中このニーズを簡単に満たすStatuspageにたどり着きましたのでその内容を共有させてください。

Statuspage とは


Atlassianが提供するStatuspageはリアルタイムのサービスステータスをユーザーに簡単に伝えることができるサービスです。インシデントの調査中から解決済みまでをエンドユーザーとサブスクライバーに開示することができます。またサードパーティーコンポーネントを利用しサービスが依存するミッションクリティカルなツールのステータスを表示できます。Uptime Showcaseを使用して、ページをマーケティングツールに変え、現在および将来の顧客に過去の稼働時間を開示することができます。
参考:https://www.atlassian.com/ja/software/statuspage

利用背景と結果

まず、StatusPageを利用開始する前に考えていたことと、利用後の結果についてまとめます。なお本サービス稼働状況お知らせページの提供範囲は、StatusPage利用初期フェーズなので、開発チームメンバーおよび社内ステークホルダー限定での提供を想定しています。

  1. 自社プロダクトと連携プロダクトのサービス稼働率を一元管理し可視化したい。(開発チーム用)
    自社プロダクト稼働率は、Components・RESTAPI・System metricsを利用し実現可能
    連携プロダクト稼働率は、Components(Third-party)を利用し実現可能

  2. 3rd Party連携プロダクトにインシデントが発生しサービス稼働状況に変更があった際にチームSlackに通知したい。またその際の稼働率も計測したい。
    Components(Third-party)に登録されているプロダクトの中で実現可能
    Components(Third-party)に登録されていないプロダクトはAutomation機能を利用し実現可能

  3. インシデントの対応状況の可視化および通知をしたい。またその際の稼働率も計測したい。
    Incidents からインシデントの起票が可能。インシデントの内容やステータスをページ表示可能。またインシデント起票後にサブスクライバーにメールやSlack通知を送ることができる。

  4. サービス稼働状況お知らせページの構築に割り当てるリソースは最小限にしたい。
    デフォルトに既に画面が用意されている。また、Customize page and emails からページの文言やCSSメールテンプレートの修正が可能

使い方

StatusPage にアクセス。無料版の利用を開始します。

サインアップが完了するとこのような StatusPage の管理画面が表示されます。

Activate your page:課金プランの料金選択ができる。(デフォルトはFreeプラン)
Incidents:インシデントの作成・更新・テンプレート追加ができる。
Components:コンポーネントや3rdPartyコンポーネントの管理ができる。
Subscribers:ステータスページのサブスクライバーを管理できる。
Your page:ページUIやメールのカスタマイズやシステムメトリックの登録できる。
Apps:ステータスページと連携できるアプリを管理できる。(JIRAやSlackなど)
Status embed:ステータス表示ウィジェットの位置や色などを編集できる。
View status page:構築したステータスページを実際に確認できる。
Profile:プロフィール情報や通知設定を管理できる。
Users:このステータスページの管理者を管理できる。
API info:RESTAPIのキーやサンプルリクエストが確認できる。
Billing:請求情報が確認できる。
Logout:ログアウトができる。

インシデント

インシデントの登録は以下から行います。インシデントテンプレートからの登録や、影響を受けるコンポーネントのステータス更新、サブスクライバーに向けた通知ができます。またインシデントの登録はアプリ連携によりJIRAからも登録できるようです。

インシデントの登録を完了すると内容がStatusPageに内容が反映されます。

また定期メンテナンス通知の登録も可能です。こちらもサブスクライバーに向けた通知ができます。

また開始終了日時に合わせてコンポーネントのステータスを「Under Maintenance」から「Operational」に自動変更することも可能です。

定期メンテナンス登録を完了すると内容がStatusPageに内容が反映されます。

コンポーネント

コンポーネントの追加は以下から行います。

コンポーネント毎にステータス設定と、過去のステータス履歴を表示するかしないかを選びます。

3rdPartyコンポーネントは以下から選択することができます。

コンポーネントの登録を完了すると内容がStatusPageにコンポーネントが反映されます。

ページカスタマイズ

ページのHTMLや詳細CSSのカスタマイズ、ロゴの変更は以下から行います。

メールのカスタマイズは以下から行います。

簡単なCSSの調整は以下から行います。

連携アプリ

StatusPageと連携可能なアプリです。例えばStatusPageのコンポーネントのステータス変更を任意のSlackチャンネルに通知することができます。

管理者ユーザー追加

以下から管理者ユーザーの追加をすることができます。無料版は上限10ユーザーまでのようです。

利用料金

以下のページの公開タイプによってプランが設定されています。

  • 公開ページ
  • 非公開ページ
  • 対象者の固有ページ

詳しくはこちらをご確認下さい

最後に

Twilio:https://status.twilio.com/
Snowflake:https://status.snowflake.com/
Twitter:https://api.twitterstat.us/

上記のように顧客向けや従業員向けに数多くの大手企業がStatusPageのサービスを利用しています。無料版でもいろいろな機能を利用することができたので是非試してみてはいかがでしょうか?