2.5. Argo CD カスタムリソースワークロードのモニタリング
Red Hat OpenShift GitOps を使用すると、特定の Argo CD インスタンスの Argo CD カスタムリソースワークロードの可用性をモニタリングできます。Argo CD カスタムリソースワークロードをモニタリングすると、Argo CD インスタンスのアラートを有効にして、その状態に関する最新情報を入手できます。対応する Argo CD インスタンスのアプリケーションコントローラー、リポジトリーサーバー、またはサーバーなどのコンポーネントワークロード Pod が特定の理由で起動できず、準備ができているレプリカの数と必要なレプリカの数の間にずれがある場合、一定期間、Operator がアラートをトリガーします。
Argo CD カスタムリソースのワークロードをモニタリングするための設定を有効または無効にすることができます。
2.5.1. 前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - Red Hat OpenShift GitOps がクラスターにインストールされている。
-
モニタリングスタックは、
openshift-monitoring
プロジェクトのクラスターで設定されます。さらに、Argo CD インスタンスが、Prometheus を介してモニタリングできる namespace にある。 -
kube-state-metrics
サービスがクラスターで実行されている。 オプション: ユーザー定義プロジェクトにすでに存在する Argo CD インスタンスのモニタリングを有効にする場合は、クラスター内の ユーザー定義プロジェクトに対してモニタリングが有効 になっている。
注記デフォルトの
openshift-monitoring
スタックによってモニタリングされていない namespace (たとえば、openshift-*
で始まらない namespace) で Argo CD インスタンスのモニタリングを有効にする場合は、クラスターでユーザーワークロードのモニタリングを有効にする必要があります。このアクションにより、モニタリングスタックが作成された PrometheusRule を取得できるようになります。
2.5.2. Argo CD カスタムリソースワークロードのモニタリングを有効にする
デフォルトでは、Argo CD カスタムリソースワークロードのモニタリング設定は、false
に設定されています。
Red Hat OpenShift GitOps を使用すると、特定の Argo CD インスタンスのワークロードモニタリングを有効にすることができます。その結果、Operator は、特定の Argo CD インスタンスによって管理されるすべてのワークロードのアラートルールを含む PrometheusRule
オブジェクトを作成します。これらのアラートルールは、対応するコンポーネントのレプリカ数が一定時間、望ましい状態からずれると、アラートの起動をトリガーします。Operator は、ユーザーが PrometheusRule
オブジェクトに加えた変更を上書きしません。
手順
特定の Argo CD インスタンスで
.spec.monitoring.enabled
フィールドの値をtrue
に設定します。Argo CD カスタムリソースの例
apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd labels: example: repo spec: # ... monitoring: enabled: true # ...
Operator によって作成された PrometheusRule にアラートルールが含まれているかどうかを確認します。
アラートルールの例
apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: argocd-component-status-alert namespace: openshift-gitops spec: groups: - name: ArgoCDComponentStatus rules: # ... - alert: ApplicationSetControllerNotReady 1 annotations: message: >- applicationSet controller deployment for Argo CD instance in namespace "default" is not running expr: >- kube_statefulset_status_replicas{statefulset="openshift-gitops-application-controller statefulset", namespace="openshift-gitops"} != kube_statefulset_status_replicas_ready{statefulset="openshift-gitops-application-controller statefulset", namespace="openshift-gitops"} for: 1m labels: severity: critical
- 1
- Argo CD インスタンスによって作成されたワークロードが期待どおりに実行されているかどうかをチェックする PrometheusRule のアラートルール。
2.5.3. Argo CD カスタムリソースワークロードのモニタリングの無効化
特定の Argo CD インスタンスのワークロードモニタリングを無効にできます。ワークロードのモニタリングを無効にすると、作成された PrometheusRule が削除されます。
手順
特定の Argo CD インスタンスで
.spec.monitoring.enabled
フィールドの値をfalse
に設定します。Argo CD カスタムリソースの例
apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: example-argocd labels: example: repo spec: # ... monitoring: enabled: false # ...