第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-config
config map を作成している。 -
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-config
config map を編集します。$ 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
config map を編集します。$ 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
- 変更を適用するためにファイルを保存します。新しい設定は自動的に適用されます。