zoukankan      html  css  js  c++  java
  • prometheus配置文件动态管理

    prometheus配置文件动态管理

    由于Prometheus是“拉”的方式主动监测,所以需要在server端指定被监控节点的列表。当被监控的节点增多之后,每次增加节点都需要更改配置文件,非常麻烦,我这里用consul-template+consul动态生成配置文件,这种方式同样适用于其他需要频繁更改配置文件的服务。另外一种解决方案是etcd+confd,基本现在主流的动态配置系统分这两大阵营。consul-template的定位和confd差不多,不过它是consul自家推出的模板系统。

    1.普通实现方法

    先看下普通配置下Prometheus的配置文件样例:

    - job_name: 'node-exporter'

    static_configs:

    - targets: ['10.167.202.10:9100']

    labels:

    hostname: 'web1'

    - targets: ['10.167.202.11:9100']

    labels:

    hostname: 'web2'

    - targets: ['10.167.202.12:9100']

    labels:

    hostname: 'web3'

    2. file_sd_config实现方法

    每次新加监控节点的时候,只需要添加一个新的targets即可,“hostname”是我自定义的一个label标签,方便区分。

    当targets的数量达到几百上千之后,就产生一个问题,配置文件看起来就会特别冗余。所以有经验的运维人就会想到用include的方式,把其他的配置文件包含进来,这样就把一个大而冗余的主配置文件,切分成一个个小的配置文件。Prometheus这里用的方法就是基于文件的服务发现--"file_sd_config"。我这里在prometheus下面新建了一个conf.d的目录,包含两个子配置文件,分别监控不同系统的机器,linux和windows的机器:

    在prometheus.yml中加入如下的配置

      - job_name: 'linuxnode-discorvery'

        file_sd_configs:

          - files:

            - /apps/prometheus/conf.d/linuxnode-discovery.json

      - job_name: 'windowsnode-discorvery'

        file_sd_configs:

          - files:

            - /apps/prometheus/conf.d/windowsnode-discovery.json

    file_sd_config参考样例

    子配置文件可以是YAML或JSON格式,我这里用的JSON格式,示例如下:

    cat conf.d/lnode-discovery.json

    [

    {

    "targets": ["10.167.202.235:9100"],

    "labels": {

    "hostname": "test-01"

    }

    },

    {

    "targets": ["10.167.202.199:9100"],

    "labels": {

    "hostname": "test-02"

    }

    }

    ]

    启动服务后,如下:

     
     
     
     

    以后添加节点,编辑对应的json文件即可,不用重启服务。

  • 相关阅读:
    adb常用命令和工具
    playwright学习记录
    vue,element-ui表格,多个单元格值可修改(点击聚焦后变成input,失去焦点请求保存)
    vue,element-ui表格,合并单元格,如果需要合并的数据隔行,需要重新排列数组
    cas-5.3.x接入REST登录认证,移动端登录解决方案
    企业级cas5.3登录页面修改
    cas实现单点登录mysql,oracle双版本
    Mycat实现MySQL主从复制和读写分离(双主双从)
    IDEA安装插件后默认存放的位置
    值得推荐的Idea十几大优秀插件
  • 原文地址:https://www.cnblogs.com/faberbeta/p/13597816.html
Copyright © 2011-2022 走看看