创建适用于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 的指标。
只要使用Shell或其他方式更新相应的文件,就可以简单地利用Shell等现有资源来自行制作导出器。
使用自定义exporter制作工具库来创建exporter补充
以下是为每种语言创建的Exporter创建库的存在。