5.16. Argo CD カスタムリソースワークロードの監視
Red Hat OpenShift GitOps を使用すると、特定の Argo CD インスタンスの Argo CD カスタムリソースワークロードの可用性を監視できます。Argo CD カスタムリソースワークロードを監視すると、Argo CD インスタンスのアラートを有効にして、その状態に関する最新情報を入手できます。対応する Argo CD インスタンスのアプリケーションコントローラー、リポジトリーサーバー、またはサーバーなどのコンポーネントワークロード Pod が特定の理由で起動できず、準備ができているレプリカの数と必要なレプリカの数の間にずれがある場合、一定期間、Operator はアラートをトリガーします。
Argo CD カスタムリソースのワークロードを監視するための設定を有効または無効にすることができます。
前提条件
-
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 を取得できるようになります。
5.16.1. 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/v1alpha1 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 のアラートルール。
5.16.2. Argo CD カスタムリソースワークロードの監視の無効化
特定の Argo CD インスタンスのワークロード監視を無効にすることができます。ワークロードの監視を無効にすると、作成された PrometheusRule が削除されます。
手順
特定の Argo CD インスタンスで
.spec.monitoring.enabled
フィールドの値をfalse
に設定します。Argo CD カスタムリソースの例
apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd labels: example: repo spec: ... monitoring: enabled: false ...