首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >k8s多簇的Prometheus

k8s多簇的Prometheus
EN

Stack Overflow用户
提问于 2020-11-19 19:14:49
回答 3查看 4.3K关注 0票数 4

我有3个kubernetes集群(prod,测试,监控)。我是prometheus的新手,所以我在我的测试环境中安装了它,并使用舵机图表进行了测试:

代码语言:javascript
复制
# https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack
helm install [RELEASE_NAME] prometheus-community/kube-prometheus-stack

但是,如果我想从prod和测试集群中获得度量标准,我必须重复相同的舵机安装,并且每个“kube堆栈”将在其自己的集群中独立。这一点也不理想。我试图找到一种方法来拥有一个单一的prometheus/grafana,它将联合/累积来自每个集群的prometheus服务器的度量。

我找到了这个链接,说到普罗米修斯联合会:

代码语言:javascript
复制
https://prometheus.io/docs/prometheus/latest/federation/

如果安装舵图“堆栈”并在另外两个集群上去掉grafana,我如何才能使第三个“堆栈”在第三个集群中从其他两个集群中获取度量标准?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-11-20 15:43:36

您必须修改prometheus联邦成员的配置,以便它可以从其他集群中刮取指标,如所描述的在文件中

代码语言:javascript
复制
scrape_configs:
  - job_name: 'federate'
    scrape_interval: 15s

    honor_labels: true
    metrics_path: '/federate'

    params:
      'match[]':
        - '{job="prometheus"}'
        - '{__name__=~"job:.*"}'

    static_configs:
      - targets:
        - 'source-prometheus-1:9090'
        - 'source-prometheus-2:9090'
        - 'source-prometheus-3:9090'

params字段检查刮胡子的工作指标。在这个特殊的例子中

它将使用标签job=" Prometheus“或以job开头的公制名称从prometheus服务器上刮取任何系列-prometheus-{1,2,3}:9090。

您可以查看以下文章,以便更深入地了解prometheus联邦:

  1. 用普罗米修斯监视库伯内特斯-在集群外!
  2. 普罗米修斯联盟( Kubernetes )
  3. 使用Prometheus监控多个联邦集群--安全的方法
  4. 利用Prometheus联合会和Grafana监测多集群环境
票数 5
EN

Stack Overflow用户

发布于 2022-05-11 08:27:34

你在这里没有什么选择:

备选案文1:

您可以在prod和测试集群中购买vmagent地堑剂,并将它们配置为远程写到监视集群。

但是在这种情况下,您需要将kube状态度量和节点导出分别安装到prod和测试集群中。

此外,在将指标发送到远程写入之前,必须为集群名称(或任何唯一标识符)添加额外的标签,以确保“堆栈”中的记录规则正确工作。

图解

备选案文2:

您可以安装维多利亚-度量-k8s-堆栈图表。它具有与kube类似的功能--堆栈--还安装了大量的组件、记录规则和仪表板。

在这种情况下,您可以在每个集群中安装victoria-metrics-k8s-stack,但是具有不同的值。对于监视群集,可以使用默认值

代码语言:javascript
复制
grafana:
  sidecar:
    dashboards:
      multicluster: true

和适当配置的vmsingle入口

对于prod和测试集群,您需要禁用一组组件。

代码语言:javascript
复制
defaultRules:
  create: false

vmsingle:
  enabled: false
alertmanager:
  enabled: false
vmalert:
  enabled: false
vmagent:
  spec:
    remoteWrite:
      - url: "<vmsingle-ingress>/api/v1/write"
    externalLabels:
      cluster: <cluster-name>

grafana:
  enabled: false
  defaultDashboardsEnabled: false

在本例中,图表将部署vmagent、kube状态度量、节点导出和vmagent的刮取配置。

图解

票数 2
EN

Stack Overflow用户

发布于 2020-11-19 21:56:20

你可以试着看看波前。这是一个商业工具,但你可以得到30天的免费试用-而且,它了解promQL。因此,基本上,您可以在所有集群中使用相同的prometheus规则和配置,然后使用wavefront来连接到所有那些prom实例。

另一种选择可能是萨诺斯,但我从未亲自使用过。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64918491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档