Sobes.tech
Middle

Метрикалык маалыматтарды Prometheusка өткөрүү үчүн кардарларды кантип орнотуу керек?

sobes.tech AI

AIден жооп

Prometheus-ка метрикаларды өткөрүү үчүн, экспортерлорду (Exporters) колдонуу керек. Экспортерлор — бул кичинекей сервистер, алар HTTP-эндпоинтти ачып, анда Prometheus түшүнгөн форматта метрикалар болот.

Негизги жолдору:

  1. Расмий жана тараптык экспортерлорду колдонуу:

    • Көптөгөн популярдуу сервистер жана системалар үчүн даяр экспортерлор бар: node_exporter (ОС метрикалары), mysqld_exporter (MySQL метрикалары), kube-state-metrics (Kubernetes метрикалары) жана башка.
    • Конфигурация — бул экспортерду максаттуу серверге орнотуу жана анын дарегин Prometheus конфигурациясына көрсөтүү.
  2. Кушымталарга инструменталдоо:

    • Өнүктүрүүчүлөр өз колдонмолоруна кодду кошуп, метрикаларды түздөн-түз көрсөтө алышат.
    • Prometheus долбоору ар кандай программалоо тилдери үчүн кардар китепканаларды сунуштайт (Go, Java, Python, Ruby жана башка).
    • Бул китепканалар эсептегичтерди (counters), датчиктерди (gauges), гистограммаларды (histograms) жана жыйынтыктарды (summaries) түзүүгө жана андан соң HTTP-эндпоинтти ачууга мүмкүндүк берет.
  3. Textfile Collector (node_exporter үчүн):

    • node_exporter textfile коллекторун камтыйт, ал файлдардан метрикаларды белгилүү форматта окуй алат.
    • Бул мезгил-мезгилдүү скрипттер жана генерациялоочу тапшырмалар үчүн пайдалуу.
  4. 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 дареги

Конфигурацияланган экспортерлор же колдонмолорго инструменталдоо аяктагандан кийин, Prometheus белгиленген эндпоинттерден метрикаларды мезгил-мезгил менен сурайт (scraping).