首页 > 其他分享 >prometheus服务发现,文件发现

prometheus服务发现,文件发现

时间:2023-04-14 11:44:54浏览次数:34  
标签:发现 文件 labels 9100 prometheus file targets

【1】静态服务发现

- job_name: "nodes"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
    static_configs:
     - targets:  
        - 10.99.31.206:9100
        - 10.99.31.201:9100
        - 10.99.31.202:9100

【2】基于文件的服务发现 file_sd_configs

(2.1)yaml 和 json 格式

在Prometheus支持的众多服务发现的实现方式中,基于文件的服务发现是最通用的方式。这种方式不需要依赖于任何的平台或者第三方服务。对于Prometheus而言也不可能支持所有的平台或者环境。

  通过基于文件的服务发现方式下,Prometheus会定时从文件中读取最新的Target信息,因此,你可以通过任意的方式将监控Target的信息写入即可。

  用户可以通过JSON或者YAML格式的文件,定义所有的监控目标。

例如,在下面的yaml文件中分别定义了2个采集任务,以及每个任务对应的Target列表:

yaml格式

- targets: ['192.168.1.220:9100']
  labels:
    app:    'app1'
    env:   'game1'
    region: 'us-west-2'
- targets: ['192.168.1.221:9100']
  labels:
    app:    'app2'
    env:   'game2'
    region: 'ap-southeast-1'
json格式

[
  {
    "targets": [ "192.168.1.221:29090"],
    "labels": {
      "app": "app1",
      "env": "game1",
      "region": "us-west-2"
    }
  },
  {
    "targets": [ "192.168.1.222:29090" ],
    "labels": {
      "app": "app2",
      "env": "game2",
      "region": "ap-southeast-1"
    }
  }
]

(2.2)加额外的标签 labels

$ cat file_sd/test.yml
- targets:
   - "10.20.33.21:9100"
   - "10.20.33.90:9100"
  labels:
    hello: kitty
- targets:
   - "10.20.33.249:9100"
   - "10.20.33.105:9100"
  labels:
    hello: world

(2.3)prometheus 配置

  - job_name: 'file_sd_test'
    scrape_interval: 10s
    file_sd_configs:
    - files:
       - /data/prometheus/static_conf/*.yml
       - /data/prometheus/static_conf/*.json

这里要注意,静态文件 *.yml 的 job_name 会被 prometheus.yml 中的 job_name 覆盖。

  

 

(2.4)修改文件刷新频率

prometheus默认5m刷新一次文件内容,我们可以修改为30秒

  - job_name: 'file_sd_test'
    scrape_interval: 10s
    file_sd_configs:
    - refresh_interval: 30s # 30s重载配置文件
      files:
      - /data/prometheus/static_conf/*.yml
      - /data/prometheus/static_conf/*.json

通过这种方式,Prometheus会自动的周期性读取文件中的内容。当文件中定义的内容发生变化时,不需要对Prometheus进行任何的重启操作。

至此,完成。 curl -X POST localhost:9090/-/reload 即可

 

【参考文档】

转自:https://blog.csdn.net/w2009211777/article/details/123950688

参考:https://blog.csdn.net/lovely_nn/article/details/122209262

标签:发现,文件,labels,9100,prometheus,file,targets
From: https://www.cnblogs.com/gered/p/17317842.html

相关文章

  • Struts2_文件下载
    第一步:xml配置<actionname="download"class="action.netDiskAction.DownloadAction"><!--文件名--><paramname="fileName"></param><resultname="success"type=&......
  • mvc文件上传
         ......
  • 解决Spark读取tmp结尾的文件报错的问题
    业务场景flume采集文件到hdfs中,在采集中的文件会添加.tmp后缀。一个批次完成提交后,会将.tmp后缀重名名,将tmp去掉。所以,当Spark程序读取到该hive外部表映射的路径时,在出现找不到xxx.tmp文件的问题出现。解决思路:Hdfs提供了读取文件筛选的接口PathFilter。这个接口在hadoop-co......
  • 删除或移动c盘hiberfil.sys文件的方法
    第一步、在开始的功能表的搜索栏里输入cmd,然后在搜索结果中的cmd按下右键,点选【以系统管理员身份运行】第二步、在命令提示符窗口里输入下面命令然后按下Enter:powercfg–hoffhiberfil.sys文件会自动消失。如果想让这个文件不放在系统盘中,使用注册表编辑器打开HKEY......
  • C#上传大型视频文件到服务器,解决方案
    ​ 前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上传到一半中断后,继续上传却只能重头开始上传,这种让人不爽的体验。那有没有......
  • Fabric生成身份信息文件
    以Ubuntu为例fabric网络架构为3order节点,2org组织,2peer节点1.创建文件并下载二进制文件mkdir3order-2peercd3order-2peer/ 生成身份信息文件需要一些可执行文件,因此我们需要下载fabric的二进制文件,文件路径如下:fabric二进制文件选择适合的fabric版本进行下载,下载完成......
  • npm安装html2pdf后出现缺少文件的情况
      当时发现这个问题的时候,我就去node_modules里面找,确实没有这个文件,故判定是没有完全安装导致的错误信息最终解决方案:在终端中进入项目文件夹,执行以下命令:npmuninstallhtml2pdfnpminstallhtml2pdf这将卸载旧的html2pdf模块并重新安装它。如果你仍然遇到问题,请......
  • 使用java.util.zip对生成的字节数组输出文件流 进行打包压缩(单个、批量),并返回压缩包
    废话不多说直接上代码 packagegov.test.util;importjava.io.ByteArrayInputStream;importjava.io.ByteArrayOutputStream;importjava.io.IOException;importjava.util.List;importjava.util.Map;importorg.apache.tools.zip.ZipEntry;importorg.apache.tools.zip.Zip......
  • 还在用分割字符获取文件名等信息吗?
    stringfilespath=@"D:\Files\测试文件.doc";stringstrFilename=Path.GetFileName(filespath);//返回完整的文件名测试文件.docResponse.Write("返回完整的文件名:"+strFilename+"<br/>");stringextension=Path.GetExtension(filespath);//返......
  • Git之文件名乱码
    现象利用gitstatus查看待提交的文件,其中文件名中有中文,但是显示的中文字符是乱码乱码原因在默认设置下,中文文件名在工作区状态输出,中文名不能正确显示,而是显示为八进制的字符编码。解决方式设置git的**core.quotepath**选项为false,quotepath表示引用路径,加上–global表......