Membuat kebijakan pemberitahuan dengan Terraform

Dokumen ini menjelaskan cara menggunakan Google Cloud Penyedia Terraform untuk membuat kebijakan pemberitahuan di project Google Cloud Anda. Penyedia Terraform menyediakan resource berikut untuk kebijakan pemberitahuan dan saluran notifikasi: Google Cloud

Terraform adalah alat untuk membangun, mengubah, dan membuat versi infrastruktur. Terraform menggunakan file konfigurasi untuk menjelaskan komponen yang diperlukan untuk menjalankan satu aplikasi atau seluruh infrastruktur Anda. Untuk mengetahui informasi selengkapnya tentang cara menggunakan Terraform, lihat dokumen berikut:

Sebelum memulai

Untuk mendapatkan izin yang diperlukan untuk membuat kebijakan pemberitahuan menggunakan Terraform, minta administrator untuk memberi Anda peran IAM Monitoring Editor (roles/monitoring.editor) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya tentang peran Cloud Monitoring, lihat Mengontrol akses dengan Identity and Access Management.

Membuat kebijakan pemberitahuan

Untuk membuat kebijakan pemberitahuan di Google Cloud project Anda, lakukan langkah berikut:

  1. Instal dan konfigurasi Terraform.

  2. Di Cloud Shell, buka direktori yang berisi konfigurasi Terraform Anda.

  3. Edit file konfigurasi dan tambahkan kebijakan pemberitahuan Anda.

    Misalnya, konfigurasi berikut menentukan kebijakan pemberitahuan yang mengirimkan notifikasi saat pemakaian CPU instance VM lebih dari 50% selama lebih dari satu menit, dengan notifikasi berulang yang dikirim setiap 30 menit.

    resource "google_monitoring_alert_policy" "alert_policy" {
      display_name = "CPU Utilization > 50%"
      documentation {
        content = "The $${metric.display_name} of the $${resource.type} $${resource.label.instance_id} in $${resource.project} has exceeded 50% for over 1 minute."
      }
      combiner     = "OR"
      conditions {
        display_name = "Condition 1"
        condition_threshold {
            comparison = "COMPARISON_GT"
            duration = "60s"
            filter = "resource.type = \"gce_instance\" AND metric.type = \"compute.googleapis.com/instance/cpu/utilization\""
            threshold_value = "0.5"
            trigger {
              count = "1"
            }
        }
      }
    
      alert_strategy {
        notification_channel_strategy {
            renotify_interval = "1800s"
            notification_channel_names = [google_monitoring_notification_channel.email.name]
        }
      }
    
      notification_channels = [google_monitoring_notification_channel.email.name]
    
      user_labels = {
        severity = "warning"
      }
    }
    

    Dalam contoh sebelumnya, kolom notification_channels menentukan saluran notifikasi untuk kebijakan pemberitahuan. Kolom notification_channel_names mengonfigurasi saluran notifikasi tersebut untuk mengirim notifikasi berulang. Kedua kolom mereferensikan saluran notifikasi dengan display_name email, yang ditentukan di tempat lain dalam konfigurasi Terraform. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola saluran notifikasi dengan Terraform.

    Anda dapat menggunakan label untuk mengaitkan kebijakan pemberitahuan dengan aplikasi App Hub. Untuk mengetahui informasi selengkapnya, lihat Cara mengaitkan kebijakan pemberitahuan dengan aplikasi App Hub.

  4. Di Cloud Shell, masukkan terraform apply.

Untuk mengubah kebijakan pemberitahuan, lakukan pengeditan, lalu terapkan kembali konfigurasi Terraform. Untuk mengetahui informasi selengkapnya, lihat Mengelola kebijakan pemberitahuan dengan Terraform.

Langkah berikutnya

  • Pelajari Terraform lebih lanjut.
  • Coba contoh kode yang menggunakan Google Cloud Penyedia Terraform dengan Cloud Monitoring.
  • Lihat Google Cloud repositori Terraform Provider di GitHub.
  • Buatlah laporan masalah GitHub untuk melaporkan bug atau mengajukan pertanyaan tentang Terraform.