Argo CD 是用于 Kubernetes 的声明性 GitOps 持续交付工具。 Argo CD 遵循使用 Git 存储库作为定义所需应用程序状态的真相来源的 GitOps 模式。 它在指定目标环境中自动部署所需的应用程序状态。 应用程序部署可以跟踪分支或标记的更新,或者可以在 Git 提交时将其固定到特定版本的清单。
本文介绍如何使用 Azure Kubernetes 服务 (AKS) 和已启用 Azure Arc 的 Kubernetes 配置 Azure Monitor 适用于 Prometheus 的托管服务功能,以通过抓取 Prometheus 指标来监视 Argo CD。
先决条件
- 在 AKS 上或已启用 Azure Arc 的 Kubernetes 上运行的 Argo CD
- 已在群集上启用适用于 Prometheus 的托管服务。 有关详细信息,请参阅启用 Prometheus 和 Grafana。
部署服务监视器
部署以下服务监视器以配置适用于 Prometheus 的托管服务加载项,从 Argo CD 工作负荷中抓取 Prometheus 指标。
注意
如果服务监视器与示例中配置的标签不匹配,请为它们在 matchLabels
中指定正确的标签。
apiVersion: azmonitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: azmon-argocd-metrics
spec:
labelLimit: 63
labelNameLengthLimit: 511
labelValueLengthLimit: 1023
selector:
matchLabels:
app.kubernetes.io/name: argocd-metrics
namespaceSelector:
any: true
endpoints:
- port: metrics
---
apiVersion: azmonitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: azmon-argocd-repo-server-metrics
spec:
labelLimit: 63
labelNameLengthLimit: 511
labelValueLengthLimit: 1023
selector:
matchLabels:
app.kubernetes.io/name: argocd-repo-server
namespaceSelector:
any: true
endpoints:
- port: metrics
---
apiVersion: azmonitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: azmon-argocd-server-metrics
spec:
labelLimit: 63
labelNameLengthLimit: 511
labelValueLengthLimit: 1023
selector:
matchLabels:
app.kubernetes.io/name: argocd-server-metrics
namespaceSelector:
any: true
endpoints:
- port: metrics
注意
如果你要配置任何其他服务或 Pod 监视器,请按照以下说明操作。
部署规则
编辑参数文件中的以下值。
参数 值 azureMonitorWorkspace
Azure Monitor 工作区的资源 ID。 在 Azure Monitor 工作区的“概述”页上的“JSON 视图”中检索。 ___location
Azure Monitor 工作区的位置。 在 Azure Monitor 工作区的“概述”页上的“JSON 视图”中检索。 clusterName
AKS 群集的名称。 从群集概述页面的“JSON 视图”中检索。 actionGroupId
警报操作组的资源 ID。 从群集概述页面的“JSON 视图”中检索。 详细了解操作组。 使用任何用于安装 Azure 资源管理器模板的标准方法部署模板。 有关指导,请参阅用于 Azure Monitor 的资源管理器模板示例。
部署模板后,可以按照查看 Prometheus 规则组中所述,在 Azure 门户中查看规则。 查看警报阈值,以确保它们适合你的集群和工作负载。 相应地更新阈值。
注意
这些规则并非针对某个群集范围限定。 要将规则范围限定于特定群集,请参阅将规则限制为特定群集。
你可以详细了解 Prometheus 警报。 如果你想使用任何其他开源 Prometheus 警报/记录规则,请使用 az-prom-rules-converter 来创建与 Azure 等效的 Prometheus 规则。
导入 Grafana 仪表板
若要使用 ID 或 JSON 导入 Argo CD 的 Grafana 仪表板 (ID 14191),请按照从 Grafana Labs 导入仪表板中的说明进行操作。
故障排除
成功应用服务监视器之后,如果要确保插件选取服务监视器目标,请按照以下说明操作。