prometheus之使用特定URL和参数拉取配置示例

工作中实践配置prometheus从既有的web服务上拉取exporters信息,在web服务器上新增资源路径用于返回所需的exporters的信息。不过在配置prometheus的带params拉取的时候遇到一些问题,没有找到样例,特此记录。
这块属于官网配置中的的配置。scrape_config 主要指定目标和参数以描述如何抓取exporters上的信息,一般而言,一份scrape的配置只用于一个任务,但在高级配置,也可以是多个。
目标可以在static_configs中静态的指定,也可以由动态服务发现机制来发现。同时还有 relabel_configs支持在抓取前,灵活地修改配置和标签,不过这块还没有研究。
下面是官网的一些配置内容,这里只截取常用的部分

# The job name assigned to scraped metrics by default. 
#名称需要唯一
job_name: 

# How frequently to scrape targets from this job.
#指定抓取的间隔期,可以覆盖全局的配置
[ scrape_interval:  | default =  ]

# Per-scrape timeout when scraping this job.
#指定该任务每次抓取的超时时间
[ scrape_timeout:  | default =  ]

# The HTTP resource path on which to fetch metrics from targets.
#指定http请求的资源路径
[ metrics_path:  | default = /metrics ]

# Configures the protocol scheme used for requests.
#配置是https或者http抓取
[ scheme:  | default = http ]

# Optional HTTP URL parameters.
#携带具体的参数
params:
  [ : [, ...] ]

tls_config:
#使用https请求时,所使用的tls的配置
  [  ]

以下为使用了上述各项配置的个人使用的配置示例,从自有服务器上的特定路径,携带参数拉取exporters的信息。

  - job_name: 'exporters_test'
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    metrics_path : '/path/to/resource'
    params :
        token: ['sdf1a5s1fs5a6sdf15d'] 
        act: ['get_exporters'] 
        hostdev: ['X1234567'] 
    scheme: 'https'
    tls_config:
        insecure_skip_verify: true
    static_configs:
        - targets: ['114.123.123.123:10080']

以上参数均为示例。其中params中携带了3个参数token,act和hostdev,tls_config中的insecure_skip_verify:true表示不校验服务器端证书的合法性。针对更注重安全的场景,tls_config中可以参考如下的官网的配置,配置CA证书,或者是本地证书。此处只用了最简单的配置。

# CA certificate to validate API server certificate with.
[ ca_file:  ]

# Certificate and key files for client cert authentication to the server.
[ cert_file:  ]
[ key_file:  ]

# ServerName extension to indicate the name of the server.
# https://tools.ietf.org/html/rfc4366#section-3.1
[ server_name:  ]

# Disable validation of the server certificate.
[ insecure_skip_verify:  ]

参考:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config
https://www.bookstack.cn/read/prometheus_practice/configuration-scrape_configs.md
https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_liunx_60_prometheus_config.html
https://www.prometheus.wang/quickstart/use-node-exporter.html

你可能感兴趣的:(linux系统运维)