• 五 Prometheus 基于文件的服务发现


    。。。。。。 略过Prometheus的安装

    1 )  基于文件的服务发现是仅仅略优于静态配置的服务发现方式, 它不依赖于任何平台或者第三方服务, 因为也是最为简单和通用的方式.
      1.1 文件使用Json和YAML 格式,它含有定义的Target列表,以及可选的标签信息.
      1.2 下面第一个配置,能够将prometheus 默认的静态配置转换为基于文件的服务发现时所需的配置.
    
    2 )  Prometheus Server 定期从文件中加载Target信息:
    
    3 ) prometheus 配置介绍:
    #Prometheus数据源的配置主要分为静态配置和动态发现, 常用的为以下几类:
    static_configs: #静态服务发现
    file_sd_configs: #文件服务发现
    dns_sd_configs: DNS #服务发现
    kubernetes_sd_configs: #Kubernetes 服务发现
    consul_sd_configs: Consul #服务发现
    ...
    
    #在监控kubernetes的应用场景中,频繁更新的pod,svc,等等资源配置应该是最能体现Prometheus监控目标自动发现服务的好处
    

    Proemtheus 基于文件服务发现:

    ## 主配置文件:
    cd /data/soft/prometheus/
    mkdir -p targets
    
    scrape_configs:
      - job_name: 'prometheus'
        file_sd_configs:
        - files:
          - targets/prometheus-*.yaml
          refresh_interval: 2m
    
      # all node
      - job_name: 'nodes'
        file_sd_configs:
        - files:
          - targets/nodes-*.yaml            # 引入配置文件
          refresh_interval: 2m             # 每隔2分钟重新加载一次上面的文件
    
      - job_name: 'redis_exporter'
        file_sd_configs:
        - files:
          - targets/redis-*.yaml
          refresh_interval: 2m             # 每隔2分钟重新加载一次上面的文件
    
      - job_name: 'mysql_exporter'
        file_sd_configs:
        - files:
          - targets/mysql-*.yaml
          refresh_interval: 2m             # 每隔2分钟重新加载一次上面的文件
    
    
      - job_name: 'bj-nginx1'
        file_sd_configs:
        - files:
          - targets/nginx-*.yaml
    

    分类配置文件:

    ##  Prometheus 监控:
    cat targets/prometheus-servers.yaml
    - targets:
      - localhost:9090
      labels:
        app: prometheus
        job: prometheus
        operator: 'Ucloud'
        area: '北京二D'
        env: 'Pord'
    
    ## Node 监控
    cat targets/nodes-linux.yaml
    - targets:
      - 10.10.0.111:9100
      - 192.168.1.133:9100
      labels:
        app: node-exporter
        job: nodes
        operator: 'Ucloud'
        area: '北京二D'
        env: 'Pord'
    
    
    ##  redis 服务:
    cat targets/redis-exporter.yaml 
    - targets: 
      - 192.168.111.111:9121
      labels:
        operator: 'Ucloud'
        area: "北京二D"
        env: 'Prod'
       
        
    ## mysql 服务:
    cat targets/mysql-exporter.yaml 
    - targets:
      - 192.168.111.111:9104
      labels:
        operator: 'Ucloud'
        area: '北京二D'
        env: 'Pord'
    
    

    启动并测试分类的Prometheus:

    # 启动file 发现方式的prometheus:
    ./prometheus -config.file=./prometheus.yml
    
    ## 查看targets 列表是否有其他主机存在:
    http://IP:9090/targets      # 查看是否找到各类主机
    
    ## 测试注释其中一台Node:
    cat targets/nodes-linux.yaml
    
    注释其中一台客户端,过2分钟继续查看. 是否自动刷新掉了注释的主机. 
    

    image

  • 相关阅读:
    反馈更多的信息,让别人感到舒服。
    Centos 安装Redis
    CentOS用yum安装MySQL 8.0 .
    MySQL事务。
    Java垃圾回收。
    类加载机制与类加载器。
    Java内存模型。
    844--Backspace String Compare
    maven的配置及基本操作
    idea基本使用
  • 原文地址:https://www.cnblogs.com/zhenxing06/p/14463914.html
Copyright © 2020-2023  润新知