2018-05-17 prometheus 多数据中心实战

前言:本文章只配置了单个prometheus 从节点,多节点配置还请按照参考文档自行探索。

prometheus 支持互相读取,为多数据中心做数据同步,指导文档如下:

https://www.robustperception.io/scaling-and-federating-prometheus/

中文翻译版本如下:

https://www.robustperception.io/scaling-and-federating-prometheus/

按照这两位大神指导,实操如下:

从节点配置:在采集数据的节点上 配置下面增加如下配置:

scrape_configs:
  - job_name: 'node'
    metrics_path: /metrics
    static_configs:
      - targets: ['ip1:port1', 'ip2:port2', 'ip3:port3', 'ip4:port4']
# 在原来基础上增加如下内容作为从节点
    relabel_configs:
      - source_labels: [__address__]
        modulus:       1    # 1 slave
        target_label:  __tmp_hash
        action:        hashmod
      - source_labels: [__tmp_hash]
        regex:         ^0$  # This is the 1st slave
        action:        keep

主节点配置:在prometheus.yml 增加一个 job,把从节点看作一个完整实例来采集数据,并通过 job进行筛选业务,筛选出带有node的内容:

  - job_name: 'node-1st-slave'
    honor_labels: true
    metrics_path: /federate
    params:
      match[]:
        - '{__name__=~"^node.*"}'   # Request all slave-level time series
    static_configs:
      - targets:
        - 主节点ip:9090

配置完成之后重载prometheus kill -HUP PrometheusPID 发现 target 已经 up 起来了,点击 endpoint url 可以看到数据已经正常采集到了,因为把slave机器整个作为一个exporter实例,所以主prometheus节点up计算只能监控到slave prometheus 有没有挂掉,不能监控到从节点下面各个实例有没有挂掉,不过这个问题可以拆分获取到并通过 consul 服务发现来适应生产环境。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,917评论 0 5
  • Prometheus TSDB是什么? (Time Series Database) 简单的理解为.一个优化后用来...
    ilkkzm阅读 19,274评论 0 4
  • 百变魔板是根据全息医学理论,通过对人体器官对应反射区的刺激,调动人体内源性药物因子,提升人体自然治愈,自然抗病,自...
    宇宙贝贝阅读 1,797评论 0 0
  • 识人,不仅指识他人,也指识自己。识他人,你能够在纷纭众生中迅速找到志同道合的前进者,撇下不思进取的固守者;识自己,...
    Q_7324阅读 362评论 0 1