摘要:也就是说整个监控系统不是部署在中。非的怎么监控是今天需要讨论的问题。官方给出的配置联邦机制也实现了的扩展。我们的集群外监控的方案就基于此。在同一个数据中心,每个监控其他的。上一级的监控数据中心级别的。
前言
有时候对于一个公司,k8s集群或是所谓的caas只是整个技术体系的一部分,往往这个时候监控系统不仅仅要k8s集群以及k8s中部署的应用,而且要监控传统部署的项目。也就是说整个监控系统不是部署在k8s cluster中。非in-cluster的prometheus怎么监控k8s是今天需要讨论的问题。
在上一篇文章解读了prometheus提供的监控k8s的配置文件,我们知道主要是采集node,cadvisor,service,endpoint,ingress和pod 6个方面。集群外部署,我们通过更改配置文件,
kubernetes_sd_configs: - role: node api_server: https://10.xx.xx.231:6443 bearer_token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt14dmTJfPP5XNYiwPBW-ffe84w1zA0PaIUISUXGWUr5Ak9dFkJz4-ho0pPRKuPj-KZ8C4APt4NVKFXnO3WisR63ShCYqYYrOAjerCZIfrokMdvhPG1S6Dw_swWtYTSbBVXMeyHrC9OqvXz3jdi4vnKYJgA tls_config: insecure_skip_verify: true
也能利用prometheus的service discovery功能监控一些指标,比如node,cadvisor,但是其他的无法全部获取metrics了,因为自动发现了一些k8s中service网络层的地址,这个是从外部无法访问的。我们的解决方案是prometheus的federation模式来解决该问题。
Prometheus的Federation简介联邦允许一个prometheus server 从另外一个prometheus server 获取metrics。
官方给出的配置:
- 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"
联邦机制也实现了promethues的扩展。大致上纵向和横向两种思路。
由此出发,就能形成一种树状的prometheus集群,实现了高可用和分片。我们的集群外prometheus监控k8s的方案就基于此。
通过Federation监控k8s采取上一篇文章的配置文件,在k8s集群中部署一个prometheus server,集群外的prometheus server 定期获取集群中prometheus的数据。
然后通过设置match即可
"match[]": - "{job="prometheus"}" - "{__name__=~"job:.*"}"总结
此外联邦模式可以实现prometheus监控prometheus。遵循以下两点:
网格模式。在同一个数据中心,每个prometheus监控其他的prometheus。
上下级模式。上一级的prometheus监控数据中心级别的prometheus。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/32633.html
摘要:也就是说整个监控系统不是部署在中。非的怎么监控是今天需要讨论的问题。官方给出的配置联邦机制也实现了的扩展。我们的集群外监控的方案就基于此。在同一个数据中心,每个监控其他的。上一级的监控数据中心级别的。 前言 有时候对于一个公司,k8s集群或是所谓的caas只是整个技术体系的一部分,往往这个时候监控系统不仅仅要k8s集群以及k8s中部署的应用,而且要监控传统部署的项目。也就是说整个监控系...
摘要:一概述的配置可以用命令行参数或者配置文件,如果是在集群内,一般配置在中以下均为版本查看可用的命令行参数,可以执行也可以指定对应的配置文件,参数一般为如果配置有修改,如增添采集,可以重新加载它的配置。目前主要支持种服务发现模式,分别是。 本文将分析Prometheus的常见配置与服务发现,分为概述、配置详解、服务发现、常见场景四个部分进行讲解。 一. 概述 Prometheus的配置可以...
摘要:一概述的配置可以用命令行参数或者配置文件,如果是在集群内,一般配置在中以下均为版本查看可用的命令行参数,可以执行也可以指定对应的配置文件,参数一般为如果配置有修改,如增添采集,可以重新加载它的配置。目前主要支持种服务发现模式,分别是。 本文将分析Prometheus的常见配置与服务发现,分为概述、配置详解、服务发现、常见场景四个部分进行讲解。 一. 概述 Prometheus的配置可以...
摘要:生态周报内容主要包含我所接触到的生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏生态。正式发布是毕业项目,可用于监控系统及服务状态。并且可以通过配置规则来触发报警等。 「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」。 Prometheus v2.9.0 正式发布 Prometheus 是 CNCF 毕业项目,可用...
摘要:根据配置文件,对接收到的警报进行处理,发出告警。在默认情况下,用户只需要部署多套,采集相同的即可实现基本的。通过将监控与数据分离,能够更好地进行弹性扩展。参考文档本文为容器监控实践系列文章,完整内容见 系统架构图 1.x版本的Prometheus的架构图为:showImg(https://segmentfault.com/img/remote/1460000018372350?w=14...
阅读 675·2021-10-14 09:42
阅读 1946·2021-09-22 15:04
阅读 1528·2019-08-30 12:44
阅读 2117·2019-08-29 13:29
阅读 2703·2019-08-29 12:51
阅读 524·2019-08-26 18:18
阅读 662·2019-08-26 13:43
阅读 2770·2019-08-26 13:38