Ответ
Экспортеры — это ключевые компоненты в стеке Prometheus для сбора метрик из различных систем. Вот с какими я работал:
Для инфраструктуры и ОС:
- node_exporter — базовый экспортер для метрик Linux/Unix сервера (CPU, память, диск, сеть).
- windows_exporter — аналог для серверов Windows.
Для контейнеризации и оркестрации:
- cAdvisor (Container Advisor) — собирает метрики по ресурсам контейнеров. Часто встроен в Kubelet.
- kube-state-metrics — генерирует метрики о состоянии объектов Kubernetes (поды, деплойменты, сервисы).
Для сетевых сервисов и баз данных:
- blackbox_exporter — для probing (HTTP, TCP, ICMP) и проверки доступности.
- nginx/nginx-vts-exporter — для метрик NGINX.
- postgres_exporter / mysqld_exporter — для метрик соответствующих СУБД.
- redis_exporter / memcached_exporter — для систем кэширования.
Для облачных провайдеров:
- cloudwatch_exporter — для вытягивания метрик из AWS CloudWatch в Prometheus.
- azure_monitor_exporter — аналогично для Azure.
Пример конфигурации Prometheus для scrape job с node_exporter:
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['10.0.1.15:9100', '10.0.1.16:9100']
relabel_configs:
- source_labels: [__address__]
target_label: instance
На практике мы добавляли метки env=prod/staging и role=db/web через relabeling для удобства группировки и алертинга в Grafana и Alertmanager.