Bosh sahifa Wiki Grafana

Grafana

Grafanametric, log, trace va boshqa ma’lumot manbalarini dashboard hamda vizual panel ko‘rinishida tahlil qilishga mo‘ljallangan observability platformasi.

Grafana odatda ma’lumotning asosiy nusxasini o‘zi yig‘maydi. U Prometheus, Elasticsearch, Loki, SQL database va boshqa data source’lardan query qilib natijani ko‘rsatadi.

Data source

Data source Grafana va tashqi ma’lumot tizimi orasidagi integratsiya.

Har data source:

ga ega.

Bir dashboard bir nechta data source’dan ma’lumot olishi mumkin.

Dashboard

Dashboard bir mavzu yoki service holatini ko‘rsatadigan panellar to‘plami.

Yaxshi dashboard aniq savolga javob beradi:

  • service sog‘lommi;
  • error qayerda;
  • latency qanday;
  • capacity qancha;
  • release’dan keyin nima o‘zgardi.

Barcha metricni bitta ekranga joylash dashboardni o‘qishni qiyinlashtiradi.

Panel

Panel bitta query yoki ma’lumot guruhini ko‘rsatadi.

Vizual turlar:

Vizual tur ma’lumot semantikasiga mos tanlanadi.

Query

Panel data source querysini bajaradi.

Query:

dan foydalanishi mumkin.

Og‘ir query ko‘p foydalanuvchi dashboardni yangilaganda backendga katta yuk beradi.

Time range

Dashboard global vaqt oralig‘iga ega.

Masalan:

  • oxirgi 15 daqiqa;
  • oxirgi 24 soat;
  • aniq incident oynasi.

Panel kerak bo‘lsa global vaqtni override qilishi mumkin.

Time zone user yoki tashkilot settingiga bog‘liq.

Refresh interval

Dashboard avtomatik yangilanadi.

Juda qisqa interval:

Metric scrape intervaldan tezroq refresh yangi ma’lumot bermasligi mumkin.

Variable

Variable dashboardni qayta ishlatishga yordam beradi.

Misollar:

Variable qiymati data source query orqali olinishi mumkin.

Yuqori cardinality variable dropdown va query performance’ini pasaytiradi.

Template

Dashboard query va title ichida variable ishlatadi.

Masalan:

service = $service

Bir dashboard ko‘p service yoki environment uchun ishlaydi.

Variable escaping query injection va noto‘g‘ri filterdan himoya qiladi.

Annotation

Annotation time series ustida muhim hodisani ko‘rsatadi.

Misollar:

Metricdagi o‘zgarishni release va boshqa hodisa bilan bog‘lash osonlashadi.

Alerting

Grafana query asosida alert rule ishlatishi mumkin.

Alert:

  • evaluation interval;
  • condition;
  • pending duration;
  • label;
  • annotation;
  • contact point;
  • notification policy

ga ega.

Dashboard paneli va alert query’i bir xil ko‘rinsa ham alohida execution contextga ega bo‘lishi mumkin.

Contact point

Alert notification:

ga yuboriladi.

Routing label va policy orqali boshqariladi.

Secret webhook URL va tokenlar himoyalanadi.

Folder

Dashboard va alertlar folderlarga guruhlanadi.

Folder:

  • team;
  • project;
  • environment;
  • domain

bo‘yicha tashkil qilinishi mumkin.

Folder permissioni dashboardga accessni boshqaradi.

Organization va tenant

Grafana instance bir nechta tashkilot yoki tenantni mantiqiy ajratishi mumkin.

Data source credential va dashboardlar alohida saqlanadi.

Bu to‘liq fizik isolation emas; administrator huquqlari ehtiyotkor boshqariladi.

Provisioning

Dashboard, data source va alertlar fayl yoki API orqali avtomatik provision qilinishi mumkin.

Afzalliklari:

  • version control;
  • review;
  • takroriy environment;
  • qo‘lda driftni kamaytirish.

UI’da qo‘lda o‘zgartirilgan dashboard provisioning bilan qayta yozilishi mumkin.

Dashboard as code

Dashboard JSON yoki boshqa declarative formatda saqlanadi.

Generated dashboard library yoki template orqali yaratilishi mumkin.

Juda abstrakt generator oddiy panel o‘zgarishini qiyinlashtiradi. Kod va UI workflow o‘rtasida aniq ownership belgilanadi.

Transformation

Grafana query natijalarini panel darajasida:

  • join;
  • rename;
  • filter;
  • calculate;
  • organize;
  • reduce

qilishi mumkin.

Katta data processingni dashboardga yuklash o‘rniga data source’da aggregation qilish ko‘pincha samaraliroq.

Permissions

Role va permission:

bo‘yicha boshqariladi.

Viewerga data source orqali kutilmagan query bajarish imkoniyati berilmasligi kerak.

Public dashboard

Ayrim dashboard authentication’siz share qilinishi mumkin.

Unda:

oshkor bo‘lmasligi tekshiriladi.

Snapshot ham static ma’lumotni tashqi joyga chiqarishi mumkin.

Plugin

Plugin yangi data source, panel yoki application imkoniyatini qo‘shadi.

Plugin server yoki browser kontekstida code bajarishi mumkin.

Source, signature, version va security update nazorat qilinadi.

Library panel

Bir xil panel ko‘p dashboardda ishlatilsa library panel sifatida boshqarilishi mumkin. Markaziy o‘zgarish barcha bog‘langan dashboardlarga tarqaladi.

Dashboard UID

Dashboard nomi o‘zgarishi mumkin, UID esa barqaror identifikator beradi. Link, provisioning va API aynan UIDga tayanishi mumkin.

Query caching

Gateway yoki data source query natijasini cache qilishi mumkin. Cache key time range, variable va permission contextini hisobga oladi.

Drill-down

Yuqori darajali paneldan tegishli log, trace yoki batafsil dashboardga data link beriladi. Linkda service, vaqt oralig‘i va trace ID kabi context saqlanadi.

Audit

Dashboard, data source va alert o‘zgarishlari kim tomonidan bajarilgani qayd etilishi mumkin. Bu incident paytida konfiguratsiya o‘zgarishini aniqlashga yordam beradi.

Bog‘liq tushunchalar

Dashboard, Data source, Panel, Visualization, Variable, Annotation, Alerting, Prometheus, Loki, Elasticsearch, Observability