Mengonfigurasi pemberitahuan melalui Cloud Logging

Dokumen ini menjelaskan cara menyiapkan, menyesuaikan, dan menguji pemberitahuan untuk peristiwa kesehatan layanan.

Personalized Service Health terintegrasi dengan pemberitahuan log Cloud Monitoring sehingga Anda dapat mengonfigurasi dan menerima pemberitahuan. Anda dapat membuat notifikasi untuk kondisi berikut:

  • Saat insiden baru dilaporkan.
  • Saat insiden yang ada diperbarui, seperti saat Google Cloud Dukungan mengirim pesan baru.
  • Saat insiden untuk produk atau lokasi Google Cloud tertentu seperti wilayah dibuat atau diperbarui.
  • Saat detail tertentu dari insiden yang ada diperbarui, seperti status dan relevansi.

Karena notifikasi ini menggunakan pemberitahuan log, setiap notifikasi dikaitkan dengan insiden Pemantauan. Setiap notifikasi menyertakan link ke halaman insiden dan link langsung ke dasbor Kesehatan Layanan. Pelajari lebih lanjut cara menyelidiki insiden.

Setelah mengonfigurasi pemberitahuan, Anda akan menerima notifikasi setiap kali kondisi kebijakan pemberitahuan terpenuhi. Notifikasi ini tunduk pada Batas pemantauan; contohnya adalah 20 pemberitahuan per kebijakan per hari per project.

Bagian berikut menunjukkan cara mengonfigurasi kebijakan pemberitahuan log dan memberikan contoh untuk skenario pemberitahuan umum. Pemberitahuan log mengandalkan saluran notifikasi, yang mendukung berbagai integrasi, termasuk email, SMS, Pub/Sub, webhook, Slack, dan PagerDuty.

Untuk merutekan pemberitahuan ke tujuan selain opsi yang tercantum sebelumnya, pertimbangkan untuk menggunakan webhook. Misalnya, Anda dapat mengonfigurasi webhook ke ServiceNow. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi webhook di Google Cloud dalam dokumentasi ServiceNow.

Format notifikasi pemberitahuan

Format notifikasi pemberitahuan bervariasi menurut saluran notifikasi.

Email

Jika Anda mengonfigurasi pemberitahuan untuk mengirim email, saat kondisi pemberitahuan terpenuhi, pesan menggunakan alamat alerting-noreply@google.com akan dikirim ke alamat email pilihan Anda.

Slack

Jika Anda mengonfigurasi notifikasi kustom untuk diposting ke Slack, pesan dari aplikasi Cloud Monitoring akan muncul di saluran yang Anda pilih saat peristiwa terjadi.

Menyiapkan kebijakan pemberitahuan

Notifikasi menggunakan kebijakan pemberitahuan, yang menjelaskan situasi saat Anda ingin mendapatkan pemberitahuan dan cara mendapatkan pemberitahuan.

Anda dapat mengonfigurasi kebijakan pemberitahuan dalam dasbor Service Health atau menggunakan Google Cloud CLI.

Kebijakan pemberitahuan memerlukan saluran notifikasi Cloud Monitoring, yang menentukan tempat pemberitahuan dikirim. Jika tidak memiliki saluran notifikasi, Anda dapat membuatnya di Konsol Google Cloud atau menggunakan Monitoring API.

Dalam dasbor Service Health

Lihat panduan memulai.

Menggunakan gcloud CLI

Untuk menyiapkan kebijakan pemberitahuan menggunakan gcloud CLI:

  1. Dapatkan ID saluran notifikasi Anda.

    a. Cantumkan ID saluran notifikasi.

    gcloud config set project PROJECT_ID gcloud beta monitoring channels list
    

    b. Cari entri dengan projects/PROJECT_ID/notificationChannels/. Entri ini adalah ID saluran notifikasi.

  2. Buat file policy.json dengan konten berikut:

    • ALERT_NAME muncul di notifikasi. Contoh: "Insiden Google Cloud SQL"

    • ALERT_CONDITION menentukan kapan harus memberi tahu.

      • Saat menentukan kondisi, gunakan nilai yang ditemukan di Google Cloud produk dan lokasi.
      • Contoh kondisi pemberitahuan:

        Kondisi pemberitahuan Nilai ALERT_CONDITION
        Menerima pemberitahuan untuk peristiwa Cloud SQL apa pun jsonPayload.impactedProductIds =~ \"hV87iK5DcEXKgWU2kDri\"
        Menerima pemberitahuan untuk peristiwa apa pun yang terjadi di zona us-central1-a jsonPayload.impactedLocations =~ \"us-central1-a\"

      Lihat contoh kondisi pemberitahuan lainnya.

    • NOTIFICATION_CHANNEL adalah ID saluran notifikasi, yang Anda ambil menggunakan perintah daftar di langkah sebelumnya. Contoh: projects/PROJECT_ID/notificationChannels/885798905074.

    Cuplikan berikut menunjukkan contoh file policy.json.

    {
      "displayName": "ALERT_NAME",
      "combiner": "OR",
      "conditions": [ {
        "displayName": "Log match condition",
        "conditionMatchedLog": {
          "filter": "ALERT_CONDITION",
         } } ],
      "notificationChannels": [ "NOTIFICATION_CHANNEL" ],
    }
    
  3. Buat kebijakan Cloud Monitoring.

    gcloud config set project PROJECT_ID
    gcloud alpha monitoring policies create --policy-from-file="policy.json"
    

