הגדרת ערוץ התראות של פרוטוקול Simple Mail Transfer Protocol ‏ (SMTP) להתראות של Prometheus

בדף הזה מוסבר איך להגדיר ערוץ התראות של פרוטוקול העברת דואר פשוט (SMTP) עבור התראות של Prometheus. גם אם לא תגדירו את ערוץ ההתראות הזה, עדיין תוכלו לראות את ההתראות ב-infra-obs או ב-platform-obs.

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

הגדרת המכשיר והתקנת תוכנה

הגדרת ערוצי התראות

כדי להגדיר ערוצי התראות ב-Slack או באימייל, פועלים לפי השלבים הבאים:

  1. כדי ליצור ערוץ התראות בהתאמה אישית, צריך לארח את שרת ה-SMTP ברשת ולהכין את פרטי ההגדרה של ה-SMTP (כתובת IP, שם משתמש, סיסמה, כתובת אימייל של הנמען) כדי ליצור את ההגדרה של Alertmanager. אפשר לאמת את כתובת ה-IP של מארח ה-SMTP באמצעות פינג מ-bm03.

  2. יוצרים קובץ cm.yml עם התוכן הבא:

    ב-smtp_smarthost צריכה להיות כתובת ה-IP של שרת ה-SMTP שמארח הלקוח.

      apiVersion: v1
      kind: ConfigMap
      metadata:
        # The name must match the ConfigMap name specified in the ObservabilityPipeline custom resource.
        name: appl-alert-notification
        # The namespace must match the project namespace
        namespace: PROJECT_NAMESPACE
      data:
        # The file name must be alertmanager.yml
        alertmanager.yml: |
          global:
            smtp_smarthost: SMTP HOST IP ADDRESS
            smtp_from: FROM_EMAIL_ADDRESS
            # Give empty string for unsecured smtp server in username and password and false in smtp_require_tls.
            smtp_auth_username: USERNAME
            smtp_auth_password: PASSWORD
            smtp_require_tls: true
          route:
            group_by: ['alertname', 'cluster', 'service']
            group_wait: 30s
            group_interval: 5m
            repeat_interval: 3h
            receiver: team-X-mails
          receivers:
            - name: 'team-X-mails'
              email_configs:
                - to: **RECIEVER_EMAIL_ID**
    
  3. מעדכנים את שדות החובה עם התוכן הנכון.

  4. מריצים את kubectl apply -f cm.yaml.

  5. יוצרים ObservabilityPipeline משאב בהתאמה אישית עם הפרטים הבאים:

        # Configure observability pipeline
      apiVersion: observability.gdc.goog/v1
      kind: ObservabilityPipeline
      metadata:
        # Choose namespace that matches the project's namespace
        namespace: PROJECT_NAMESPACE
        name: observability-config
      spec:
        # Configure Alertmanager
        alerting:
          # Permission: PA and AO
          # The alerts configuration must be in the key "alertmanager.yml" of the configMap
          alertmanagerConfig: CUSTOMIZED_CONFIGMAP_NAME
        ...
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_NAMESPACE: מרחב השמות של הפרויקט.
    • CUSTOMIZED_CONFIGMAP_NAME: השם שבו השתמשתם לקובץ התצורה באובייקט ConfigMap צריך להיות זהה בדיוק לשם של אובייקט ConfigMap. לדוגמה, בשלב 2, אם השתמשתם ב-appl-alert-notification בתור שם ConfigMap, צריך להשתמש באותו שם לקובץ ההגדרות באובייקט ObservabilityPipeline.

  6. מעדכנים את מרחב השמות לערך שבו השתמשתם בשלב הקודם.

  7. מריצים את kubectl apply -f ob.yaml.

  8. כל ההתראות שמוצגות בלוח הבקרה של Grafana ב-GDC מפעילות שליחת אימייל אם הן במצב firing. מפעילים את Grafana עבור מרחב השמות שבו השתמשתם בשלבים הקודמים ובודקים אם יש התראות במצב firing. ההתראות יישלחו אליכם באימייל.

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