Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish

Salom, mening ismim Evgeniy, men Citymobil kompaniyasining B2B jamoasi rahbariman. Jamoamizning vazifalaridan biri hamkorlardan taksi buyurtma qilish uchun integratsiyani qo'llab-quvvatlash va barqaror xizmatni ta'minlash uchun biz doimo mikroservislarimizda nima sodir bo'layotganini tushunishimiz kerak. Va buning uchun siz doimiy ravishda jurnallarni kuzatib borishingiz kerak.

Citymobil-da biz jurnallar bilan ishlash uchun ELK stekidan (ElasticSearch, Logstash, Kibana) foydalanamiz va u yerda olingan ma'lumotlar hajmi juda katta. Ushbu ko'plab so'rovlarda yangi kodni o'rnatishdan keyin paydo bo'lishi mumkin bo'lgan muammolarni topish juda qiyin. Va ularni aniq aniqlash uchun Kibana boshqaruv paneli bo'limiga ega.

HabrΓ©-da ma'lumotlarni qabul qilish va saqlash uchun ELK stekini qanday o'rnatish haqida misollar bilan bir nechta maqolalar mavjud, ammo asboblar panelini yaratish bo'yicha tegishli materiallar yo'q. Shuning uchun, men Kibana-da kiruvchi jurnallar asosida ma'lumotlarning vizual tasvirini qanday yaratishni ko'rsatmoqchiman.

moslashish

Buni aniqroq qilish uchun men ELK va Filebeat bilan Docker tasvirini yaratdim. Va kichkinasini konteynerga qo'ying dasturi Go'da, bu bizning misolimiz uchun test jurnallarini yaratadi. Men ELK konfiguratsiyasini batafsil tasvirlab bermayman, bu haqda HabrΓ©-da etarlicha yozilgan.

Konfiguratsiya bilan omborni klonlash docker-compose va ELK sozlamalarini tanlang va uni buyruq bilan ishga tushiring docker-compose up. Men kalitni ataylab qo'shmayapman. -dELK stekining jarayonini ko'rish uchun.

git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up

Agar hamma narsa to'g'ri sozlangan bo'lsa, biz jurnallarda yozuvni ko'ramiz (ehtimol darhol emas, butun stek bilan konteynerni ishga tushirish jarayoni bir necha daqiqa davom etishi mumkin):

{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}

Manzil bo'yicha localhost:5061 Kibana ochilishi kerak.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Biz sozlashimiz kerak bo'lgan yagona narsa - qaysi ma'lumotlar ko'rsatilishi kerakligi haqida ma'lumotga ega Kibana uchun Indeks naqshini yaratish. Buning uchun, keling, curl so'rovini bajaramiz yoki grafik interfeysda bir qator amallarni bajaramiz.

$ curl -XPOST -D- 'http://localhost:5601/api/saved_objects/index-pattern'
    -H 'Content-Type: application/json'
    -H 'kbn-xsrf: true'
    -d '{"attributes":{"title":"logstash-*","timeFieldName":"@timestamp"}}'

GUI orqali indeks namunasini yaratish
Sozlash uchun chap menyuda Discover bo'limini tanlang va Indeks naqshini yaratish sahifasiga o'ting.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
"Indeks naqshini yaratish" tugmasini bosish orqali biz indeks yaratish sahifasiga o'tamiz. "Indeks naqsh nomi" maydoniga "logstash-*" kiriting. Agar hamma narsa to'g'ri sozlangan bo'lsa, quyida Kibana qoidaga to'g'ri keladigan indekslarni ko'rsatadi.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Keyingi sahifada vaqt tamg'asi bilan kalit maydonini tanlang, bizning holatlarimizda shunday @timestamp.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Natijada, indeks sozlamalari sahifasi paydo bo'ladi, ammo hozir bizdan qo'shimcha harakatlar talab qilinmaydi.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish

Endi biz Discover bo'limiga qaytishimiz mumkin, u erda jurnal yozuvlarini ko'ramiz.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish

Dashboard

Chapdagi menyuda asboblar panelini yaratish bo'limini bosing va tegishli sahifaga o'ting.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
"Yangi asboblar panelini yaratish" tugmasini bosing va asboblar paneliga ob'ektlar qo'shish sahifasiga o'ting.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
"Yangisini yaratish" tugmasini bosing va tizim sizga ma'lumotlarni ko'rsatish turini tanlashni taklif qiladi. Kibanada ularning soni juda ko'p, ammo biz "Vertikal chiziq" grafik tasvirini va jadvalli "Ma'lumotlar jadvali" ni yaratishni ko'rib chiqamiz. Boshqa taqdimot turlari ham xuddi shunday tarzda tuzilgan. 
Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
BaΚΌzi mavjud elementlar formatning eksperimental yoki beta-versiyasi ekanligini koΚ»rsatuvchi B va E deb etiketlanadi. Vaqt o'tishi bilan format o'zgarishi yoki Kibana'dan butunlay yo'qolishi mumkin.

Vertikal bar

"Vertikal chiziq" misoli uchun keling, xizmatimizning muvaffaqiyatli va muvaffaqiyatsiz javob holatlari nisbati gistogrammasini yarataylik. Sozlamalarni tugatgandan so'ng biz quyidagi grafikni olamiz:

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Javob holati < 400 bo'lgan barcha so'rovlarni muvaffaqiyatli deb tasniflaymiz va muammoli - >= 400.

