prometheus专题—(十三) proemetheus多实例采集

简介: 文档:https://prometheus.io/docs/guides/multi-target-exporter/

exporter 分类

image.png

proemetheus exporter 多实例采集说明

为什么有多实例采集

·要么无法在目标服务器上运行程序,例如说网络设备的SNMP

·要么我们对距离(例如网站从网络外部特定点到站点的延迟和可访问性)特别感兴趣,这是常见的黑盒导出器的·用例。

·或者说部署agent代价比较大

多实例采集模式特点

exporter将通过网络协议获取目标的指标。

exporter不必在获取度量标准的计算机上运行。

Prometheus GET请求的参数作为 exporter获取目标和查询配置字符串

然后,exporter在收到Prometheus的GET请求之后开始抓取

exporter可以采集多个目标



blackbox_exporter 需要传入target 和 module 参数,采用下列方式加入的采集池中

  - job_name: 'blackbox-http'
    # metrics的path 注意不都是/metrics
    metrics_path: /probe
    # 传入的参数
    params:
      module: [http_2xx]  # Look for a HTTP 200 response.
      target: [prometheus.io,www.baidu.com,172.20.70.205:3000]
    static_configs:
      - targets:
        - 172.20.70.205:9115 

- 此方案的缺点
  - 实际采集目标位于参数配置中,这非常不寻常,以后很难理解。
  - 该instance标签显示的是`blackbox_exporter`的地址,从技术上讲是真实的,但不是我们感兴趣的内容。
  - 我们看不到我们探查了哪个URL。这是不切实际的,并且如果我们探查多个URL,也会将不同的指标混合到一个指标中。
- 解决方案说明:relabeling
  - 所有以__开头的标签在采集完成后都会被drop调。大多数内部标签以开头__
  - 可以设置一个内部标签形如`__param_<name>` ,代表设置URL参数 name=value 
  - 有一个内部标签__address__,在static_configs时由targets设置,其值是抓取请求的主机名。默认情况下,它被赋值给instance 标签,代表采集来源。

blackbox_exporter relabel 配置

将参数作为采集的target传入

 - job_name: 'blackbox-http'
    # metrics的path 注意不都是/metrics
    metrics_path: /probe
    # 传入的参数
    params:
      module: [http_2xx]  # Look for a HTTP 200 response.
    static_configs:
      - targets:
        - http://prometheus.io    # Target to probe with http.
        - https://www.baidu.com   # Target to probe with https.
        - http://172.20.70.205:3000 # Target to probe with http on port 3000.
    relabel_configs:
      # 第一步:我们从标签中获取值__address__(来自targets),然后将它们写入新标签__param_target
      # 然后blackbox_exporter 会接收到 target参数
      - source_labels: [__address__]
        target_label: __param_target
      # 第二步:我们从标签_param_target中获取值,并使用这些值创建instance标签。
      - source_labels: [__param_target]
        target_label: instance
      # 第三步: 将采集源由原来的targe替换为 真实的blackbox_exporter地址
      - target_label: __address__
        replacement: 127.0.0.1:9115  # The blackbox exporter's real hostname:port.

prometheus特殊tag说明

- __address__
- __name__
- instance
- job
- __metrics_path__ 

image.png

相关文章
|
Prometheus Cloud Native API
|
Prometheus 监控 Cloud Native
Prometheus配置docker采集器
本文介绍了如何使用 Prometheus 监控 Docker 容器,涵盖环境准备、配置文件编写及服务启动等步骤。首先确保安装 Docker 和 Docker Compose,接着通过 `docker-compose.yml` 配置 Prometheus 和示例应用。创建 `prometheus.yml` 指定数据采集目标,最后用 `docker-compose up -d` 启动服务。文章还展示了甘特图和类图,帮助理解服务状态与关系,助力提升系统可靠性和可维护性。
730 11
|
存储 Prometheus 运维
All in One:Prometheus 多实例数据统一管理最佳实践
当管理多个Prometheus实例时,阿里云Prometheus托管版相比社区版提供了更可靠的数据采集和便捷的管理。本文比较了全局聚合实例与数据投递方案,两者在不同场景下各有优劣。
63931 125
|
Prometheus Cloud Native 数据可视化
Linkerd 2.10(Step by Step)—4. 如何配置外部 Prometheus 实例
Linkerd 2.10(Step by Step)—4. 如何配置外部 Prometheus 实例
305 0
|
Prometheus 监控 Cloud Native
Prometheus结合Consul采集多个MySQL实例的监控指标
将 Prometheus 与 Consul 结合使用,实现对多个 MySQL 实例的自动发现与监控,不仅提高了监控的效率和准确性,也为管理动态扩缩容的数据库环境提供了强大的支持。通过细致配置每一部分,业务可以获得关键的性能指标和运行健康状况的即时反馈,进而优化资源配置,提高系统的稳定性和可用性。
913 3
|
Prometheus Cloud Native Linux
Prometheus(二)之Node Exporter采集Linux主机数据
Prometheus(二)之Node Exporter采集Linux主机数据
1014 0
|
数据采集 JSON Prometheus
iLogtail使用入门-iLogtail 采集Prometheus 数据
前言阿里已经正式开源了可观测数据采集器iLogtail。作为阿里内部可观测数据采集的基础设施,iLogtail承载了阿里巴巴集团、蚂蚁的日志、监控、Trace、事件等多种可观测数据的采集工作。本文将介绍iLogtail 如何采集Prometheus exporter 数据。采集配置iLogtail 的采集配置全面兼容Prometheus 配置文件(以下介绍为1.0.30版本+)。参数描述默认值Ya
1437 0
iLogtail使用入门-iLogtail 采集Prometheus 数据
|
数据采集 JSON Prometheus
iLogtail使用入门-iLogtail 采集Prometheus 数据
阿里已经正式开源了可观测数据采集器iLogtail。作为阿里内部可观测数据采集的基础设施,iLogtail承载了阿里巴巴集团、蚂蚁的日志、监控、Trace、事件等多种可观测数据的采集工作。本文将介绍iLogtail 如何采集Prometheus exporter 数据。
1182 0