ServerAdmin.ru
31.6K subscribers
851 photos
57 videos
23 files
3K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Ресурс включён в перечень Роскомнадзора
Download Telegram
Небольшая справочная заметка для тех, кто пользуется Prometheus. Речь пойдёт про простенький и быстрый в настройке обратный прокси для метрик - exporter-exporter. Я вообще не знал про его существование, хотя пользоваться им удобно, настраивается быстро. Плюс, живёт в базовых системных репозиториях. По крайней мере в Debian и Ubuntu он есть, искать по имени prometheus-exporter-exporter. Есть даже версия под Windows, можно запустить как службу.

По своей сути 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
1👍88👎3