במאמר הזה מוסבר איך להשתמש ב- Google Cloud Terraform Provider כדי ליצור מדיניות התראות ב Google Cloud פרויקט. Google Cloud Terraform Provider מספק את המשאבים הבאים למדיניות התראות ולערוצי התראות:
Terraform הוא כלי לבנייה, לשינוי ולניהול גרסאות של תשתית. הוא משתמש בקובצי תצורה כדי לתאר את הרכיבים שנדרשים להפעלת אפליקציה אחת או את כל התשתית. למידע נוסף על שימוש ב-Terraform, אפשר לעיין במסמכים הבאים:
- מסמכי תיעוד של Terraform on Google Cloud
- Google Cloud Terraform Provider
- איך מתחילים - Google Cloud
לפני שמתחילים
כדי לקבל את ההרשאות שנדרשות ליצירת כללי מדיניות להתראות באמצעות Terraform, צריך לבקש מהאדמין להקצות לכם את התפקיד Monitoring Editor (roles/monitoring.editor) ב-IAM בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
מידע נוסף על תפקידים ב-Cloud Monitoring זמין במאמר בקרת גישה באמצעות ניהול זהויות וגישה.
יצירת מדיניות התראות
כדי ליצור מדיניות התראות ב Google Cloud פרויקט:
ב-Cloud Shell, עוברים לספרייה שמכילה את ההגדרות של Terraform.
עורכים את קובץ ההגדרות ומוסיפים את מדיניות ההתראות.
לדוגמה, ההגדרה הבאה מגדירה מדיניות התראות ששולחת התראה כשניצול המעבד של מכונה וירטואלית גבוה מ-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.
ב-Cloud Shell, מזינים
terraform apply.
כדי לשנות את מדיניות ההתראות, מבצעים את העריכות הרצויות ומחילים מחדש את ההגדרות של Terraform. מידע נוסף מופיע במאמר בנושא ניהול מדיניות התראות באמצעות Terraform.
המאמרים הבאים
- מידע נוסף על Terraform
- אפשר לנסות דוגמאות קוד שמשתמשות ב-Google Cloud Terraform Provider עם Cloud Monitoring.
- אפשר לעיין ב Google Cloud מאגר ספקי Terraform ב-GitHub.
- אפשר לפתוח בקשה בקשר לבעיה ב-GitHub כדי לדווח על באג או לשאול שאלה לגבי Terraform.
- אפשר להשתמש בתגים כדי לשלוט בגישה למדיניות התראות.