Middle
Kako podesiti klijente za prenos metrika u Prometheus?
sobes.tech АИ
Одговор од АИ
Да бисте преносили метрике у Prometheus, потребно је да користите експортере (Exporters). Експортери су мали сервиси који отварају HTTP-ендпоинт који садржи метрике у формату који Prometheus разуме.
Главни начини:
-
Користење званичних и страних експортере:
- Постоје готови експортери за многе популарне сервисе и системе:
node_exporter(метрике ОС),mysqld_exporter(метрике MySQL),kube-state-metrics(метрике Kubernetes) итд. - Конфигурација укључује инсталацију експортерa на циљном серверу и навођење његове адресе у конфигурацији Prometheus.
- Постоје готови експортери за многе популарне сервисе и системе:
-
Инструментисање апликација:
- Развојни тимови могу додавати код у своје апликације за директно излагање метрика.
- Пројекат Prometheus пружа клијентске библиотеке за различите програмске језике (Go, Java, Python, Ruby итд.).
- Ове библиотеке омогућавају креирање броилача (counters), сензора (gauges), хистограма (histograms) и сумирања (summaries), а затим отварају HTTP-ендпоинт за прикупљање метрика од Prometheus.
-
Textfile Collector (за
node_exporter):node_exporterима колекторtextfile, који може читати метрике из датотека у одређеном формату.- Ово је корисно за периодичне скрипте или задатке који генеришу метрике.
-
Pushgateway:
Pushgatewayсе користи за краткотрајне или пакетне задатке који не могу бити директно прикупљени од стране Prometheus (због тога што можда не постоје у тренутку прикупљања).- Апликација шаље своје метрике у
Pushgateway, а Prometheus прикупља податке изPushgateway.
# Пример конфигурације Prometheus (prometheus.yml)
scrape_configs:
- job_name: 'node_exporter_servers' # Име задатка за прикупљање
static_configs:
- targets: ['server1:9100', 'server2:9100'] # Листа хостова/портова где је покренут `node_exporter`
- job_name: 'application_metrics' # Задаци за прикупљање метрика апликације
metrics_path: /metrics # Пут којим апликација излаже метрике
static_configs:
- targets: ['application-host:8080'] # Адреса апликације
- job_name: 'pushgateway' # Задак за прикупљање метрика из Pushgateway
honor_labels: true # Важно за правилну обраду етикета из Pushgateway
static_configs:
- targets: ['pushgateway-host:9091'] # Адреса Pushgateway
Након конфигурације експортерa или инструментисања апликација, Prometheus ће периодично скенирати (scraping) наведене ендпоинте за прикупљање метрика.