创建适用于Prometheus的自定义Exporter

如何构建自己的Exporter

动力 lì)

想要使用诸如Shell等工具来收集自定义的度量指标

我想自己制作一个Prometheus Exporter来检查指标。

只需要一个选项,用中文来改写以下句子:
真的只需要创建一个最基本的出口商。

以”metrics”为文件名,以Prometheus格式注册数据。

❯ cat metrics 
# HELP osushi これはお寿司の数です
# TYPE osushi counter
osushi 1.101010101e+10
# HELP yakiniku これは焼肉の数
# TYPE yakiniku counter
yakiniku 1.101010101e+10

使用Python搭建一个可靠的Web服务器,以公开上述文件。

python3 -m http.server

在8000号端口上运行web服务器,可以查看先前文件的内容。

❯ curl localhost:8000/metrics
# HELP osushi これはお寿司の数です
# TYPE osushi counter
osushi 1.101010101e+10
# HELP yakiniku これは焼肉の数
# TYPE yakiniku counter
yakiniku 1.101010101e+10

在 Prometheus 的配置文件(prometheus.yml)的 scrape_config 段落内,写明 exporter 的网址。

❯ cat prometheus.yml
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

scrape_configs:
  - job_name: 'simple_file'
    static_configs:
      - targets: ['localhost:8000']

可以在 Prometheus 的用户界面上确认可以获取到名为 osushi 的指标。

simple_exporter.png

只要使用Shell或其他方式更新相应的文件,就可以简单地利用Shell等现有资源来自行制作导出器。

使用自定义exporter制作工具库来创建exporter补充

以下是为每种语言创建的Exporter创建库的存在。

广告
将在 10 秒后关闭
bannerAds