Middle
Prometheus'te кандай метрик түрлөрүн билесиз?
sobes.tech AI
AIден жооп
Prometheus төрт негизги метрик түрүн колдойт:
- Counter (Санак): Монотон өсүүчү мааниси бар, ал гана өсө алат (же кайра башталганда нөлгө кайтат). Бул инкременталдык окуяларды эсептөө үчүн колдонулат, мисалы, суроолордун, каталардын же аяктагам иштердин саны.
// Go тилиндеги мисал var requestsTotal = prometheus.NewCounter( prometheus.CounterOpts{ Name: "http_requests_total", Help: "Бардык HTTP суроолорунун саны", }, ) - Gauge (Гейдж): Ар кандай сандык мааниси бар, ал өсө жана азая алат. Бул учурдагы абалды өлчөө үчүн колдонулат, мисалы, CPU жүктөмү, эс тутумдун колдонулушу, активдүү колдонуучулардын саны же кезектеги өлчөм.
# Python тилиндеги мисал from prometheus_client import Gauge cpu_usage = Gauge('cpu_usage_percent', 'Учурдагы CPU колдонуу пайызы') cpu_usage.set(55.5) - Histogram (Гистограмма): Үлгүлөрдүн таралышын өлчөйт (мисалы, суроолордун жооп берүү убактысы) жана аларды конфигурацияланган кошулмаларга (buckets) топтойт. Бул ар бир кошулмадагы үлгүлөрдүн санын жана алардын жалпы суммасын алууга мүмкүндүк берет. Кайталанган кечигүүлөрдү анализдөө үчүн колдонулат.
// Java тилиндеги мисал import io.prometheus.client.Histogram; static final Histogram requestLatencies = Histogram.build() .name("http_request_duration_seconds") .help("Суроо узактыгы секунддарда") .buckets(0.1, 0.5, 1.0, 2.5, 5.0, 10.0) // Кошулмалар .register(); - Summary (Жыйынтык): Гистограммага окшош, бирок кардар тараптан үлгүлөрдүн конфигурацияланган квантилдерин эсептейт. Ошондой эле жалпы үлгүлөрдүн саны жана алардын суммасы бар. Кечигүүлөрдү өлчөө үчүн ылайыктуу, квантилдер маанилүү болсо, бирок кардар тараптагы эсептөө көбүрөөк эсептөө күчүн талап кылат жана жыйноодо таксыз квантилдерге алып келиши мүмкүн.
# Ruby тилиндеги мисал require 'prometheus/client' requests_summary = Prometheus::Client::Summary.new(:request_duration_seconds, 'Суроо узактыгы секунддарда.')
Метрикалык түрүн тандоо маалыматтын табигатына жана көзделген көзөмөлгө жараша болот.