14.3 Alertmanagerのインストールおよび構成

Prometheusは、定期的にMicroTxコーディネータからデータをスクレイプします。Prometheus Alertmanagerは、指定されたしきい値およびルールに基づいて通知を送信します。通知を受信するように電子メールIDを構成した場合、Alertmanagerは、構成された電子メールIDに通知を送信します。

アラートは、prometheus.yamlファイルに示されているしきい値またはルールに基づいて送信されます。たとえば、MicroTxサービスまたはデータベース・サービスが使用できない場合、ユーザーに通知されます。アラートをカスタマイズできます。カスタム・アラートを追加するには、https://prometheus.io/docs/alerting/latest/notifications/を参照してください。
  1. Prometheusをインストールします。「PrometheusおよびGrafanaの設定」を参照してください。
  2. prometheus.yamlファイルを開きます。

    Kubernetes環境では、installation_directory/otmm-RELEASE/otmm/visualization/alert/kubernetesにあるprometheus.yamlを使用します。MicroTxコーディネータは、prometheus.yamlで提供される構成詳細を使用して、アラートをモニターおよび管理します。このファイルは、アラートを生成するルールも定義します。

    このファイルには、Prometheusがメトリックをスクレイプするインスタンスの詳細が含まれ、アラート・メッセージが送信されるしきい値を定義します。各プロパティおよび許可される値については、https://prometheus.io/docs/prometheus/latest/configuration/configuration/を参照してください。

    ローカル環境にPrometheusをインストールするには、installation_directory/otmm-RELEASE/otmm/visualization/alert/localにあるprometheus.yamlおよびrules.yamlファイルを使用します。MicroTxコーディネータは、prometheus.yamlで提供される構成詳細を使用して、アラートをモニターおよび管理します。rules.yamlファイルは、アラートを生成するルールを定義します。

    次のプロパティに値を指定します。

    • scrape_intervalおよびevaluation_intervalを入力して、Prometheusがコーディネータからメトリックをスクレイプする時間間隔を指定します。
      server:
          global:
              scrape_interval: 1m
              evaluation_interval: 1m
    • job_nameに一意の値を入力し、接続先のインスタンスを指定します。Prometheusは、指定されたインスタンスからメトリック・ログをスクレイプします。
      scrape_configs:
        - job_name: prometheus
          static_configs:
            - targets:
              - localhost:9090
         - job_name: "tcs"
           static_configs:
             - targets: 
               - otmm-tcs.otmm.svc.cluster.local:9000
         - job_name: kube-state-metrics
           metrics_path: /metrics
           static_configs:
             - targets:
               - prometheus-kube-state-metrics.otmm.svc.cluster.local:8080

      説明

      • scrape_configは、Prometheusのジョブの名前です。
      • otmm-tcs.otmm.svc.cluster.local:9000は、MicroTxコーディネータ・サービスの名前と、サービスが実行されているポート番号です。このサービスのアラート・メッセージが生成されます。
      • prometheus-kube-state-metrics.otmm.svc.cluster.local:8080は、メトリックをスクレイプするターゲットです。Prometheusはデフォルトで一連のメトリックを公開します。クラスタにPrometheusをインストールすると、prometheus-kube-state-metricsを含む一連のサービスがデプロイされます。このサービスを使用して、Kubernetesリソースの状態、ヘルスまたはパフォーマンスを問い合せます。
  3. 次のコマンドを実行して、prometheus-communityリポジトリからHelmチャートをダウンロードします。
    helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
    helm repo update
  4. ダウンロードしたprometheus.yamlファイルを使用してPrometheusを再インストールします。
    helm install -f prometheus.yaml prometheus prometheus-community/prometheus
  5. https://prometheus.io/download/#alertmanagerからPrometheus Alertmanagerをダウンロードします。
  6. 次のコマンドを実行して、Prometheus Alertmanagerをインストールします。
    helm install [RELEASE_NAME] prometheus-community/alertmanager

    ここで、[RELEASE_NAME]は、インストールするPrometheus Alertmanagerのリリース番号です。

Slackまたは電子メールでアラートを受信するように構成できます。Prometheus Alertmanagerのドキュメントを参照してください。

PrometheusおよびAlertmanagerをローカル環境にインストールした場合は、http://localhost:9090/でPrometheusにアクセスし、http://localhost:9093/でAlertmanagerにアクセスできます。