検索

4.2.3. Alertmanager でのアラートルートの作成

download PDF

Alertmanager を使用して、メール、IRC、またはその他の通知チャネルなどの外部システムにアラートを送信します。Prometheus Operator は、Alertmanager 設定を Red Hat OpenShift Container Platform (OCP) シークレットとして管理します。デフォルトでは、STF は、レシーバーを持たない基本設定をデプロイします。

alertmanager.yaml: |-
  global:
    resolve_timeout: 5m
  route:
    group_by: ['job']
    group_wait: 30s
    group_interval: 5m
    repeat_interval: 12h
    receiver: 'null'
  receivers:
  - name: 'null'

STF を使用してカスタム Alertmanager ルートをデプロイするには、alertmanagerConfigManifest パラメーターを Service Telemetry Operator に渡す必要があります。これにより、更新されたシークレットが作成され、Prometheus Operator の管理対象となります。詳細は、「「管理マニフェストの上書き」」を参照してください。

手順
  1. Red Hat OpenShift Container Platform にログインします。
  2. service-telemetry namespace に切り替えます。

    oc project service-telemetry
  3. STF デプロイメントの ServiceTelemetry オブジェクトを編集します。

    oc edit servicetelemetry stf-default
  4. 新規パラメーター alertmanagerConfigManifest および Secret オブジェクトコンテンツを追加して、Alertmanager の alertmanager.yaml 設定を定義します。

    注記

    これにより、Service Telemetry Operator によってすでに管理されているデフォルトのテンプレートが読み込まれます。変更が正しく設定されることを確認するには、値を変更して alertmanager-stf-default シークレットを返し、新しい値がメモリーに読み込まれていることを確認します。たとえば、global.resolve_timeout の値を 5m から 10m に変更します。

    apiVersion: infra.watch/v1alpha1
    kind: ServiceTelemetry
    metadata:
      name: stf-default
      namespace: service-telemetry
    spec:
      metricsEnabled: true
      alertmanagerConfigManifest: |
        apiVersion: v1
        kind: Secret
        metadata:
          name: 'alertmanager-stf-default'
          namespace: 'service-telemetry'
        type: Opaque
        stringData:
          alertmanager.yaml: |-
            global:
              resolve_timeout: 10m
            route:
              group_by: ['job']
              group_wait: 30s
              group_interval: 5m
              repeat_interval: 12h
              receiver: 'null'
            receivers:
            - name: 'null'
  5. 設定がシークレットに適用されていることを確認します。

    $ oc get secret alertmanager-stf-default -o go-template='{{index .data "alertmanager.yaml" | base64decode }}'
    
    global:
      resolve_timeout: 10m
    route:
      group_by: ['job']
      group_wait: 30s
      group_interval: 5m
      repeat_interval: 12h
      receiver: 'null'
    receivers:
    - name: 'null'
  6. 設定が Alertmanager にロードされたことを確認するには、curl にアクセスできる Pod を作成します。

    oc run curl --generator=run-pod/v1 --image=radial/busyboxplus:curl -i --tty
  7. alertmanager-operated サービスに対して curl を実行し、ステータスと configYAML の内容を取得し、提供された設定が Alertmanager にロードされた設定と一致することを確認します。

    [ root@curl:/ ]$ curl alertmanager-operated:9093/api/v1/status
    
    {"status":"success","data":{"configYAML":"global:\n  resolve_timeout: 10m\n  http_config: {}\n  smtp_hello: localhost\n  smtp_require_tls: true\n  pagerduty_url: https://events.pagerduty.com/v2/enqueue\n  hipchat_api_url: https://api.hipchat.com/\n  opsgenie_api_url: https://api.opsgenie.com/\n  wechat_api_url: https://qyapi.weixin.qq.com/cgi-bin/\n  victorops_api_url: https://alert.victorops.com/integrations/generic/20131114/alert/\nroute:\n  receiver: \"null\"\n  group_by:\n  - job\n  group_wait: 30s\n  group_interval: 5m\n  repeat_interval: 12h\nreceivers:\n- name: \"null\"\ntemplates: []\n",...}}
  8. configYAML フィールドに想定の変更が追加されていることを確認します。Pod を終了します。

    [ root@curl:/ ]$ exit
  9. 環境を消去するには、curl Pod を削除します。

    $ oc delete pod curl
    
    pod "curl" deleted
関連情報

Red Hat OpenShift Container Platform シークレットおよび Prometheus Operator についての詳細は、https://github.com/coreos/prometheus-operator/blob/master/Documentation/user-guides/alerting.mdを参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.