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 オブジェクトが存在するかどうかを確認します。

手順

  1. 次のコマンドを入力して、cluster-monitoring-config ConfigMap オブジェクトが存在するかどうかを確認します。

    $ oc -n openshift-monitoring get configmap cluster-monitoring-config

    出力例

    Error from server (NotFound): configmaps "cluster-monitoring-config" not found

  2. オプション: ConfigMap オブジェクトが存在しない場合は、YAML マニフェストを作成します。次の例では、ファイルの名前は cluster-monitoring-config.yaml です。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: cluster-monitoring-config
      namespace: openshift-monitoring
    data:
      config.yaml: |
  3. オプション: ConfigMap オブジェクトが存在しない場合は、ConfigMap オブジェクトを作成します。

    $ oc apply -f cluster-monitoring-config.yaml configmap/cluster-monitoring-config created
  4. 次のコマンドを実行して、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 オブジェクトが存在するかどうかを確認します。

手順

  1. 次のコマンドを入力して、user-workload-monitoring-config ConfigMap オブジェクトが存在するかどうかを確認します。

    $ oc -n openshift-user-workload-monitoring get configmap user-workload-monitoring-config

    出力例

    Error from server (NotFound): configmaps "user-workload-monitoring-config" not found

  2. 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: |
  3. オプション: 次のコマンドを入力して、ConfigMap オブジェクトを作成します。

    $ oc apply -f user-workload-monitoring-config.yaml

    出力例

    configmap/user-workload-monitoring-config created

5.6.3. ユーザー定義プロジェクトのモニタリングの有効化

ユーザー定義プロジェクトの監視を有効にするには、次の手順を実行します。

手順

  1. 次のコマンドを入力して、ユーザー定義プロジェクトの監視が実行されているかどうかを確認します。

    $ oc get pods -n openshift-user-workload-monitoring

    出力例

    No resources found in openshift-user-workload-monitoring namespace.

  2. 次のコマンドを入力して、cluster-monitoring-config ConfigMap を編集します。

    $ oc -n openshift-monitoring edit configmap cluster-monitoring-config
  3. config.yaml ファイルで enableUserWorkload: true を設定して、クラスター上のユーザー定義プロジェクトの監視を有効にします。

    apiVersion: v1
    data:
      config.yaml: |
        enableUserWorkload: true
    kind: ConfigMap
    metadata:
      annotations:
  4. 次のコマンドを入力してファイルを保存し、変更を適用して、適切な 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 メトリクスを公開します。

手順

  1. 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
  2. 次のコマンドを入力して、Service オブジェクトを作成します。

    $  oc apply -f quay-service.yaml

    出力例

    service/example-registry-quay-metrics created

5.6.5. ServiceMonitor オブジェクトの作成

ServiceMonitor リソースを作成してメトリックを取得するように OpenShift Monitoring を設定するには、次の手順を使用します。

手順

  1. 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
  2. 次のコマンドを入力して、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 コンソールの MonitoringMetrics からメトリックにアクセスできます。式フィールドに quay_ と入力すると、使用可能なメトリックのリストが表示されます。

Quay metrics

たとえば、レジストリーにユーザーを追加した場合は、quay-users_rows メトリックを選択します。

Quay metrics