2.2. Argo CD インスタンスのモニタリング


デフォルトでは、Red Hat OpenShift GitOps Operator は、定義された namespace (例: openshift-gitops) にインストールされている Argo CD インスタンスを自動的に検出し、これをクラスターのモニタリングスタックに接続して、非同期アプリケーションに対するアラートを提供します。

2.2.1. 前提条件

  • cluster-admin 権限でクラスターにアクセスできる。
  • OpenShift Container Platform Web コンソールにアクセスできる。
  • Red Hat OpenShift GitOps Operator がクラスターにインストールされている。
  • 定義した namespace (たとえば openshift-gitops) に Argo CD アプリケーションをインストールしている。

2.2.2. Prometheus メトリクスを使用した Argo CD ヘルスのモニタリング

Prometheus メトリクスクエリーを実行して、Argo CD アプリケーションのヘルスステータスをモニタリングできます。

手順

  1. Web コンソールの Developer パースペクティブで、Argo CD アプリケーションがインストールされている namespace を選択し、Observe Metrics に移動します。
  2. Select query ドロップダウンリストから、Custom query を選択します。
  3. Argo CD アプリケーションのヘルスステータスを確認するには、Expression フィールドに、次の例のような Prometheus Query Language (PromQL) クエリーを入力します。

    sum(argocd_app_info{dest_namespace=~"<your_defined_namespace>",health_status!=""}) by (health_status) 1

    1
    <your_define_namespace> 変数を、定義した namespace の実際の名前 (openshift-gitops など) に置き換えます。

2.2.3. Argo CD インスタンスのメトリクスの自動スクレイピングを無効にする

デフォルトでは、Red Hat OpenShift GitOps Operator は、すべての Argo CD インスタンスのメトリクスを自動的に収集してパフォーマンスを測定します。その結果、Operator は、Argo CD インスタンスがインストールされている namespace に次のリソースとラベルを作成します。

  • gitops-operator-argocd-alerts Prometheus ルール
  • <argocd_namespace>-read ロール
  • <argocd_name><argocd_name>-repo-server、および <argocd_name>-server サービスモニター
  • <argocd_namespace>-prometheus-k8s-read-binding ロールバインディング
  • openshift.io/cluster-monitoring=true ラベル

クラスター内の複数の Argo CD インスタンスのメトリクスをスクレイピングすると、ストレージの使用量が過剰になる可能性があります。予防策として、Web コンソールの YAML ビューを使用して ArgoCD カスタムリソース (CR) を設定し、Argo CD インスタンスのメトリクスの自動スクレイピングを無効にします。

クラスター管理者は、個々のインスタンスのメトリクススクレイピングを無効にすることで、定義された namespace を管理するための制御性、柔軟性、安定性をユーザーに提供できます。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. Web コンソールの Administrator パースペクティブで、Operators Installed Operators の順にクリックします。
  3. Project リストから、ユーザー定義の Argo CD インスタンスがインストールされているプロジェクトを選択します。
  4. インストールされた Operator のリストから Red Hat OpenShift GitOps を選択し、Argo CD タブに移動します。
  5. ユーザー定義の Argo CD インスタンスをクリックします。
  6. ユーザー定義の Argo CD インスタンスの ArgoCD CR を設定して、メトリクスの自動スクレイピングを無効にします。

    1. YAML タブをクリックし、ArgoCD CR の YAML ファイルを編集します。
    2. ArgoCD CR で、spec.monitoring.disableMetrics フィールドの値を true に設定します。

      ArgoCD CR の例

      apiVersion: argoproj.io/v1beta1
      kind: ArgoCD
      metadata:
       name: example  1
       namespace: spring-petclinic 2
      spec:
       monitoring:
         disableMetrics: true

      1
      ユーザー定義の Argo CD インスタンスの名前。
      2
      ユーザー定義の Argo CD インスタンスを実行する namespace。
      ヒント

      または、Red Hat OpenShift GitOps argocd CLI でメトリクスの自動スクレイピングを無効にするには、次のコマンドを使用します。

      コマンドの例

      $ oc patch argocd example -n spring-petclinic --type='json' -p='[{"op": "replace", "path": "/spec/monitoring/disableMetrics", "value": true}]'

      出力例

      argocd.argoproj.io/example patched

  7. Operator が定義した namespace に openshift.io/cluster-monitoring=false ラベルを追加したことを確認します。

    1. Administration Namespaces に移動します。

      Namespaces ページには、作成された namespace が表示されます。

    2. 定義した namespace をクリックし、YAML タブに移動して、metadata.labels セクションの下に、Operator によって openshift.io/cluster-monitoring=false ラベルが追加されていることを確認します。
  8. Operator が定義した namespace から次のリソースを削除することを確認します。

    1. Home Search に移動します。
    2. Resources リストから、PrometheusRuleRoleRoleBindingServiceMonitors を選択します。

      Search ページには選択したリソースが表示されます。

    3. Search ページで、PrometheusRule セクションで、gitops-operator-argocd-alerts prometheus ルールが削除されていることを確認します。
    4. Roles セクションの Filter リストから、Namespace Roles を選択します。
    5. <argocd_namespace>-read ロールが削除されていることを確認します。
    6. RoleBindings セクションの Filter リストから、Namespace RoleBindings を選択します。
    7. <argocd_namespace>-prometheus-k8s-read-binding ロールバインディングが削除されていることを確認します。
    8. ServiceMonitors セクションで、<argocd_name><argocd_name>-repo-server、および <argocd_name>-server サービスモニターが削除されていることを確認します。
注記

spec.monitoring.disableMetrics フィールドの値を false に変更することで、インスタンスのメトリクスを有効にできます。次に、Operator は必要なロール、ロールバインディング、およびサービスモニターを作成し、定義された namespace に openshift.io/cluster-monitoring=true ラベルを追加します。

2.2.4. 関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.