用于 k8s 多集群的 Prometheus

     2023-02-15     209

关键词:

【中文标题】用于 k8s 多集群的 Prometheus【英文标题】:Prometheus for k8s multi clusters 【发布时间】:2021-03-03 05:18:32 【问题描述】:

我有 3 个 Kubernetes 集群(产品、测试、监控)。我是 prometheus 的新手,所以我通过 helm chart 在我的测试环境中安装它来测试它:

# https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack
helm install [RELEASE_NAME] prometheus-community/kube-prometheus-stack

但是,如果我想获得来自 prod 和 test 集群的指标,我必须重复相同的 helm 安装,并且每个“kube-prometheus-stack”都将在其自己的集群中独立。这根本不理想。我正在尝试找到一种方法来拥有一个 prometheus/grafana,它可以联合/聚合来自每个集群的 prometheus 服务器的指标。

我找到了这个链接,说的是普罗米修斯联盟:

https://prometheus.io/docs/prometheus/latest/federation/

如果安装 helm chart “kube-prometheus-stack” 并在其他 2 个集群上摆脱 grafana,我如何使第三个集群上的第三个“kube-prometheus-stack”从 2其他的? 谢谢

【问题讨论】:

【参考方案1】:

您必须修改 prometheus federate 的配置,以便它可以从其他集群中抓取指标,如 in documentation 所述:

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 字段检查来自的 jobs to scrape 指标。在这个特定的例子中

它将抓取标签为 job="prometheus" 或以度量名称开头的任何系列 与工作:来自普罗米修斯服务器 源普罗米修斯-1,2,3:9090

您可以查看以下文章,让您更深入地了解普罗米修斯联盟:

    Monitoring Kubernetes with Prometheus - outside the cluster!

    Prometheus federation in Kubernetes

    Monitoring multiple federated clusters with Prometheus - the secure way

    Monitoring a Multi-Cluster Environment Using Prometheus Federation and Grafana

【讨论】:

【参考方案2】:

您可以尝试查看 Wavefront。它现在是一个商业工具,但您可以免费试用 30 天 - 而且,它还支持 promQL。所以本质上,您可以在所有集群中使用相同的 prometheus 规则和配置,然后使用 wavefront 连接到所有这些 prom 实例。

另一个选项可能是灭霸,但我从未亲自使用过。

【讨论】:

不幸的是,这是针对我无法使用 Wavefront 的客户。

基于prometheus监控k8s集群

本文建立在你已经会安装prometheus服务的基础之上,如果你还不会安装,请参考:prometheus多维度监控容器如果你还没有安装库k8s集群,情参考: 从零开始搭建基于calico的kubenetes前言kubernetes显然已成为各大公司亲睐的容器编排... 查看详情

K8S 集群中 Libvirt 的 Prometheus Adapter 自定义指标

】K8S集群中Libvirt的PrometheusAdapter自定义指标【英文标题】:PrometheusAdapterCustomMetricsforLibvirtinaK8SCluster【发布时间】:2019-07-1312:19:36【问题描述】:我有一个K8S集群,它也通过virtlet管理虚拟机。这个K8S集群运行K8Sv1.13.2,带有promethe... 查看详情

prometheus+grafan监控k8s集群详解(代码片段)

一,Prometheus概述1,什么是Prometheus?Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包,自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。现在,它是一个独立的开源... 查看详情

k8s安装使用kubeasz安装多主多从k8s集群(简单快捷)(代码片段)

...多主多从k8s集群一、项目介绍kubeasz为github上开源的一个用于安装k8s集群的项目,目前很多方法安装k8s,但是多是单master多node的安装方式,但是kubeasz可以很方便的实现多主多从,用于实验真的很方便。项目的核心是使用ansible进... 查看详情

使用 prometheus 计算 k8s 集群 cpu/内存使用情况

】使用prometheus计算k8s集群cpu/内存使用情况【英文标题】:countk8sclustercpu/memoryusagewithprometheus【发布时间】:2019-07-1821:22:51【问题描述】:我想用prometheus统计k8s集群cpu/内存使用情况(不是k8spod使用情况),以便在grafana中显示。... 查看详情

k8s部署prometheus和grafana监控pod和机器资源(11)

...化的界面,主要负责展示信息,功能非常强大,可以结合prometheus、zabbix、进行收集暂时,另外包括mysql,zk、etcd,nginx这些数据都可以收集展示prometheus是一个时序的数据库,什么是时序的数据库,就是对之前的数据进行存放,但... 查看详情

