Middle
Jak nakonfigurovat klienty pro přenos metrik do Prometheus?
sobes.tech AI
Odpověď od AI
Pro přenos metrik do Prometheus je nutné používat exportéry. Exportéry jsou malé služby, které otevírají HTTP endpoint obsahující metriky ve formátu srozumitelném pro Prometheus.
Hlavní způsoby:
-
Použití oficiálních a třetích stran exportérů:
- Existuje mnoho hotových exportérů pro populární služby a systémy:
node_exporter(metriky OS),mysqld_exporter(MySQL metriky),kube-state-metrics(metriky Kubernetes) atd. - Konfigurace spočívá v instalaci exportéru na cílový server a uvedení jeho adresy v konfiguraci Prometheus.
- Existuje mnoho hotových exportérů pro populární služby a systémy:
-
Instrumentace aplikací:
- Vývojáři mohou přidat kód do svých aplikací, aby přímo vystavovaly metriky.
- Prometheus poskytuje knihovny klientů pro různé programovací jazyky (Go, Java, Python, Ruby atd.).
- Tyto knihovny umožňují vytvářet čítače (counters), měřiče (gauges), histogramy a souhrny (summaries), a poté otevírat HTTP endpoint pro sběr dat Prometheus.
-
Textfile Collector (pro
node_exporter):node_exportermá kolektortextfile, který může číst metriky ze souborů ve specifickém formátu.- To je užitečné pro periodické skripty nebo úlohy, které generují metriky.
-
Pushgateway:
Pushgatewayse používá pro krátkodobé nebo dávkové úlohy, které nemohou být přímo sbírány Prometheus (protože nemusí existovat v době sběru).- Aplikace posílá své metriky do
Pushgateway, a Prometheus sbírá data zPushgateway.
# Příklad konfigurace Prometheus (prometheus.yml)
scrape_configs:
- job_name: 'node_exporter_servers' # Název úlohy sběru
static_configs:
- targets: ['server1:9100', 'server2:9100'] # Seznam hostitelů/portů, kde běží node_exporter
- job_name: 'application_metrics' # Úloha pro sběr metrik aplikace
metrics_path: /metrics # Cesta, na které aplikace vystavuje metriky
static_configs:
- targets: ['application-host:8080'] # Adresa aplikace
- job_name: 'pushgateway' # Úloha pro sběr metrik z Pushgateway
honor_labels: true # Důležité pro správné zpracování štítků z Pushgateway
static_configs:
- targets: ['pushgateway-host:9091'] # Adresa Pushgateway
Po nakonfigurování exportérů nebo instrumentaci aplikací bude Prometheus pravidelně dotazovat (scraping) uvedené endpointy za účelem sběru metrik.