Personalized Service Health mencatat peristiwa kesehatan layanan di Cloud Logging. Fungsi ini mencatat semua pembaruan pada deskripsi, relevansi, atau status acara sebagai log yang berbeda.
Dokumen ini menjelaskan cara melihat, mengekspor, dan menyimpan log Service Health.
Sebelum memulai
Verify that billing is enabled for your Google Cloud project.
- Aktifkan Service Health API untuk project yang lognya ingin Anda lihat, ekspor, atau simpan.
- Dapatkan akses ke log Service Health.
Skema log
Lihat Referensi skema log untuk kolom yang dapat Anda tetapkan dalam kueri.
Melihat log Service Health
Untuk melihat log Service Health:
- Buka konsol Google Cloud .
- Pilih Operations > Logging > Logs Explorer.
- Pilih Google Cloud project di bagian atas halaman.
Di menu drop-down Log name, pilih Service Health.
Daftar log untuk
type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog
akan muncul.Luaskan entri log untuk melihat detail acara. Contoh berikut menunjukkan peristiwa umum.
"insertId":"1pw1msgf6a3zc6", "timestamp":"2022-06-14T17:17:55.722035096Z", "receiveTimestamp":"2022-06-14T17:17:55.722035096Z", "logName":"projects/PROJECT_ID/logs/servicehealth.googleapis.com%2Factivity", "resource":{ "type":"servicehealth.googleapis.com/Event", "labels":{ "resource_container":"797731824162", "location":"global", "event_id":"U4AqrjwFQYi5fFBmyAX-Gg" } } "labels":{ "new_event":"true" "updated_fields": "[]" }, "jsonPayload":{ "@type":"type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog", "category":"INCIDENT", "title":"We are experiencing a connectivity issue affecting Cloud SQL in us-east1, australia-southeast2.", "description":"We are experiencing an issue with Google Cloud infrastructure components at us-east1, australia-southeast2. Our engineering team continues to investigate the issue. We apologize to all who are affected by the disruption.", "updateTime":"2023-11-14T22:26:40Z", "endTime":"2023-11-14T22:13:20Z", "impactedLocations":"['us-east1','australia-southeast2']", "impactedProducts":"['Google Cloud SQL']", "impactedProductIds":"['hV87iK5DcEXKgWU2kDri']", "nextUpdateTime":"2023-11-14T22:40:00Z", "startTime":"2020-09-13T12:26:40Z", "state":"ACTIVE", "detailedState":"CONFIRMED", "relevance":"RELATED", }
Mengueri log Service Health
Anda dapat menggunakan Logs Explorer untuk membuat kueri log Service Health. Anda mungkin memerlukan referensi berikut untuk membuat kueri:
Contoh:
Kondisi | Kueri |
Mendapatkan log dengan relevansi insiden tertentu | jsonPayload.relevance = ("IMPACTED" OR "RELATED")
|
Menggabungkan beberapa filter | jsonPayload.impactedLocations : "us-central1" AND jsonPayload.impactedProducts : "Google Compute Engine" AND jsonPayload.state = "ACTIVE"
|
Mengekspor log Service Health
Anda dapat mengekspor log Service Health ke tujuan sink Cloud Logging mana pun menggunakan konsol, API, atau gcloud CLI. Google Cloud Untuk menyiapkan sink Cloud Logging, lihat Mengonfigurasi dan mengelola sink.
Anda dapat menyertakan dan mengecualikan log Kesehatan Layanan dengan mengonfigurasi filter penyertaan dan pengecualian untuk sink.
Saat menetapkan produk atau lokasi, gunakan nilai yang ditemukan di Google Cloud products dan locations.
Menggabungkan log Service Health di tingkat folder
Mengirim log terkait Service Health dari semua project dalam folder ke project yang dibuat untuk log Service Health memungkinkan Anda melakukan kueri yang lebih kompleks pada log tersebut.
Anda akan membuat sink di tingkat folder untuk mengirim semua log terkait Service Health ke project baru di bawah folder tersebut. Lakukan tindakan berikut:
Buat project baru di bawah folder. Project ini dialokasikan ke log Service Health.
gcloud projects create PROJECT_ID --folder FOLDER_ID
Buat sink gabungan di tingkat folder untuk project lain dalam folder.
gcloud logging sinks create SINK_NAME \ SINK_DESTINATION --include-children \ --folder=FOLDER_ID --log-filter="LOG_FILTER"
Untuk mendapatkan log semua insiden yang relevan, tetapkan nilai LOG_FILTER ke berikut ini:
resource.type=servicehealth.googleapis.com/Event AND jsonPayload.category=INCIDENT AND jsonPayload.relevance!=NOT_IMPACTED AND jsonPayload.@type=type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog
Tetapkan izin untuk Akun Layanan tujuan ekspor.
gcloud projects add-iam-policy-binding PROJECT_ID --member=SERVICE_ACCT_NAME --role=roles/logging.bucketWriter gcloud projects add-iam-policy-binding PROJECT_ID --member=SERVICE_ACCT_NAME --role=roles/logging.logWriter
(Opsional) Jika Anda tidak ingin mengirim log ke sink
_Default
, buat bucket log untuk log terkait Service Health di project.gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async
Jika Anda membuat bucket log, buat sink untuk mengirim log tersebut ke bucket.
gcloud logging sinks create SINK_NAME_BUCKET \ logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID \ --project=PROJECT_ID --log-filter="LOG_FILTER"
Mengkueri log Service Health dengan BigQuery
Anda dapat mengkueri log yang dikirim ke Cloud Logging menggunakan BigQuery dengan:
- Membuat kueri SQL.
- Menggunakan BigQuery API untuk memasukkan hasil kueri ke sistem eksternal.
Lakukan tindakan berikut:
Buat bucket log di project yang Anda buat untuk log Service Health.
gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async
-
gcloud logging buckets update BUCKET_ID --location=LOCATION --enable-analytics --async
Buat set data BigQuery baru yang ditautkan ke bucket dengan log Service Health.
gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION
Jika perlu, aktifkan BigQuery API.
gcloud services enable bigquery.googleapis.com
Sekarang Anda dapat menjalankan kueri SQL yang kompleks terhadap BigQuery, seperti:
Kondisi | Kueri |
Mendapatkan log dengan relevansi insiden tertentu | gcloud query --use_legacy_sql=false 'SELECT * FROM `PROJECT_ID.LINK_ID._AllLogs` WHERE JSON_VALUE(json_payload["relevance"]) = "IMPACTED"'
|
Mendapatkan semua peristiwa log turunan untuk peristiwa induk | gcloud query --use_legacy_sql=false 'SELECT * FROM `PROJECT_ID.LINK_ID._AllLogs` WHERE JSON_VALUE(json_payload["parentEvent"]) = "projects/PROJECT_ID/locations/global/events/EVENT_ID"'
|
Mempertahankan acara sebelumnya
Personalized Service Health memberikan retensi peristiwa yang terbatas.
Jika Anda perlu menyimpan catatan peristiwa kesehatan layanan sebelumnya selama lebih dari beberapa bulan, sebaiknya simpan log Service Health.