יצירת כללי מדיניות התראות באמצעות Terraform

במאמר הזה מוסבר איך להשתמש ב- Google Cloud Terraform Provider כדי ליצור מדיניות התראות ב Google Cloud פרויקט. ‫ Google Cloud Terraform Provider מספק את המשאבים הבאים למדיניות התראות ולערוצי התראות:

Terraform הוא כלי לבנייה, לשינוי ולניהול גרסאות של תשתית. הוא משתמש בקובצי תצורה כדי לתאר את הרכיבים שנדרשים להפעלת אפליקציה אחת או את כל התשתית. למידע נוסף על שימוש ב-Terraform, אפשר לעיין במסמכים הבאים:

לפני שמתחילים

כדי לקבל את ההרשאות שנדרשות ליצירת כללי מדיניות להתראות באמצעות Terraform, צריך לבקש מהאדמין להקצות לכם את התפקיד Monitoring Editor (‏roles/monitoring.editor) ב-IAM בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

מידע נוסף על תפקידים ב-Cloud Monitoring זמין במאמר בקרת גישה באמצעות ניהול זהויות וגישה.

יצירת מדיניות התראות

כדי ליצור מדיניות התראות ב Google Cloud פרויקט:

  1. מתקינים ומגדירים את Terraform.

  2. ב-Cloud Shell, עוברים לספרייה שמכילה את ההגדרות של Terraform.

  3. עורכים את קובץ ההגדרות ומוסיפים את מדיניות ההתראות.

    לדוגמה, ההגדרה הבאה מגדירה מדיניות התראות ששולחת התראה כשניצול המעבד של מכונה וירטואלית גבוה מ-50% במשך יותר מדקה, עם התראות חוזרות שנשלחות כל 30 דקות.

    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 = "50"
            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"
      }
    }
    

    בדוגמה שלמעלה, השדה notification_channels מגדיר את ערוץ ההתראות של מדיניות ההתראות. השדה notification_channel_names מגדיר את ערוץ ההתראות כך שישלח התראות חוזרות. שני השדות מפנים לערוץ התראות עם display_name של email, שמוגדר במקום אחר בהגדרת Terraform. מידע נוסף זמין במאמר בנושא יצירה וניהול של ערוצי התראות באמצעות Terraform.

    אפשר להשתמש בתוויות כדי לשייך מדיניות התראות לאפליקציה ב-מרכז האפליקציות. מידע נוסף זמין במאמר איך משייכים מדיניות התראות לאפליקציה ב-App Hub.

  4. ב-Cloud Shell, מזינים terraform apply.

כדי לשנות את מדיניות ההתראות, מבצעים את העריכות הרצויות ומחילים מחדש את ההגדרות של Terraform. מידע נוסף מופיע במאמר בנושא ניהול מדיניות התראות באמצעות Terraform.

המאמרים הבאים