kubernetes(k8s)之在集群环境部署prometheus(普罗米修斯监控)和集群的ui管理工具grafana(代码片段)

PrometheusPrometheus演示环境部署Prometheus和Grafana测试PrometheusPrometheus是一个开源系统监控和警报工具包。现在是一个独立的开源项目,独立于任何公司进行维护。Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,... 查看详情

kube-prometheus监控k8s集群外服务的两种方式(代码片段)

方式一:通过ServiceMonitor方式创建Service和ServiceMonitor文件名为external-node.yaml---apiVersion:v1kind:Servicemetadata:name:external-node-exporternamespace:monitoringlabels:app:external-node-exporterapp.kubernetes. 查看详情

搭建prometheus监控k8s服务(代码片段)

理论提示:在这里部署的prometheus,是使用的coreos提供的prometheus项目MetricsServer:是k8s集群资源使用情况的聚合器,收集数据给k8s集群内使用,如kubectl,hpa,scheduler等。PrometheusOperator:是一个系统检测和警报工具箱,... 查看详情

用于 kubectl 的 ssh 隧道到多个 k8s 集群

】用于kubectl的ssh隧道到多个k8s集群【英文标题】:sshtunneltomultiplek8sclustersforkubectl【发布时间】:2021-10-2406:18:10【问题描述】:我在专用网络中有多个k8s集群,我只能通过jumpbox/bastion主机访问这些集群。例如下面是我的k8s集群:k... 查看详情

k8s+prometheus+grafana的监控部署(代码片段)

...署k8s集群可以参考https://www.cnblogs.com/liugp/p/12115945.html二、Prometheus+Grafana的监控部署2.1、master/node节点环境部署在【master】可以进行安装部署安装git,并下载相关yaml文件https://gitee.com/liugpwwwroot/k8s-prometheus-grafana.git在【node】节点下... 查看详情

k8snetworkpolicylimitrange和resourcequota详解k8s运行zookeeper,mysql,jenkins集群k8s集群及应用监控prometheus(代码片段)

1.基于NetworkPolicy限制magedunamespace中的所有pod不能跨namespace访问(只能访问当前namespace中的所有pod)。#在default下创建2个deploy,centos7-default和nginx1-defaultroot@k8s-master1:~/20230328#vimcentos7-default.yamlapiVersion:apps/v1kind:Deploymentmetadata:labels:app:c... 查看详情

kubernetes集群监控解决方案kube-prometheus-stack(prometheus-operator)helm安装(代码片段)

...理分享给小伙伴。博文内容为K8s集群通过helm方式创建kube-prometheus-stack监控平台教程折腾了一晚上,搞定了,一开始一直用prometheus-operator这个chart来装,报错各种找问题,后来才发现我的集群版本太高了,1.22的... 查看详情

kubernetes集群监控解决方案kube-prometheus-stack(prometheus-operator)helm安装(代码片段)

...理分享给小伙伴。博文内容为K8s集群通过helm方式创建kube-prometheus-stack监控平台教程折腾了一晚上,搞定了,一开始一直用prometheus-operator这个chart来装,报错各种找问题,后来才发现我的集群版本太高了,1.22的... 查看详情

k8s多master集群二进制部署(代码片段)

k8s多Master集群二进制部署一、k8s多Master集群高可用方案1、高可用实现方案2、多Master高可用的搭建过程二、多master节点集群搭建(master02节点部署)三、负载均衡部署四、k8s的网站管理系统(DashboardUI)1、Dashboard介... 查看详情

普罗米修斯prometheus介绍

什么是Prometheus?Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是GoogleBorgMon监控系统的开源版本。SoundCloud是音频分享中的YouTube。界面简洁无广告。Prometheus和Heapster(Heapster是K8S的一个... 查看详情

简单开发k8s多集群后台(代码片段)

详细的说明如何利用kubernetesapi创建一个支持多集群的k8s后台,这里主要实现调用kubernetesapi获取查看service服务,pod服务。下一篇再说明如果操作一个service,以及注入容器console相关的组件Django(2.0.7)kubernetes(6.0.0)DjangoRestFramework(3.8.2... 查看详情

k8s高可用方案系列---集群多master搭建

参考技术A在执行平台CTE使用面越来越扩大,底层的k8s集群就越来越需要得到可靠性的保证之前的执行服务CTE,环境申请服务matrix,调度服务apollo是在一台单节点的k8s集群上,集群是由虚拟机组成,而虚拟机又是由服务器提供的... 查看详情