Google Cloudの障害情報をプロジェクト単位でキャッチしたい!! Personalized Service Healthを使ってみた
Google Cloudから2023年8月にPersonalized Service Healthというサービスがプレビュー版として公開されました。
書こうと思った経緯
入社後、業務でGoogle Cloudを本格的に使い始め、Google Cloud自体の障害情報をいい感じにキャッチする方法がないかな〜〜と思い始めました。
(´-`).。oO(AWSのAWS Health Dashboardみたいな、プロジェクト単位で影響がある障害情報を確認できたり通知できるサービスがあればいいのに...
...ていうか知らないだけでそもそもあるのでは!?!?)
と気になって調べたところ、いいタイミングで公開されたこちらのサービスに辿りついたため、実際に使ってみました。
主な機能
ダッシュボード
コンソールからGoogle Cloudのインシデント一覧の詳細を確認できます。
インシデントがプロジェクトに与える影響度がわかるのがミソだと思います。
アラート
新しいインシデントの発生や既存のインシデントの更新などのシナリオに対して、アラートを設定できます。
アラートの条件やコンテンツをカスタマイズ可能です。
既存のGoogle Cloud Service Healthでは通知するとしてもRSS Feedだったと思うので、これはかなり嬉しいポイントだと思います。
APIによるアクセス
プログラムからインシデントにアクセスすることが可能なため、社内・サードパーティのツールと統合可能です。
使ってみた
早速機能を試してみました。
ダッシュボード
前提
ダッシュボードを表示するには下記が必要です。
- Service Health APIの有効化
- ダッシュボードにアクセスするための権限があること
表示
コンソールで下記のように表示されます。
過去に発生したインシデントも遡って表示可能です。
- Detailed State:インシデントの状態(解決済み or 調査中など)
- 関連性:インシデントがプロジェクトに与える影響度
- タイトル
- 対象プロダクト
- ロケーション
- 更新時刻
インシデントの詳細画面では、イベントのタイムラインやインシデントによって発生し得た障害、エラーが確認できます。
影響度、対象プロダクトが一目でわかり、いい感じです!!
アラート
前提
- ログ アラートを構成する権限があること
- アラートの送信先を定義するCloud Monitoring通知チャネルが作成済みであること
アラートポリシーの作成
Service Health ダッシュボードの画面からCREATE ALERT POLICY
で作成できます。
今回はプロジェクトに関連するインシデントが発生した場合に通知するというオプションにしてみました。
これでインシデントが発生したら通知が来るはずです。
発生してほしくはないものの、通知がくることを確認したい気持ちもあります。
APIによるアクセス
前提
- Service Health APIの有効化
- Service Health API にアクセスするための権限を設定します。
取得してみた
ACTIVEなインシデントがなかったため、とりあえず一つCLOSEDのイベントを指定してAPIで情報取得してみました。無事取得できました。
{
"name": "projects/{PROJECT_ID}/locations/global/events/wgWoyIxjQYqI3k2wCZ0q_g",
"title": "us-central1 : Elevated latency in accessing Google Cloud Storage",
"description": "The issue with Google Cloud Storage has been resolved for all affected projects as of Thursday, 2023-09-07 10:20 US/Pacific.\n\nWe thank you for your patience while we worked on resolving the issue.",
"category": "INCIDENT",
"state": "CLOSED",
"relevance": "PARTIALLY_RELATED",
"updates": [
{
"updateTime": "2023-09-07T17:39:33.705401Z",
"title": "We've received a report of an issue with Google Cloud Storage.",
"description": "We've received a report of an issue with Google Cloud Storage as of Thursday, 2023-09-07 10:39 US/Pacific.\nWe will provide more information by Thursday, 2023-09-07 11:10 US/Pacific.\n\nLocation: us-central1",
"symptom": "None at this time.",
"workaround": "None at this time."
},
{
"updateTime": "2023-09-07T17:54:27.195990Z",
"title": "us-central1 : Elevated latency in accessing Google Cloud Storage",
"description": "We are experiencing an issue with Google Cloud Storage beginning at Thursday, 2023-09-07 07:35 US/Pacific.\n\nOur engineering team continues to investigate the issue.\n\nWe will provide an update by Thursday, 2023-09-07 12:01 US/Pacific with current details.",
"symptom": "Customers in the impacted region may experience elevated latency.",
"workaround": "None at this time."
},
{
"updateTime": "2023-09-07T18:27:56.276646Z",
"title": "us-central1 : Elevated latency in accessing Google Cloud Storage",
"description": "We are experiencing an issue with Google Cloud Storage beginning on Thursday, 2023-09-07 08:19 US/Pacific.\n\nOur engineering team continues to investigate the issue.\n\nWe will provide an update by Thursday, 2023-09-07 12:30 US/Pacific with current details.",
"symptom": "Customers in the impacted region may experience elevated latency.",
"workaround": "None at this time."
},
{
"updateTime": "2023-09-07T18:55:13.120924Z",
"title": "us-central1 : Elevated latency in accessing Google Cloud Storage",
"description": "The issue with Google Cloud Storage has been resolved for all affected projects as of Thursday, 2023-09-07 10:20 US/Pacific.\n\nWe thank you for your patience while we worked on resolving the issue.",
"symptom": "Customers in the impacted region may experience elevated latency.",
"workaround": "None at this time."
}
],
"updateTime": "2023-09-07T18:56:20.315820Z",
"startTime": "2023-09-07T18:27:56.276646Z",
"endTime": "2023-09-07T18:55:13.120924Z",
"detailedState": "RESOLVED",
"eventImpacts": [
{
"product": {
"productName": "Google Cloud Storage"
},
"location": {
"locationName": "us-central1"
}
}
]
}
組織単位での情報取得もできるので、複数プロジェクトの障害情報管理も便利になりそうです!!
まとめ
プロジェクト単位で影響がある障害情報をキャッチしやすくなりました!!
Terraformからのアラート設定もできるようなので、試してみようと思います!!
Discussion