• 05-prometheus的联邦模式-分布式监控


    一、联邦模式概述

    1,架构介绍

    由于,在大型企业中,被监控项目比较多,多到一台prometheus服务无法承载其大量的监控数据的传输,所以,联邦模式应运而生,它同等于zabbix监控的分布式,就是将大量的被监控项,分开进行监控,然后再汇总到一台prometheus的服务上。


    2,学习环境介绍

     为了模拟学习环境,我们准备:

    1,41和42服务器作为被监控节点,

    2,  71作为grafana出图监控大屏;

    3,  31作为prometheus主节点;

    4,  32和33作为prometheus的从节点;

    二、prometheus子节点配置

    1,子节点32配置

    本次学习,直接指向被监控地址,不用自动发现了;

    [root@prometheus-server32 ~]# vim /prometheus/softwares/prometheus-2.37.8.linux-amd64/prometheus.yml 

    # my global config
    global:
      scrape_interval: 3s  
      evaluation_interval: 15s 
    alerting:
      alertmanagers:
        - static_configs:
            - targets:
              # - alertmanager:9093
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"
    scrape_configs:
      - job_name: "prometheus"
        static_configs:
          - targets: ["localhost:9090"]
      #直接监控41节点
      - job_name: "node-exporter-01"
        static_configs:
          - targets: ["10.0.0.41:9100"]

    [root@prometheus-server32 ~]# curl -X POST http://10.0.0.32:9090/-/reload

    查看浏览器验证

    2,子节点33配置

    [root@prometheus-server33 ~]# vim /prometheus/softwares/prometheus-2.37.8.linux-amd64/prometheus.yml 


    global:
      scrape_interval: 3s 
      evaluation_interval: 15s 
    alerting:
      alertmanagers:
        - static_configs:
            - targets:
              # - alertmanager:9093
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"
    scrape_configs:
      - job_name: "prometheus"
        static_configs:
          - targets: ["localhost:9090"]
        #直接监控节点
      - job_name: "node-exporter-02"
        static_configs:
          - targets: ["10.0.0.42:9100"]

    curl -X POST http://10.0.0.33:9090/-/reload

    浏览器访问验证,是否监控成功

    三、prometheus主节点配置

    注意,prometheus主节点,取得是:prometheus子节点的数据;

    [root@prometheus-server31 ~]# cat /prometheus/softwares/prometheus-2.37.8.linux-amd64/prometheus.yml 
    global:
      scrape_interval: 3s 
      evaluation_interval: 15s 
    alerting:
      alertmanagers:
        - static_configs:
            - targets:
              # - alertmanager:9093
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"
    scrape_configs:
      - job_name: "prometheus-32"
        metrics_path: "/federate"
        #用于解决标签冲突问题,有效值为true和false(false)
        #设置为true,保留抓取的标签以忽略服务器自身的标签,就是覆盖原来的标签;
        #设置为false,不覆盖原来的标签,而是在标签前加了一个“exporter_”前缀;
        honor_labels: true
        params:
          "match[]":
          - '{job="prometheus"}'
          - '{__name__=~"job:.*"}'
          - '{__name__=~"node.*"}'
        static_configs:
          - targets: ["10.0.0.32:9090"]
        #子节点33
      - job_name: "prometheus-33"
        metrics_path: "/federate"
        honor_labels: true
        params:
          "match[]":
          - '{job="prometheus"}'
          - '{__name__=~"job:.*"}'
          - '{__name__=~"node.*"}'
        static_configs:
          - targets: ["10.0.0.33:9090"]

    [root@prometheus-server31 ~]# curl -X POST http://10.0.0.31:9090/-/reload

    浏览器查看,是否监控到子节点的数据

    四、grafana出图

    1,添加数据源

    2,导入仪表盘

    3,创建

    至此,联邦模式就学习完毕了;

    课后,自己再通过consul网络集群或者文档的方式,再使用自动发现来构建一遍这个联邦模式;

  • 相关阅读:
    LetCode刷题[简单题](4)顺序链表的顺序合并
    【解读】阿里巴巴 MySQL 数据库规约
    Zookeeper-JavaApI操作
    基于“SRP模型+”多技术融合在生态环境脆弱性评价模型构建、时空格局演变分析与RSEI 指数的生态质量评价及拓展应用
    ORACLE错误提示概述
    【PL理论】(3) F# 数据类型:变量类型 | F# 操作符 | 定义函数 | 使用定义的函数 | if-then-else 表达式:绝对不能省略 else 部分,除非表达式是 unit 类型
    python接口自动化之ConfigParser配置文件的使用
    Django REST framework中的序列化Serializers
    CVE-2017-15715 apache换行解析&文件上传漏洞
    1. hadoop环境准备
  • 原文地址:https://blog.csdn.net/2302_79199605/article/details/136467293