"Vertikal chiziq" diagrammasini yaratish uchun biz ma'lumotlar manbasini tanlashimiz kerak. Ilgari biz yaratgan indeks namunasini tanlang.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Odatiy bo'lib, ma'lumotlar manbasini tanlaganingizdan so'ng, bitta doimiy grafik paydo bo'ladi. Keling, uni sozlaymiz.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
"Paqirlar" blokida "Qo'shish" tugmasini bosing, "X-asis" ni tanlang va X o'qini sozlang.Keling, jurnalga kiradigan yozuvlarning vaqt belgilarini uning bo'ylab chizamiz. "Aggregatsiya" maydonida "Sana histogrammasi" ni va "Maydon" da vaqtinchalik maydonni ko'rsatuvchi "@vaqt tamg'asi" ni tanlang. Keling, "Minimal interval" ni "Avtomatik" holatida qoldiramiz va u avtomatik ravishda displeyimizga moslashadi. 

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
"Yangilash" tugmasini bosish orqali biz har 30 soniyada so'rovlar soni ko'rsatilgan grafikni ko'ramiz.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Endi Y o'qi bo'yicha ustunlarni o'rnatamiz.Endi biz tanlangan vaqt oralig'ida so'rovlarning umumiy sonini ko'rsatamiz.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Muvaffaqiyatli va muvaffaqiyatsiz so'rovlar ma'lumotlarini birlashtirishga imkon beradigan "Aggregatsiya" qiymatini "Sum paqir" ga o'zgartiraylik. Paqir -> Aggregatsiya blokida "Filtrlar" bo'yicha yig'ilishni tanlang va "statusCode >= 400" bo'yicha filtrlashni o'rnating. Va "Maxsus yorliq" maydonida biz diagrammadagi va umumiy ro'yxatdagi afsonada aniqroq ko'rinish uchun indikator nomini ko'rsatamiz.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Sozlamalar bloki ostidagi "Yangilash" tugmasini bosish orqali biz muammoli so'rovlar bilan grafikni olamiz.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Agar siz afsona yonidagi doira ustiga bossangiz, ustunlar rangini o'zgartirishingiz mumkin bo'lgan oyna paydo bo'ladi.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Endi diagrammaga muvaffaqiyatli so'rovlar haqidagi ma'lumotlarni qo'shamiz. "Metrics" bo'limida "Qo'shish" tugmasini bosing va "Y-o'qi" ni tanlang.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Yaratilgan metrikada biz noto'g'ri so'rovlar bilan bir xil sozlamalarni qilamiz. Faqat filtrda biz "statusCode < 400" ni ko'rsatamiz.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Yangi ustunning rangini o'zgartirib, biz muammoli va muvaffaqiyatli so'rovlar nisbati ko'rinishini olamiz.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Ekranning yuqori qismidagi "Saqlash" tugmasini bosish va nomni belgilash orqali biz asboblar panelidagi birinchi grafikni ko'ramiz.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish

Ma'lumotlar jadvali

Endi "Ma'lumotlar jadvali" jadvalining ko'rinishini ko'rib chiqamiz. Keling, so'rovlar bo'lgan barcha URL manzillar ro'yxati va ushbu so'rovlar soni bilan jadval yarataylik. Vertikal chiziq misolida bo'lgani kabi, biz avval ma'lumotlar manbasini tanlaymiz.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Shundan so'ng, ekranda tanlangan vaqt oralig'i uchun so'rovlarning umumiy sonini ko'rsatadigan bitta ustunli jadval ko'rsatiladi.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Biz faqat "Paqirlar" blokini o'zgartiramiz. "Qo'shish" tugmasini bosing va "Qatorlarni ajratish" -ni tanlang.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
"Aggregatsiya" maydonida "Shartlar" ni tanlang. Va paydo bo'lgan "Maydon" maydonida "url.keyword" ni tanlang.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
"Maxsus yorliq" maydonida "Url" qiymatini belgilab, "Yangilash" tugmasini bosish orqali biz tanlangan vaqt oralig'ida har bir URL uchun so'rovlar soni bilan kerakli jadvalni olamiz.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Ekranning yuqori qismidagi "Saqlash" tugmasini yana bir marta bosing va jadval nomini belgilang, masalan, Urls. Keling, asboblar paneliga qaytaylik va yaratilgan ikkala ko'rinishni ko'ramiz.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish

Boshqaruv paneli bilan ishlash

Boshqaruv panelini yaratishda biz displey ob'ekti sozlamalarida faqat asosiy ko'rinish parametrlarini o'rnatamiz. Ob'ektlardagi filtrlar uchun ma'lumotlarni ko'rsatishning ma'nosi yo'q, masalan, "sana oralig'i", "foydalanuvchi agenti bo'yicha filtrlash", "so'rov mamlakati bo'yicha filtrlash" va boshqalar. Ob'ektlar ustida joylashgan so'rovlar panelida kerakli vaqt oralig'ini belgilash yoki kerakli filtrlashni o'rnatish ancha qulayroq.

Jurnallarni kuzatish uchun Kibanada boshqaruv paneli yaratish
Ushbu panelga qo'shilgan filtrlar butun boshqaruv paneliga qo'llaniladi va barcha displey ob'ektlari joriy filtrlangan ma'lumotlarga muvofiq qayta tartibga solinadi.

xulosa

Kibana - bu har qanday ma'lumotni qulay tarzda tasavvur qilish imkonini beruvchi kuchli vositadir. Men ikkita asosiy displey turini sozlashni ko'rsatishga harakat qildim. Ammo boshqa turlar ham xuddi shunday tarzda tuzilgan. Va men sahna ortida qoldirgan sozlamalarning ko'pligi sizning ehtiyojlaringizga mos ravishda jadvallarni juda moslashuvchan tarzda sozlash imkonini beradi.

Manba: www.habr.com

a Izoh qo'shish