10.5. Zero Trust Workload Identity Manager のモニタリング
デフォルトでは、Zero Trust Workload Identity Manager の SPIRE サーバーおよび SPIRE エージェントコンポーネントがメトリクスを出力します。Prometheus Operator 形式を使用してこれらのメトリクスを収集するように OpenShift Monitoring を設定できます。
10.5.1. ユーザーワークロードモニタリングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
クラスターでユーザーワークロードモニタリングを設定することで、ユーザー定義プロジェクトのモニタリングを有効にできます。
前提条件
-
cluster-admin
クラスターロールを持つユーザーとしてクラスターにアクセスできる。
手順
cluster-monitoring-config.yaml
ファイルを作成し、ConfigMap
を定義および設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
ConfigMap
を適用します。oc apply -f cluster-monitoring-config.yaml
$ oc apply -f cluster-monitoring-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ユーザーワークロードのモニタリングコンポーネントが
openshift-user-workload-monitoring
namespace で実行されていることを確認します。oc -n openshift-user-workload-monitoring get pod
$ oc -n openshift-user-workload-monitoring get pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
prometheus-operator
、prometheus-user-workload
、thanos-ruler-user-workload
などの Pod のステータスが Running
である必要があります。
10.5.2. サービスモニターを使用した SPIRE サーバーのメトリクスコレクションの設定 リンクのコピーリンクがクリップボードにコピーされました!
SPIRE サーバーのオペランドは、デフォルトで /metrics
エンドポイントのポート 9402
でメトリクスを公開します。Prometheus Operator がカスタムメトリックを収集できるようにする ServiceMonitor
カスタムリソース(CR)を作成して、SPIRE サーバーのメトリクスコレクションを設定できます。
前提条件
-
cluster-admin
クラスターロールを持つユーザーとしてクラスターにアクセスできる。 - Zero Trust Workload Identity Manager をインストールした。
- クラスターに SPIRE サーバーのオペランドをデプロイした。
- ユーザーワークロードモニタリングを有効にした。
手順
ServiceMonitor
CR を作成します。ServiceMonitor
CR を定義する YAML ファイルを作成します。servicemonitor-spire-server
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
ServiceMonitor
CR を作成します。oc create -f servicemonitor-spire-server.yaml
$ oc create -f servicemonitor-spire-server.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ServiceMonitor
CR が作成されると、ユーザーワークロードの Prometheus インスタンスが、SPIRE サーバーからのメトリクス収集を開始します。収集されたメトリクスには、job="spire-server"
というラベルが付けられます。
検証
-
OpenShift Container Platform Web コンソールで、Observe
Targets に移動します。 Label フィルターフィールドに次のラベルを入力して、メトリクスターゲットをフィルタリングします。
service=spire-server
$ service=spire-server
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
spire-server-metrics
エントリーの Status 列にUp
と表示されていることを確認します。
10.5.3. Service Monitor を使用した SPIRE Agent のメトリクスコレクションの設定 リンクのコピーリンクがクリップボードにコピーされました!
SPIRE エージェントのオペランドは、デフォルトで /metrics
エンドポイントのポート 9402
でメトリクスを公開します。ServiceMonitor
カスタムリソース(CR)を作成して SPIRE Agent のメトリクスコレクションを設定できます。これにより、Prometheus Operator がカスタムメトリックを収集できるようになります。
前提条件
-
cluster-admin
クラスターロールを持つユーザーとしてクラスターにアクセスできる。 - Zero Trust Workload Identity Manager をインストールした。
- クラスターに SPIRE エージェントのオペランドをデプロイした。
- ユーザーワークロードモニタリングを有効にした。
手順
ServiceMonitor
CR を作成します。ServiceMonitor
CR を定義する YAML ファイルを作成します。servicemonitor-spire-agent.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
ServiceMonitor
CR を作成します。oc create -f servicemonitor-spire-agent.yaml
$ oc create -f servicemonitor-spire-agent.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ServiceMonitor
CR が作成されると、ユーザーワークロードの Prometheus インスタンスが、SPIRE エージェントからのメトリクス収集を開始します。収集されたメトリクスには、job="spire-agent"
というラベルが付けられます。
検証
-
OpenShift Container Platform Web コンソールで、Observe
Targets に移動します。 Label フィルターフィールドに次のラベルを入力して、メトリクスターゲットをフィルタリングします。
service=spire-agent
$ service=spire-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
spire-agent-metrics
エントリーの Status 列にUp
と表示されていることを確認します。
10.5.4. Zero Trust Workload Identity Manager のメトリクスの照会 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者、またはすべての namespace に対する表示アクセス権を持つユーザーは、OpenShift Container Platform Web コンソールまたはコマンドラインを使用して、SPIRE エージェントおよび SPIRE サーバーのメトリクスを照会できます。照会すると、指定したジョブラベルに一致する、SPIRE コンポーネントから収集されたすべてのメトリクスが取得されます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - Zero Trust Workload Identity Manager をインストールした。
- クラスターに SPIRE サーバーと SPIRE エージェントのオペランドをデプロイした。
-
ServiceMonitor
オブジェクトを作成することで、モニタリングとメトリクスの収集を有効にした。
手順
-
OpenShift Container Platform Web コンソールで、Observe
Metrics に移動します。 クエリーフィールドに次の PromQL 式を入力して、SPIRE サーバーのメトリクスを照会します。
{job="spire-server"}
{job="spire-server"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クエリーフィールドに次の PromQL 式を入力して、SPIRE エージェントのメトリクスを照会します。
{job="spire-agent"}
{job="spire-agent"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow