Middle
Kādus metriku veidus jūs zināt Prometheus?
sobes.tech AI
Atbilde no AI
Prometheus atbalsta četrus galvenos metrikas tipus:
- Skaitītājs (Counter): Monotoniski pieaugoša vērtība, kas var tikai palielināties (vai atiestatīt uz nulli procesa pārstartēšanas laikā). To izmanto inkrementālo notikumu skaitīšanai, piemēram, pieprasījumu, kļūdu vai pabeigtu uzdevumu skaitam.
// Piemērs Go valodā var requestsTotal = prometheus.NewCounter( prometheus.CounterOpts{ Name: "http_requests_total", Help: "Kopējais HTTP pieprasījumu skaits", }, ) - Sensors (Gauge): Nejauša skaitliska vērtība, kas var pieaugt vai samazināties. To izmanto pašreizējā stāvokļa mērīšanai, piemēram, CPU slodzei, atmiņas izmantojumam, aktīvo lietotāju skaitam vai rindu izmēram.
# Piemērs Python valodā from prometheus_client import Gauge cpu_usage = Gauge('cpu_usage_percent', 'Pašreizējā CPU izmantošanas procents') cpu_usage.set(55.5) - Histogrāma (Histogram): Mēra paraugu sadalījumu (piemēram, pieprasījumu atbildes laiku) un grupē tos pēc konfigurējamiem groziem (buckets). Tas ļauj iegūt datus par paraugu skaitu katrā grozā un to summu. To izmanto aizkavējumu analīzei.
// Piemērs Java valodā import io.prometheus.client.Histogram; static final Histogram requestLatencies = Histogram.build() .name("http_request_duration_seconds") .help("Pieprasījuma ilgums sekundēs") .buckets(0.1, 0.5, 1.0, 2.5, 5.0, 10.0) // Grozi .register(); - Kopsavilkums (Summary): Līdzīgs histogrāmai, bet klienta pusē aprēķina konfigurējamus sadalījuma kvantilus kustīgā laika logā. Tas arī nodrošina kopējo paraugu skaitu un to summu. Tas ir piemērots aizkavējumu mērīšanai, kad ir svarīgi kvantili, bet jāņem vērā, ka klienta pusē aprēķins prasa vairāk skaitļošanas jaudas un var novest pie mazāk precīziem kvantiliem apkopošanas laikā.
# Piemērs Ruby valodā require 'prometheus/client' requests_summary = Prometheus::Client::Summary.new(:request_duration_seconds, 'Pieprasījuma ilgums sekundēs.')
Metrikas veida izvēle ir atkarīga no datu rakstura, kurus nepieciešams uzraudzīt.