5.6. Red Hat Quay Operator が単一の namespace にインストールされている場合のモニタリングの有効化
Red Hat Quay Operator が単一の namespace にインストールされている場合、モニタリングコンポーネントは unmanaged に設定されます。モニタリングを設定するには、OpenShift Container Platform でユーザー定義の namespace に対してモニタリングを有効にする必要があります。
詳細は、OpenShift Container Platform ドキュメントの モニタリングスタックの設定 および ユーザー定義プロジェクトのモニタリングの有効化 を参照してください。
以下のセクションでは、OpenShift Container Platform ドキュメントに基づいて Red Hat Quay のモニタリングを有効にする方法を示します。
5.6.1. クラスターモニタリング設定マップの作成
次の手順を使用して、cluster-monitoring-config ConfigMap オブジェクトが存在するかどうかを確認します。
手順
次のコマンドを入力して、
cluster-monitoring-configConfigMap オブジェクトが存在するかどうかを確認します。$ oc -n openshift-monitoring get configmap cluster-monitoring-config
出力例
Error from server (NotFound): configmaps "cluster-monitoring-config" not found
オプション:
ConfigMapオブジェクトが存在しない場合は、YAML マニフェストを作成します。次の例では、ファイルの名前はcluster-monitoring-config.yamlです。apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: |
オプション:
ConfigMapオブジェクトが存在しない場合は、ConfigMapオブジェクトを作成します。$ oc apply -f cluster-monitoring-config.yaml configmap/cluster-monitoring-config created
次のコマンドを実行して、
ConfigMapオブジェクトが存在することを確認します。$ oc -n openshift-monitoring get configmap cluster-monitoring-config
出力例
NAME DATA AGE cluster-monitoring-config 1 12s
5.6.2. ユーザー定義のワークロード監視 ConfigMap オブジェクトの作成
次の手順を使用して、user-workload-monitoring-config ConfigMap オブジェクトが存在するかどうかを確認します。
手順
次のコマンドを入力して、
user-workload-monitoring-configConfigMapオブジェクトが存在するかどうかを確認します。$ oc -n openshift-user-workload-monitoring get configmap user-workload-monitoring-config
出力例
Error from server (NotFound): configmaps "user-workload-monitoring-config" not found
ConfigMapオブジェクトが存在しない場合は、YAML マニフェストを作成します。次の例では、ファイルの名前はuser-workload-monitoring-config.yamlです。apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: |
オプション: 次のコマンドを入力して、
ConfigMapオブジェクトを作成します。$ oc apply -f user-workload-monitoring-config.yaml
出力例
configmap/user-workload-monitoring-config created
5.6.3. ユーザー定義プロジェクトのモニタリングの有効化
ユーザー定義プロジェクトの監視を有効にするには、次の手順を実行します。
手順
次のコマンドを入力して、ユーザー定義プロジェクトの監視が実行されているかどうかを確認します。
$ oc get pods -n openshift-user-workload-monitoring
出力例
No resources found in openshift-user-workload-monitoring namespace.
次のコマンドを入力して、
cluster-monitoring-configConfigMapを編集します。$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
config.yamlファイルでenableUserWorkload: trueを設定して、クラスター上のユーザー定義プロジェクトの監視を有効にします。apiVersion: v1 data: config.yaml: | enableUserWorkload: true kind: ConfigMap metadata: annotations:次のコマンドを入力してファイルを保存し、変更を適用して、適切な Pod が実行されていることを確認します。
$ oc get pods -n openshift-user-workload-monitoring
出力例
NAME READY STATUS RESTARTS AGE prometheus-operator-6f96b4b8f8-gq6rl 2/2 Running 0 15s prometheus-user-workload-0 5/5 Running 1 12s prometheus-user-workload-1 5/5 Running 1 12s thanos-ruler-user-workload-0 3/3 Running 0 8s thanos-ruler-user-workload-1 3/3 Running 0 8s
5.6.4. Red Hat Quay メトリックを公開するための Service オブジェクトの作成
以下の手順を使用して Service オブジェクトを作成し、Red Hat Quay メトリクスを公開します。
手順
Service オブジェクトの YAML ファイルを作成します。
$ cat <<EOF > quay-service.yaml apiVersion: v1 kind: Service metadata: annotations: labels: quay-component: monitoring quay-operator/quayregistry: example-registry name: example-registry-quay-metrics namespace: quay-enterprise spec: ports: - name: quay-metrics port: 9091 protocol: TCP targetPort: 9091 selector: quay-component: quay-app quay-operator/quayregistry: example-registry type: ClusterIP EOF次のコマンドを入力して、
Serviceオブジェクトを作成します。$ oc apply -f quay-service.yaml
出力例
service/example-registry-quay-metrics created
5.6.5. ServiceMonitor オブジェクトの作成
ServiceMonitor リソースを作成してメトリックを取得するように OpenShift Monitoring を設定するには、次の手順を使用します。
手順
ServiceMonitorリソースの YAML ファイルを作成します。$ cat <<EOF > quay-service-monitor.yaml apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: labels: quay-operator/quayregistry: example-registry name: example-registry-quay-metrics-monitor namespace: quay-enterprise spec: endpoints: - port: quay-metrics namespaceSelector: any: true selector: matchLabels: quay-component: monitoring EOF次のコマンドを入力して、
ServiceMonitorリソースを作成します。$ oc apply -f quay-service-monitor.yaml
出力例
servicemonitor.monitoring.coreos.com/example-registry-quay-metrics-monitor created
5.6.6. OpenShift Container Platform でのメトリックの表示
OpenShift Container Platform コンソールの Monitoring → Metrics からメトリックにアクセスできます。式フィールドに quay_ と入力すると、使用可能なメトリックのリストが表示されます。
たとえば、レジストリーにユーザーを追加した場合は、quay-users_rows メトリックを選択します。