【问题标题】:How to calculate Sharding percentage in ArgoCD using Prometheus Query如何使用 Prometheus Query 计算 ArgoCD 中的分片百分比
【发布时间】:2022-12-11 05:51:31
【问题描述】:

我正在运行以下查询以获取 argocd 应用程序的分片百分比,但它始终显示为 100% 的值,即使应用程序未正确分发到 EKS 集群。

count(count(count_over_time(argocd_kubectl_exec_total[1h])) by (pod))/scalar(kube_statefulset_status_replicas_current{namespace="argocd",statefulset="argocd-argocd-application-controller"})*100

基本上我的 EKS 集群中有 3 个副本应该平均分配给 Argocd 应用程序。

Argocd 应用分发结果:

sum(argocd_app_info) by(project,pod)

结果:

{pod="argo-argocd-application-controller-0", project="test-aws-aps1-test-nonpcidss-1-prod-eks"} 58

{pod="argo-argocd-application-controller-0", project="default"} 3个

{pod="argo-argocd-application-controller-0", project="test-aws-aps1-test-pcidss-1-prod-eks"} 31

{pod="argo-argocd-application-controller-0", project="test-aws-aps1-test-dmz-1-prod-eks"}

【问题讨论】:

    标签: prometheus grafana argocd


    【解决方案1】:

    你的查询总是显示 100% 的原因是你用 pod 的数量除以副本的数量,然后乘以 100。但是,pod 的数量和副本的数量没有直接关系,所以这个计算不正确。

    要为您的 Argocd 应用程序获得正确的分片百分比,您需要将项目数量与 Pod 数量进行比较,而不是与副本数量进行比较。下面是一个示例,说明如何修改查询以获得正确的分片百分比:

    sum(
      count(count_over_time(argocd_kubectl_exec_total[1h])) by (project)
    ) / count(
      count(count_over_time(argocd_kubectl_exec_total[1h])) by (pod)
    ) * 100
    

    【讨论】:

      猜你喜欢
      • 2021-11-01
      • 2022-09-26
      • 1970-01-01
      • 2021-04-12
      • 2020-09-01
      • 2020-09-11
      • 2011-06-01
      • 2021-01-10
      相关资源
      最近更新 更多