ステータスページ
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLabのステータスページを使用すると、インシデント発生時にユーザーに効率的に伝えるための静的なウェブサイトを作成し、デプロイできます。ステータスページのランディングページには、最近のインシデントの概要が表示されます:
インシデントを選択すると、特定のインシデントに関する詳細情報が記載された詳細ページが表示されます:
- 最後にインシデントが更新された時間など、インシデントのステータス。
- 絵文字を含むインシデントのタイトル。
- 絵文字を含むインシデントの説明。
- インシデントの説明、または有効な画像拡張子を持つコメントで提供されるすべての添付ファイル。
- インシデントの更新の時系列順のリスト。
ステータスページをセットアップする
GitLabのステータスページを設定するには、以下が必要です:
- クラウドプロバイダー情報を使用してGitLabを設定します。
- AWSアカウントを設定します。
- GitLabでステータスページプロジェクトを作成します。
- ステータスページにインシデントを同期します。
クラウドプロバイダー情報でGitLabを設定する
デプロイターゲットとしてサポートされているのは、AWS S3のみです。
前提要件:
- メンテナーロール以上が必要です。
ステータスページにコンテンツをプッシュするために必要なAWSアカウント情報をGitLabに提供するには、次の手順を実行します:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 左側のサイドバーで、設定を選択して、プロジェクトを見つけます。モニタリング > モニタリングを選択します。
- ステータスページします。
- 有効チェックボックスを選択します。
- Status Page URLボックスに、外部ステータスページのURLを入力します。
- S3バケット名ボックスに、S3バケットの名前を入力します。詳細については、バケット構成のドキュメントを参照してください。
- AWSリージョンボックスに、バケットのリージョンを入力します。詳細については、AWSドキュメントを参照してください。
- AWSアクセスキーIDとAWSシークレットアクセスキーを入力します。
- 変更を保存を選択します。
AWSアカウントを設定する
- AWSアカウント内で、次のファイルを例として使用して、2つの新しいIAMポリシーを作成します:
- バケットを作成します。
- バケットの内容を更新します(
S3_BUCKET_NAMEをバケット名に置き換えてください)。
- 最初の手順で作成した権限ポリシーを使用して、新しいAWSアクセスキーを作成します。
ステータスページプロジェクトを作成する
AWSアカウントを設定したら、ステータスページプロジェクトを追加し、必要なCI/CD変数を設定して、ステータスページをAWS S3にデプロイする必要があります。
- ステータスページプロジェクトをフォークする。これはリポジトリのミラーリングを介して行うことができます。これにより、最新のステータスページ機能を入手できます。
- 左側のサイドバーで、設定 > CI/CDを選択します。
- 変数を展開します。
- Amazonコンソールから次の変数を追加します:
S3_BUCKET_NAME- Amazon S3バケットの名前。指定された名前のバケットが存在しない場合、最初のパイプラインの実行で静的ウェブサイトホスティング用に作成および構成されます。AWS_DEFAULT_REGION- AWSリージョン。AWS_ACCESS_KEY_ID- AWSのアクセスキーID。AWS_SECRET_ACCESS_KEY- AWSのシークレット。
- 左側のサイドバーで、ビルド > パイプラインを選択します。
- ステータスページをS3にデプロイするには、パイプラインを新規作成を選択します。
このプロジェクトでイシューにアクセスできるユーザーを制限することを検討してください。インシデントを表示できるすべてのユーザーが、GitLabステータスページにコメントを公開できる可能性があります。
ステータスページにインシデントを同期する
CI/CD変数を作成したら、インシデントに使用するプロジェクトを設定します。
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > モニタリングを選択します。
- ステータスページします。
- クラウドプロバイダーの認証情報を入力し、必ず有効チェックボックスをオンにしてください。
- 変更を保存を選択します。
GitLabステータスページの使用方法
GitLabインスタンスを設定すると、関連する更新により、インシデントに関するJSON形式のデータが外部クラウドプロバイダーにプッシュされるバックグラウンドジョブがトリガーされます。ステータスページのウェブサイトは、このJSON形式のデータを定期的にフェッチします。チームからの余分な労力をかけずに、進行中のインシデントに関する情報を提供することで、ユーザーにフォーマットして表示します:
%%{init: { "fontFamily": "GitLab Sans" }}%%
graph TB
accTitle: Understand your status page
accDescr: How GitLab fetches, formats, and displays incident data
subgraph GitLab Instance
issues(issue updates) -- trigger --> middleware(Background job: JSON generation)
end
subgraph Cloud Provider
middleware --saves data --> c1(Cloud Bucket stores JSON file)
end
subgraph Status Page
d(Static Site on CDN) -- fetches data --> c1
end
インシデントを公開する
インシデントを公開するには、次の手順を実行します:
- GitLabステータスページの設定を有効にしたプロジェクトでインシデントを作成します。
- プロジェクトまたはグループオーナーは、
/publishクイックアクションを使用して、インシデントをGitLabステータスページに公開する必要があります。機密インシデントは公開できません。
バックグラウンドワーカーは、セットアップ中に提供した認証情報を使用して、インシデントをステータスページに公開します。公開の一環として、GitLabは次のことを行います:
Incident Responderを使用して、ユーザーとグループのメンションを匿名化します。- 非公開のGitLab参照のタイトルを削除します。
- インシデントの説明に添付されているすべてのファイルを、インシデントあたり最大5000個まで公開します。
公開後、インシデントのタイトルの下に表示されるステータスページに公開済みボタンを選択して、インシデントの詳細ページにアクセスできます。
インシデントを更新する
インシデントの更新を公開するには、インシデントの説明を更新します。
参照されているインシデントが変更された場合(タイトルや機密性など)、参照元のインシデントは更新されません。
インシデントにコメントを公開する
ステータスページのインシデントにコメントを公開するには、次の手順を実行します:
- インシデントに関するコメントを作成します。
- コメントを公開する準備ができたら、マイクの絵文字リアクション(
:microphone:🎤)をコメントに追加して、コメントを公開用にマークします。 - コメントに添付されているすべてのファイル(インシデントあたり最大5000個)も公開されます。
インシデントを表示するアクセス権を持つユーザーは誰でも絵文字リアクションをコメントに追加できるため、イシューへのアクセスをチームメンバーのみに制限することを検討してください。
インシデントのステータスを更新する
インシデントのステータスをopenからclosedに変更するには、GitLab内でインシデントをクローズします。インシデントをクローズすると、バックグラウンドワーカーがトリガーされ、GitLabステータスページのウェブサイトが更新されます。
公開済みのインシデントを機密にすると、GitLabはGitLabステータスページのウェブサイトからそれを公開解除します。


