sum(argocd_app_info{dest_namespace=~"<your_defined_namespace>",health_status!=""}) by (health_status) (1)
默认情况下,Red Hat OpenShift GitOps Operator 会自动检测在您定义的命名空间(例如 `openshift-gitops`)中安装的 Argo CD 实例,并将其连接到集群的监控堆栈,以提供与应用不同步的警报。
您可以访问具有 `cluster-admin` 权限的集群。
您可以访问 OpenShift Container Platform Web 控制台。
您已在集群中安装 Red Hat OpenShift GitOps Operator。
您已在定义的命名空间(例如 `openshift-gitops`)中安装了 Argo CD 应用程序。
您可以通过对 Argo CD 应用程序运行 Prometheus 指标查询来监控其运行状况。
在 Web 控制台的**开发人员**视图中,选择安装 Argo CD 应用程序的命名空间,然后导航到**观察** → **指标**。
从选择查询下拉列表中,选择自定义查询。
要检查 Argo CD 应用程序的运行状况,请在表达式字段中输入类似于以下示例的 Prometheus 查询语言 (PromQL) 查询
sum(argocd_app_info{dest_namespace=~"<your_defined_namespace>",health_status!=""}) by (health_status) (1)
1 | 将<your_defined_namespace> 变量替换为您定义的命名空间的实际名称,例如openshift-gitops 。 |
默认情况下,Red Hat OpenShift GitOps Operator 会自动抓取所有 Argo CD 实例的指标以衡量性能。因此,Operator 会在安装 Argo CD 实例的命名空间中创建以下资源和标签
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 实例的指标自动抓取。
作为集群管理员,通过禁用单个实例的指标抓取,您可以为用户提供更好的控制、灵活性和稳定性来管理他们定义的命名空间。
登录到 OpenShift Container Platform Web 控制台。
在 Web 控制台的管理员视角中,单击Operators → 已安装的 Operators。
从项目列表中,选择安装用户定义的 Argo CD 实例的项目。
从已安装的 Operators 列表中选择Red Hat OpenShift GitOps,然后转到Argo CD选项卡。
单击您用户定义的 Argo CD 实例。
配置用户定义的 Argo CD 实例的ArgoCD
CR 以禁用指标的自动抓取
单击YAML选项卡并编辑ArgoCD
CR 的 YAML 文件。
在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 实例的命名空间。 |
或者,使用以下命令在 Red Hat OpenShift GitOps 命令示例
输出示例
|
验证 Operator 是否已将openshift.io/cluster-monitoring=false
标签添加到您定义的命名空间
转到管理 → 命名空间。
命名空间页面显示已创建的命名空间。
单击您定义的命名空间,转到YAML选项卡,然后验证在metadata.labels
部分下,Operator 是否添加了openshift.io/cluster-monitoring=false
标签。
验证 Operator 是否已从您定义的命名空间中删除以下资源
转到主页 → 搜索。
从资源列表中,选择PrometheusRule、角色、角色绑定和服务监控器。
搜索页面显示选定的资源。
在搜索页面中,验证在PrometheusRule部分下是否已删除gitops-operator-argocd-alerts
Prometheus 规则。
在角色部分下,从筛选器列表中选择命名空间角色。
验证是否已删除<argocd_namespace>-read
角色。
在角色绑定部分下,从筛选器列表中选择命名空间角色绑定。
验证是否已删除<argocd_namespace>-prometheus-k8s-read-binding
角色绑定。
验证在服务监控器部分下是否已删除<argocd_name>
、<argocd_name>-repo-server
和<argocd_name>-server
服务监控器。
您可以通过将 |