Monitoring — tizim, xizmat yoki infratuzilmaning holatini vaqt davomida o‘lchash, yozish va belgilangan shartlarda signal berish jarayoni. U CPU, latency, error rate, queue depth, availability va biznes ko‘rsatkichlarini kuzatishi mumkin. Monitoring muammo sababini avtomatik tushuntirmaydi, ammo holat o‘zgarishini erta ko‘rsatadigan dalillarni beradi.
Signal turlari
Metrics vaqt qatoridagi sonli o‘lchovlardir. Loglar diskret hodisalar va kontekstni saqlaydi. Trace bitta requestning xizmatlar orasidagi yo‘lini ko‘rsatadi. Event deployment, failover yoki konfiguratsiya o‘zgarishini belgilaydi. Profil esa kod vaqt va resursni qayerda sarflaganini tahlil qiladi.
| Signal | Kuchli tomoni |
|---|---|
| Metric | Trend, threshold va aggregation |
| Log | Batafsil hodisa va diagnostika |
| Trace | Distributed request sabab zanjiri |
| Event | O‘zgarishlarni vaqt bilan bog‘lash |
| Profile | CPU, memory va lock xarajati |
Bir signal hamma savolga javob bermaydi. Metric spike’ni ko‘rsatadi, trace sekin dependency’ni, log esa aniq error kodini topishi mumkin.
O‘lchov dizayni
Metric nomi, unit va label semantikasi barqaror bo‘ladi. request_duration_seconds sekundni bildirsa barcha producer shu unitdan foydalanadi. Counter faqat oshadi, gauge ko‘tarilib-tushadi, histogram observation distributionini bucketlarda yig‘adi.
User ID, request ID yoki URLning cheksiz path’i label qilinsa cardinality juda ko‘payib storage va query’ni qimmatlashtiradi. Yuqori cardinality kontekst log yoki trace’da saqlanadi; metric label cheklangan kategoriyalar bilan ishlaydi.
SLI va SLO
Service level indicator foydalanuvchiga tegishli sifatni o‘lchaydi: muvaffaqiyatli request ulushi, latency yoki data freshness. Service level objective shu indikator uchun maqsad belgilaydi. Host CPU yuqori bo‘lishi sabab signali, lekin foydalanuvchi availability’sining o‘zi emas.
Error budget ruxsat etilgan muvaffaqiyatsizlik miqdorini ko‘rsatadi. Alert har kichik metric tebranishida emas, SLOga real xavf tug‘ilganda ishlashi mumkin. Kritik infratuzilma uchun bevosita capacity va hardware alarmlari ham zarur.
Alerting
Alert actionable bo‘lishi kerak: qaysi xizmat, qanday ta’sir, qaysi runbook va kim owner ekanini bildiradi. Juda ko‘p shovqin alert fatigue keltiradi. Thresholdga davomiylik, minimum sample va deduplication qo‘shiladi.
Symptom-based alert foydalanuvchi error rate’i oshganini bildiradi; cause-based alert disk to‘layotganini oldindan ko‘rsatadi. Paging darhol inson aralashuvi talab qiladigan holatga, ticket esa ish vaqtida ko‘riladigan muammoga ajratiladi.
Black-box va white-box
Black-box monitoring tashqaridan real mijozga o‘xshab endpointni tekshiradi. U DNS, TLS, network va application zanjirini qamrab oladi. White-box monitoring xizmat ichidagi queue, cache hit va thread holatini ko‘rsatadi.
Faqat ichki health check “yashil” bo‘lsa ham DNS yoki load balancer buzilgan bo‘lishi mumkin. Faqat tashqi probe esa ichki saturation sababini bermaydi. Ikki yondashuv birgalikda ishlatiladi.
Ma’lumot yig‘ish
Pull model collector endpointdan metric so‘raydi; push model agent yoki job gateway’ga yuboradi. Short-lived batch job pull oralig‘ida yo‘qolishi mumkin. SNMP network qurilmadagi counterlarni manager orqali o‘qiydi, trap esa ayrim hodisani yuboradi.
Sampling va retention xarajatga ta’sir qiladi. Bir soniyalik raw metric uzoq muddat saqlanmasligi, keyin hourly aggregate’ga aylanishi mumkin. Forensic talab bo‘lsa zarur resolution va audit retention alohida belgilanadi.
Monitoringning o‘zi
Telemetry pipeline ishlamay qolsa tizim “tinch” ko‘rinishi mumkin. Scrape target soni, ingestion lag, dropped sample, notification delivery va storage holati alohida kuzatiladi. “No data” ko‘pincha “zero”dan boshqa holat.
Dashboard deployment va incident vaqtini annotation bilan ko‘rsatadi. Vaqt zonasi, clock sync va query interval noto‘g‘ri bo‘lsa hodisalar o‘zaro siljib ko‘rinadi.
Xavfsizlik
Log va labelga token, parol yoki shaxsiy ma’lumot kiritilmaydi. Monitoring tizimi katta infratuzilma xaritasiga ega bo‘lgani uchun access control va audit bilan himoyalanadi. Read-only dashboard bilan alert yoki query konfiguratsiyasini o‘zgartirish huquqi ajratiladi.
Bog‘liq tushunchalar
Observability, Metrics, Logging, Distributed tracing, Alerting, Service-level objective, Telemetry