ב-Google Distributed Cloud (GDC) עם air gap, אתם יכולים להגדיר ערוצי התראות בהתאמה אישית כדי לנתב התראות שהופעלו לאנשים, לצוותים או לסבבי כוננות ספציפיים. שליחת התראות דרך ערוצים כמו PagerDuty, SMS, webhook או שילובים בהתאמה אישית עוזרת לצמצם את עייפות ההתראות ותומכת בתגובה לאירועים בזמן.
ערוצי התראות מוגדרים מראש כמו Slack או אימייל לא זמינים ב-GDC, לכן צריך להגדיר לפחות ערוץ אחד בהתאמה אישית כדי לקבל התראות. אתם מגדירים את סוג הערוץ, נקודת הקצה של היעד ופרטי הכניסה לאימות באובייקט ConfigMap של Alertmanager. לאחר מכן מייבאים את ההגדרות האלה למשאב בהתאמה אישית של ObservabilityPipeline במרחב השמות של הפרויקט.
לפני שמתחילים
כדי לנהל משאבים בהתאמה אישית ב-ObservabilityPipeline, צריך את ההרשאות הנדרשות.
בקשת תפקידים ב-IAM ברמת הארגון
כדי לבקש את התפקידים הבאים, פנו למנהל החשבון הארגוני ב-IAM:
- יצירת ObservabilityPipeline PA (
observabilitypipeline-pa-creator): יצירת משאבים בהתאמה אישית שלObservabilityPipeline. - עריכת ObservabilityPipeline PA (
observabilitypipeline-pa-editor): עריכה או שינוי של משאבים בהתאמה אישית שלObservabilityPipeline. - צפייה ב-ObservabilityPipeline PA (
observabilitypipeline-pa-viewer): צפייה במשאבים מותאמים אישית שלObservabilityPipeline. - עורך ConfigMap (
observabilitypipeline-configmap-editor): יצירת אובייקטים מסוגConfigMapבמרחב השמות של הפלטפורמה.
בקשת תפקידי IAM בפרויקט
כדי לבקש את התפקידים הבאים, פנו לאדמין של הפרויקט ב-IAM:
- עריכת ObservabilityPipeline (
observabilitypipeline-editor): עריכה או שינוי של משאבים בהתאמה אישית שלObservabilityPipelineבמרחב השמות של הפרויקט. - צפייה ב-ObservabilityPipeline (
observabilitypipeline-viewer): צפייה במשאבים בהתאמה אישית שלObservabilityPipelineבמרחב השמות של הפרויקט.
הגדרת ערוצי התראות
מגדירים ערוצי התראות במרחב השמות של הפרויקט:
מגדירים את ההתאמה האישית של ערוצי ההתראות בקובץ YAML בשם
alertmanager.yml. צריך להשתמש באותו תחביר כמו במפרט של Alertmanager:יוצרים אובייקט
ConfigMapוכוללים את ההגדרות האישיות מהקובץalertmanager.ymlבשדהdata.בדוגמה הבאה אפשר לראות איך האובייקט
ConfigMapצריך להיראות עם הקובץalertmanager.yml:apiVersion: v1 kind: ConfigMap metadata: name: CONFIGMAP_NAME # The namespace must match your project namespace. namespace: PROJECT_NAMESPACE data: # The file name must be alertmanager.yml alertmanager.yml: | # Define your notification channels. # Add the custom configuration in the following lines of this file. # Follow the same syntax as in https://prometheus.io/docs/alerting/latest/configuration # [...]מחליפים את מה שכתוב בשדות הבאים:
-
CONFIGMAP_NAME: השם של קובץ ההגדרה שלConfigMap. השם הזה ישמש אתכם בהמשך במשאב המותאם אישיתObservabilityPipeline. -
PROJECT_NAMESPACE: מרחב השמות של הפרויקט.
-
מחילים את האובייקט
ConfigMapעל שרת Management API באותו מרחב שמות שבו מוגדרות ההתראות:kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yamlמחליפים את מה שכתוב בשדות הבאים:
-
KUBECONFIG_PATH: הנתיב לקובץ kubeconfig של שרת Management API. -
CONFIGMAP_NAME: השם של קובץ ההגדרה שלConfigMap.
-
עורכים את מפרט המשאב בהתאמה אישית של
ObservabilityPipelineכדי לייבא את ההגדרות לשדהalertmanagerConfig:# Configure the observability pipeline. apiVersion: observability.gdc.goog/v1 kind: ObservabilityPipeline metadata: # The namespace must match your project namespace. namespace: PROJECT_NAMESPACE name: OBSERVABILITY_PIPELINE_NAME spec: # Configure alerts. alerting: # The alerting configuration must be in the ConfigMap. # The value must match the ConfigMap name exactly. alertmanagerConfig: CONFIGMAP_NAME # [...]מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NAMESPACE: מרחב השמות של הפרויקט. -
OBSERVABILITY_PIPELINE_NAME: השם של המשאב בהתאמה אישית ב-ObservabilityPipeline. -
CONFIGMAP_NAME: השם שנתתם לקובץ ההגדרה שלConfigMap. השם חייב להיות זהה.
-
שומרים את הקובץ.
מחילים את השינויים במשאב המותאם אישית
ObservabilityPipelineעל שרת Management API באותו מרחב שמות שבו נמצאות ההתראות שהגדרתם:kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yamlמחליפים את מה שכתוב בשדות הבאים:
-
KUBECONFIG_PATH: הנתיב לקובץ kubeconfig של שרת Management API. -
OBSERVABILITY_PIPELINE_NAME: השם של קובץ ההגדרה שלObservabilityPipeline.
-