Menyesuaikan konten pemberitahuan

Anda dapat menetapkan kolom di dalam notifikasi melalui kolom berikut di file JSON:

  • labelExtractors: Properti yang akan disertakan dalam header notifikasi. Untuk menyesuaikan properti ini, lihat panduan LabelExtractors.
  • content: Format notifikasi email. Anda dapat menggunakan substitusi variabel markdown, yang memungkinkan Anda menggunakan labelExtractors sebagai variabel. Untuk menyesuaikan variabel ini, lihat panduan ini.

Lihat contoh kebijakan dan ketentuan pemberitahuan untuk mengetahui cara menyesuaikan pemberitahuan.

Menguji pemberitahuan

Untuk menguji pemberitahuan, Anda akan menggunakan contoh log pengujian menggunakan Cloud Logging. Log pengujian menampilkan logika pemberitahuan yang sebelumnya Anda konfigurasikan.

Menggunakan konsol Google Cloud

Lakukan tindakan berikut:

  1. Buka halaman referensi untuk metode entries:write, yang memungkinkan Anda menulis entri log ke Cloud Logging. Jendela yang memungkinkan Anda mencoba metode akan muncul.
  2. Dalam isi permintaan, ubah PROJECT_ID ke project Anda sendiri.
  3. Ubah kolom jsonPayload apa pun dalam isi permintaan, bergantung pada kondisi pemberitahuan yang Anda uji. Anda juga dapat memeriksa skema event_log.proto dan menyesuaikan nilai dalam log untuk menguji skenario tertentu yang Anda minati.

    {
      "entries": [
        {
          "logName": "projects/PROJECT_ID/logs/servicehealth.googleapis.com%2Factivity",
          "resource": {
            "type": "servicehealth.googleapis.com/Event",
            "labels": {
              "resource_container": "PROJECT_ID",
              "location": "global",
              "event_id": "U4AqrjwFQYi5fFBmyAX-Gg"
            }
          },
          "labels": {
            "servicehealth.googleapis.com/new_event": "true",
            "servicehealth.googleapis.com/updated_fields": "[]"
          },
          "jsonPayload": {
            "@type": "type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog",
            "category": "INCIDENT",
            "title": "EXAMPLE... NOT REAL INCIDENT",
            "description": "EXAMPLE FOR TESTING, NOT REAL INCIDENT. 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": "2022-07-15T22:26:40Z",
            "endTime": "2022-07-16T22:13:20Z",
            "impactedLocations": "['us-east1', 'australia-southeast2']",
            "impactedProducts": "['CloudSQL']",
            "impactedProductIds": "['hV87iK5DcEXKgWU2kDri']",
            "startTime": "2022-07-13T12:26:40Z",
            "nextUpdateTime": "2022-07-13T16:26:40Z",
            "state": "ACTIVE",
            "detailedState": "CONFIRMED",
            "relevance": "RELATED"
          }
        }
      ]
    }
    
  4. Klik Jalankan. Jendela tempat Google APIs Explorer meminta akses ke akun Anda akan muncul.

  5. Izinkan akses Google APIs Explorer. Jendela dengan isi permintaan menampilkan screenshot berikut, yang menunjukkan keberhasilan.

    200 pesan

  6. Tunggu beberapa menit, lalu verifikasi bahwa pemberitahuan diaktifkan.

    1. Di konsol Google Cloud, buka Cloud Monitoring > Incidents dan cari pemberitahuan.
    2. Periksa apakah Anda menerima pemberitahuan di saluran notifikasi yang digunakan oleh kebijakan pemberitahuan.

Jika Anda perlu menguji pemberitahuan lagi, tunggu setidaknya 5 menit sebelum melakukannya.

Menggunakan gcloud

Anda juga dapat membuat entri log pengujian dengan memanggil Cloud Logging API menggunakan perintah gcloud.

  1. (Opsional) Periksa project Anda saat ini.

    gcloud config list
    
  2. Tetapkan project Anda saat ini.

    gcloud_name config set project PROJECT_ID
    
  3. Tulis entri log pengujian.

    gcloud logging write --payload-type=json
    LOG_NAME
    '{ "category": "INCIDENT", "relevance": "IMPACTED", "@type": "type.googleapis.com/google.cloud.servicehealth.logging.v1.EventLog", "description": "This is a test log entry"}'
    
  4. Tunggu beberapa menit, lalu verifikasi bahwa pemberitahuan diaktifkan.