Prometheus监控学习笔记之prometheus的federation机制
0x00 概述
有时候对于一个公司,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模式来解决该问题。
0x01 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的方案就基于此。
0x02 通过Federation监控k8s
采取上一篇文章的配置文件,在k8s集群中部署一个prometheus server,集群外的prometheus server 定期获取集群中prometheus的数据。
然后通过设置match即可
'match[]':
- '{job="prometheus"}'
- '{__name__=~"job:.*"}'
0x03 总结
此外联邦模式可以实现prometheus监控prometheus。遵循以下两点:
- 网格模式。在同一个数据中心,每个prometheus监控其他的prometheus。
- 上下级模式。上一级的prometheus监控数据中心级别的prometheus。
参考
Prometheus监控学习笔记之prometheus的federation机制的更多相关文章
- Prometheus监控学习笔记之Prometheus的Relabel,SD以及Federation功能
0x00 k8s 的监控设计 k8s 默认以及推荐的监控体系是它自己的一套东西:Heapster + cAdvisor + Influxdb + Grafana,具体可以看 这里 . 包括 k8s 自 ...
- Prometheus监控学习笔记之prometheus的远端存储
0x00 概述 prometheus在容器云的领域实力毋庸置疑,越来越多的云原生组件直接提供prometheus的metrics接口,无需额外的exporter.所以采用prometheus作为整个集 ...
- Prometheus监控学习笔记之Prometheus存储
0x00 概述 Prometheus之于kubernetes(监控领域),如kubernetes之于容器编排.随着heapster不再开发和维护以及influxdb 集群方案不再开源,heapster ...
- Prometheus监控学习笔记之Prometheus不完全避坑指南
0x00 概述 Prometheus 是一个开源监控系统,它本身已经成为了云原生中指标监控的事实标准,几乎所有 k8s 的核心组件以及其它云原生系统都以 Prometheus 的指标格式输出自己的运行 ...
- Prometheus监控学习笔记之Prometheus普罗米修斯监控入门
0x00 概述 视频讲解通过链接网易云课堂·IT技术快速入门学院进入,更多关于Prometheus的文章. Prometheus是最近几年开始流行的一个新兴监控告警工具,特别是kubernetes的流 ...
- Prometheus监控学习笔记之Prometheus监控简介
0x00 Prometheus容器监控解决方案 Prometheus(普罗米修斯)是一个开源系统监控和警报工具,最初是在SoundCloud建立的.它是一个独立的开放源码项目,并且独立于任何公司.不同 ...
- Prometheus监控学习笔记之Prometheus查询无数据或者Grafana不显示数据的诡异问题
0x00 概述 Prometheus和Grafana部署完成后,网络正常,配置文件正常,抓取agent运行正常,使用curl命令获取监控端口数据正常,甚至Prometheus内的targets列表内都 ...
- Prometheus监控学习笔记之Prometheus 2.x版本的常用变化
最近用了prometheus 2.0 版本,感觉改变还是有点大,现将改变相关记录如下: 1.prometheus.yml文件配置修改后,要想重新加载,必须在启动的时候添加参数: --web.enabl ...
- Prometheus监控学习笔记之Prometheus的架构及持久化
0x00 Prometheus是什么 Prometheus是一个开源的系统监控和报警工具,特点是 多维数据模型(时序列数据由metric名和一组key/value组成) 在多维度上灵活的查询语言(Pr ...
随机推荐
- (转)EOS中账户、钱包和密钥的关系
EOS对于账户的设计与ETH有很大的不同,引入了Account账户, Wallet钱包, 钱包密码, Key公私钥, Permission权限等众多概念,刚入门的时候感觉一头雾水.本文希望通过对这些概 ...
- np.newaxis学习【转载】
转自:https://blog.csdn.net/lanchunhui/article/details/49725065 1.相当于None >> type(np.newaxis) Non ...
- word2vec 评测 window_different
This is a test for word2vecWed Nov 07 16:04:39 2018dir of model1: ./model/window3_ min_count2_worker ...
- 动手动脑(&课后实验):生成随机数,函数的重载
一.编写一个方法,使用纯随机数生成算法生成指定数目(比如1000个)的随机整数. 1.程序源代码 import java.util.Scanner; import java.util.Random; ...
- 单点登录开源架构之CAS
服务端 开源地址:https://github.com/apereo/cas Release版:https://github.com/apereo/cas/releases Windows下使用下载c ...
- Selenium基本使用(十三)测试中常见问题
我们在使用selenium测试过程中,经常会遇到这样的问题: 1.frame或iframe <iframe id='frame1' name='frame1'> <input typ ...
- JDBC连接自定义sqlserver数据库实例名(多个实例)
java语言中,通过jdbc访问sqlserver2005(2008)数据库默认实例可以按常用的写法来写url连接.代码如下: <span style="font-size:12px; ...
- Hbase java api
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_144export HADOOP_HOME=/home/hadoop/app/hadoop-2.4.1export ...
- big and little endian
总是容易搞混big endian 和 little endian,但是找到一篇文章,其解释让人耳目一新. 文章链接:http://www.cs.umd.edu/class/sum2003/cmsc31 ...
- EF切EFCore2.0存储过程问题
在从EF切换成EFCore2.0的过程中,遇到了存储过程的实现问题. 在EF中调用存储过程,非常方便,能够直接将结果转换成对应的结果类. 如代码中的Database.SqlQuery<TElem ...