第4章 Alertmanager のシークレットの設定
OpenShift Container Platform モニタリングスタックには、アラートを Prometheus からエンドポイントレシーバーにルーティングする Alertmanager が含まれています。Alertmanager がアラートを送信できるようにレシーバーで認証する必要がある場合は、レシーバーの認証認証情報を含むシークレットを使用するように Alertmanager を設定できます。
たとえば、シークレットを使用して、プライベート認証局 (CA) によって発行された証明書を必要とするエンドポイント受信者を認証するように Alertmanager を設定できます。また、基本 HTTP 認証用のパスワードファイルを必要とする受信者で認証するためにシークレットを使用するように Alertmanager を設定することもできます。いずれの場合も、認証の詳細は ConfigMap オブジェクトではなく Secret オブジェクトに含まれています。
4.1. Alertmanager 設定へのシークレットの追加
openshift-monitoring プロジェクトの cluster-monitoring-config config map を編集することで、コアプラットフォーム監視コンポーネントの Alertmanager 設定にシークレットを追加できます。
config map にシークレットを追加すると、シークレットは、Alertmanager Pod の alertmanager コンテナー内の /etc/alertmanager/secrets/<secret_name> にボリュームとしてマウントされます。
前提条件
openshift-monitoringプロジェクトで OpenShift Container Platform のコアモニタリングコンポーネントを設定する場合:-
cluster-adminクラスターロールを持つユーザーとしてクラスターにアクセスできます。 -
cluster-monitoring-configConfigMap を作成している。 -
openshift-monitoringプロジェクトの Alertmanager で設定するシークレットを作成しました。
-
ユーザー定義のプロジェクトをモニターするコンポーネントを設定する場合:
- クラスター管理者は、ユーザー定義プロジェクトのモニタリングを有効にしている。
-
cluster-adminクラスターロールを持つユーザーとして、またはopenshift-user-workload-monitoringプロジェクトのuser-workload-monitoring-config-editロールを持つユーザーとして、クラスターにアクセスできる。 -
openshift-user-workload-monitoringプロジェクトの Alertmanager で設定するシークレットを作成しました。
-
OpenShift CLI (
oc) がインストールされている。
手順
ConfigMapオブジェクトを編集します。コアプラットフォームの監視のために Alertmanager にシークレット設定を追加するには、次の手順を実行します。
openshift-monitoringプロジェクトでcluster-monitoring-configConfigMap を編集します。$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
data/config.yaml/alertmanagerMainの下にSecrets:セクションを次の設定で追加します。apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | alertmanagerMain: secrets: 1 - <secret_name_1> 2 - <secret_name_2>次の config map 設定の例では、
test-secret-basic-authおよびtest-secret-api-tokenという名前の 2 つのSecretオブジェクトを使用するように Alertmanager を設定します。apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | alertmanagerMain: secrets: - test-secret-basic-auth - test-secret-api-token
ユーザー定義のプロジェクトモニタリングのために Alertmanager にシークレット設定を追加するには、次の手順を実行します。
openshift-user-workload-monitoringプロジェクトでuser-workload-monitoring-config設定マップを編集します。$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
data/config.yaml/alertmanager/secretsの下にSecrets:セクションを次の設定で追加します。apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | alertmanager: secrets: 1 - <secret_name_1> 2 - <secret_name_2>次の config map 設定の例では、
test-secretおよびtest-secret-api-tokenという名前の 2 つのSecretオブジェクトを使用するように Alertmanager を設定します。apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | alertmanager: enabled: true secrets: - test-secret - test-api-receiver-token注記user-workload-monitoring-configConfigMapオブジェクトに適用される設定は、クラスター管理者がユーザー定義プロジェクトのモニタリングを有効にしない限りアクティブにされません。
-
ファイルを保存して、変更を
ConfigMapオブジェクトに適用します。新しい設定は自動的に適用されます。