CodeGym /Kurslar /Docker SELF /Logların Kibana-da Vizualizasiyası

Logların Kibana-da Vizualizasiyası

Docker SELF
Səviyyə , Dərs
Mövcuddur

8.1 Docker logları üçün indeks qurulması

Daha aydın olması üçün mən ELK və Filebeat ilə bir Docker image yaratdım. Və konteynerə kiçik bir proqram əlavə etdim, hansı ki bizim misalımızda test logları generasiya edəcəkdir. ELK konfiqurasiya prosesini detallı təsvir etməyəcəyəm – əvvəlki mühazirədə biz demək olar ki, hər şeyi müzakirə etmişik.

Adım 1. docker compose konfiqurasiyası və ELK tənzimləmələri ilə repozitoriyanı klonlayırıq və docker compose up komandası ilə işə salırıq. Diqqətli olaraq -d açarını əlavə etmirəm ki, ELK stack-in iş prosesini görə bilək.

Terminal

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

Hər şey düzgün qurulubsa, loglarda belə bir qeyd görəcəyik (ola bilər ki, dərhal görünməsin, çünki tam stack ilə konteynerin işə düşməsi bir neçə dəqiqə vaxt ala bilər):

Terminal

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

Adım 2. Kibana'nın web interfeysinə keçin http://localhost:5601 adresindən.

Adım 3. Docker logları üçün indeksi qurun:

Qurmaq üçün soldakı menyudan Discover bölməsini seçirik və Index pattern yaradılma səhifəsinə daxil oluruq.

Adım 4. "Create index pattern" düyməsinə klikləndikdə indeks yaratma səhifəsinə daxil oluruq. "Index pattern name" sahəsinə "logstash-*" yazırıq. Hər şey düzgün qurulubsa, Kibana qaydaya uyğun indeksləri göstərəcəkdir.

Adım 5. Növbəti səhifədə @timestamp zaman qeyd sahəsini seçirik.

Nəticədə indeksin parametrlər səhifəsi görünəcək, lakin hal-hazırda əlavə hərəkətlər tələb olunmur.

İndi yenidən Discover bölməsinə qayıdaraq log qeydlərini görə bilərik.

8.2 Logların vizuallaşdırılması üçün Dashboard-ların yaradılması

1-ci Addım. Logların vizuallaşdırılması üçün Dashboard-lar yaradın

Sol menyuda Dashboard yaratmaq bölməsinə klikləyib müvafiq səhifəyə keçirik.

2-ci Addım. «Create new dashboard» düyməsinə klikləyib Dashboard obyektləri əlavə etmək səhifəsinə keçirik.

3-cü Addım. «Create new» düyməsinə klikləyirik və sistem bizə məlumatların göstərilmə formasını seçməyi təklif edir. Kibana-da çoxlu sayda seçim var, amma biz qrafik təqdimat «Vertical Bar» və cədvəl «Data Table» yaratmağı nəzərdən keçirəcəyik. Digər növlər oxşar şəkildə tənzimlənir.

8.3 Logların histoqramı

«Vertical Bar» nümunəsi üçün servisimizin uğurlu və uğursuz cavab statuslarının nisbətini göstərən bir histoqram yaradacağıq. Tənzimləmələr tamamlandıqdan sonra belə bir qrafik əldə edəcəyik:

Uğurlulara statusu < 400 olan bütün sorğuları aid edəcəyik, problemli olanlara isə >= 400.

«Vertical Bar» qrafiki yaratmaq üçün məlumat mənbəyini seçməliyik. Əvvəlcədən yaratdığımız Index Pattern-i seçirik.

Məlumat mənbəyini seçdikdən sonra varsayılan olaraq bir davamlı qrafik görsənir. Onu tənzimləyəcəyik.

«Buckets» blokunda «Add» düyməsini sıxaraq «X-asis» seçirik və X oxunu tənzimləyirik. Logdakı qeydlərin vaxt nişanlarını onun üzrə göstərəcəyik. «Aggregation» sahəsində «Date Histogram» seçirik, «Field» sahəsində vaxt sahəsinə işarə edən «@timestamp» seçirik. «Minimum interval» vəziyyətini «Auto»da saxlayırıq, o, avtomatik olaraq uyğunlaşacaq.

«Update» düyməsini basdıqda, hər 30 dəqiqədən bir sorğuların sayını göstərən qrafik görəcəyik.

İndi Y oxunda sütunları tənzimləyək. Hal-hazırda göstərilən vaxt aralığında ümumi sorğu sayı göstərilir.

«Aggregation» dəyərini «Sum Bucket»-ə dəyişəcəyik ki, uğurlu və uğursuz sorğuların məlumatlarını birləşdirək. Bucket -> Aggregation blokunda «Filters» üzərindən məcmu seçirik və «statusCode >= 400» üzrə filtrləmə təyin edirik. Daha sonra «Custom label» sahəsində göstərici adını yazırıq ki, qrafikdəki legendada və ümumi siyahıda daha aydın görünsün.

Tənzimləmə blokunun altındakı «Update» düyməsini basaraq, problemli sorğuların qrafikini əldə edirik.

Əfsanənin yanındakı dairəyə basdığınız zaman sütunların rəngini dəyişə biləcəyiniz bir pəncərə açılır.

İndi qrafikə uğurlu sorğular haqqında məlumat əlavə edək. «Metrics» bölməsində «Add» düyməsini basırıq və «Y-axis» seçirik.

Yaradılmış metrikada uğursuz sorğular üçün etdiyimiz tənzimləmələrin eynisini edirik. Fərq yalnız «statusCode < 400» filtrləməsini göstərməkdir.

Yeni sütunun rəngini dəyişərək uğursuz və uğurlu sorğuların nisbətini nümayiş etdirən bir görünüş əldə edirik.

Ekranın yuxarı hissəsində «Save» düyməsini basaraq və ad yazaraq Dashboard-a ilk qrafiki əlavə edirik.

8.4 Loglar cədvəli

İndi isə «Data Table» adlı cədvəl görünüşünə baxaq. Gəlin, bütün URL-lərin siyahısını və bu URL-lərə olan sorğuların sayını göstərən bir cədvəl yaradaq. «Vertical Bar» nümunəsində olduğu kimi, əvvəlcə data mənbəyini seçirik.

Bundan sonra ekranda vaxt intervalına uyğun olaraq ümumi sorğu sayını göstərən yalnız bir sütunlu bir cədvəl görünəcək.

Biz yalnız «Buckets» blokunu dəyişəcəyik. «Add» düyməsinə basırıq və «Split rows» seçirik.

«Aggregation» sahəsində «Terms» seçirik. Daha sonra açılan «Field» sahəsində «url.keyword» seçirik.

«Custom label» sahəsində «Url» dəyərini göstərib «Update» düyməsinə basaraq qeyd olunan vaxt intervalında hər bir URL üzrə sorğu sayını göstərən cədvəli əldə edirik.

Ekranın yuxarı hissəsində «Save» düyməsinə basırıq və məsələn, Urls adını göstərərək cədvəli yadda saxlayırıq. Dashboard-a geri dönərək hər iki yaradılmış görünüşü görərik.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION