Небольшая справочная заметка для тех, кто пользуется Prometheus. Речь пойдёт про простенький и быстрый в настройке обратный прокси для метрик - exporter-exporter. Я вообще не знал про его существование, хотя пользоваться им удобно, настраивается быстро. Плюс, живёт в базовых системных репозиториях. По крайней мере в Debian и Ubuntu он есть, искать по имени prometheus-exporter-exporter. Есть даже версия под Windows, можно запустить как службу.
По своей сути exporter-exporter обычный бинарник на Go. Заменяет настройку любого другого обратного прокси на базе полноценного веб-сервера, типа Nginx или Traefik. Пригодится, когда у тебя несколько экспортеров и ты хочешь использовать для них единую точку входа, скрывая реальные адреса экспортеров.
У exporter-exporter небольшой конфиг в формате yaml. Экспортер поддерживает 3 эндпоинта:
◽️/ - отображает список всех экспортеров, которые на нём настроены;
◽️/proxy - через этот эндпоинт можно обратиться к конкретному экспортеру, настроенному через отдельный module в конфиге;
◽️/metrics - показывает метрики самого exporter-exporter.
Настройка примерно такая для двух разных экспортеров, локального и внешнего:
А вот так их добавляем в Prometheus вместе с метриками самого exporter-exporter, запущенного на сервере 192.168.101.2:
В примере репозитория exporter-exporter не сразу понял, как добавить внешний экспортер. Там были примеры только для localhost. Спросил об этом DeepSeek, перед этим уточнив, знаком ли он с этим продуктом. Ответил, что знаком и выдал совершенно нерабочий конфиг для службы, просто придумав различные несуществующие параметры. Такой вот он помощник. Пришлось самому разбираться.
Для тех, кто не видел, у меня была серия публикаций по запуску полноценного мониторинга на связке prometheus+grafana+alertmanager:
⇨ Запуск Prometheus + Grafana
⇨ Добавление туда Alertmanager
⇨ Полная автоматизация запуска и эксплуатации по принципу IaC
Данная заметка их хорошо дополняет. Удобно использовать именно exporter-exporter в связке с Prometheus, а не какой-то другой обратный прокси. Тут всё в едином формате, легко автоматизировать настройку и запуск.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#prometheus
По своей сути exporter-exporter обычный бинарник на Go. Заменяет настройку любого другого обратного прокси на базе полноценного веб-сервера, типа Nginx или Traefik. Пригодится, когда у тебя несколько экспортеров и ты хочешь использовать для них единую точку входа, скрывая реальные адреса экспортеров.
У exporter-exporter небольшой конфиг в формате yaml. Экспортер поддерживает 3 эндпоинта:
◽️/ - отображает список всех экспортеров, которые на нём настроены;
◽️/proxy - через этот эндпоинт можно обратиться к конкретному экспортеру, настроенному через отдельный module в конфиге;
◽️/metrics - показывает метрики самого exporter-exporter.
Настройка примерно такая для двух разных экспортеров, локального и внешнего:
modules:
node_exporter_loc:
method: http
http:
port: 9100
path: '/metrics'
node_exporter_ext:
method: http
http:
address: 172.20.4.15
port: 9100
path: '/metrics'
А вот так их добавляем в Prometheus вместе с метриками самого exporter-exporter, запущенного на сервере 192.168.101.2:
- job_name: 'exp_exp_metrics'
scrape_interval: 5s
static_configs:
- targets: ['192.168.101.2:9999']
- job_name: 'exp_exp-local'
scrape_interval: 5s
metrics_path: /proxy
params:
module:
- node_exporter_loc
static_configs:
- targets: ['192.168.101.2:9999']
- job_name: 'exp_exp-external'
scrape_interval: 5s
metrics_path: /proxy
params:
module:
- node_exporter_ext
static_configs:
- targets: ['192.168.101.2:9999']
В примере репозитория exporter-exporter не сразу понял, как добавить внешний экспортер. Там были примеры только для localhost. Спросил об этом DeepSeek, перед этим уточнив, знаком ли он с этим продуктом. Ответил, что знаком и выдал совершенно нерабочий конфиг для службы, просто придумав различные несуществующие параметры. Такой вот он помощник. Пришлось самому разбираться.
Для тех, кто не видел, у меня была серия публикаций по запуску полноценного мониторинга на связке prometheus+grafana+alertmanager:
⇨ Запуск Prometheus + Grafana
⇨ Добавление туда Alertmanager
⇨ Полная автоматизация запуска и эксплуатации по принципу IaC
Данная заметка их хорошо дополняет. Удобно использовать именно exporter-exporter в связке с Prometheus, а не какой-то другой обратный прокси. Тут всё в едином формате, легко автоматизировать настройку и запуск.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#prometheus
GitHub
GitHub - QubitProducts/exporter_exporter: A reverse proxy designed for Prometheus exporters
A reverse proxy designed for Prometheus exporters. Contribute to QubitProducts/exporter_exporter development by creating an account on GitHub.
1👍88👎3