Middle
Чӣ гуна мизоҷонро барои интиқоли метрикҳо ба Prometheus танзим кардан мумкин аст?
sobes.tech AI
Ҷавоб аз AI
Барои интиқоли метрикҳо ба Prometheus, бояд экспортерҳоро (Exporters) истифода баред. Экспортерҳо хизматрасониҳои хурд ҳастанд, ки HTTP-ендпоинтро мекушоянд, ки дар он метрикҳо дар формати, ки Prometheus фаҳмида метавонад, мавҷуданд.
Роҳҳои асосӣ:
-
Истифодаи экспортерҳои расмӣ ва тарафи сеюм:
- Экспортерҳои тайёр барои бисёр хизматрасониҳо ва системаҳо мавҷуданд:
node_exporter(метрикҳои системаи оператсионӣ),mysqld_exporter(метрикҳои MySQL),kube-state-metrics(метрикҳои Kubernetes) ва ғайра. - Танзимот дар насб кардани экспортер дар сервери мақсад ва нишон додани суроғаи он дар конфигуратсияи Prometheus иборат аст.
- Экспортерҳои тайёр барои бисёр хизматрасониҳо ва системаҳо мавҷуданд:
-
Инструментализатсия кардани барномаҳо:
- Тавре ки таҳиягарон метавонанд кодро дар барномаҳои худ илова кунанд барои намоиши мустақими метрикҳо.
- Проекти Prometheus китобхонаҳои муштариёнро барои забонҳои барномасозӣ (Go, Java, Python, Ruby ва ғайра) пешниҳод мекунад.
- Ин китобхонаҳо имкон медиҳанд, ки ҳисоббарорҳо (counters), сенсорҳо (gauges), гистограммҳо (histograms) ва ҷамъбастҳо (summaries) эҷод кунанд ва сипас HTTP-ендпоинтро барои ҷамъоварии метрикҳо аз Prometheus кушоянд.
-
Textfile Collector (барои
node_exporter):node_exporterколлекториtextfileдорад, ки метавонад метрикҳоро аз файлҳо дар формат муайян хонда гирад.- Ин барои скриптҳо ё вазифаҳои давомдор, ки метрикҳоро тавлид мекунанд, муфид аст.
-
Pushgateway:
Pushgatewayбарои вазифаҳои кӯтоҳмуддат ё гурӯҳии, ки мустақиман ҷамъоварӣ кардан мумкин нест, истифода мешавад (зеро мумкин аст дар вақти ҷамъоварӣ вуҷуд надошта бошанд).- Барнома метрикҳояшро ба
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
Пас аз танзим кардани экспортерҳо ё инструментализатсияи барномаҳо, Prometheus ба таври давомдор (периодӣ) эндпоинтҳоро барои ҷамъоварии метрикҳо пурсиш мекунад.