Nggawe Dashboard ing Kibana kanggo Ngawasi Log

Nggawe Dashboard ing Kibana kanggo Ngawasi Log

Halo, jenengku Eugene, aku pimpinan tim B2B ing Citymobil. Salah sawijining tugas tim kita yaiku ndhukung integrasi kanggo pesen taksi saka mitra, lan kanggo njamin layanan sing stabil, kita kudu ngerti apa sing kedadeyan ing layanan mikro. Lan kanggo iki, sampeyan kudu terus ngawasi log.

Ing Citymobil, kita nggunakake tumpukan ELK (ElasticSearch, Logstash, Kibana) kanggo nggarap log, lan jumlah data sing teka ana akeh banget. Nemokake masalah ing panjalukan sing bisa katon sawise panyebaran kode anyar cukup angel. Lan kanggo identifikasi visual, Kibana duwe bagean Dashboard.

Ana sawetara artikel babagan HabrΓ© kanthi conto carane nyiyapake tumpukan ELK kanggo nampa lan nyimpen data, nanging ora ana bahan sing cocog kanggo nggawe Dashboard. Mulane, aku pengin nuduhake carane nggawe perwakilan visual data adhedhasar log mlebu ing Kibana.

imbuhan

Kanggo nggawe luwih cetha, aku nggawe gambar Docker karo ELK lan Filebeat. Lan diselehake ing wadhah cilik program ing Go, kang contone kita bakal generate log test. Aku ora bakal njlèntrèhaké kanthi rinci konfigurasi ELK, cukup ditulis babagan Habré.

Kloning repositori konfigurasi docker-compose lan setelan ELK, lan miwiti karo printah docker-compose up. Sengaja ora nambahi kunci -dkanggo ndeleng kemajuan tumpukan ELK.

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

Yen kabeh wis dikonfigurasi kanthi bener, mula kita bakal weruh entri ing log (mbok menawa ora langsung, proses mbukak wadhah kanthi tumpukan kabeh bisa njupuk sawetara menit):

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

Miturut alamat localhost:5061 Kibana kudu mbukak.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Siji-sijine sing kudu dikonfigurasi yaiku nggawe Pola Indeks kanggo Kibana kanthi informasi babagan data sing bakal ditampilake. Kanggo nindakake iki, kita bakal nindakake panjalukan curl utawa nindakake sawetara tumindak ing antarmuka grafis.

$ 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"}}'

Nggawe Pola Indeks liwat GUI
Kanggo ngatur, pilih bagean Temokake ing menu kiwa, lan menyang kaca nggawe pola indeks.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Kanthi ngeklik tombol "Gawe pola indeks", kita tekan kaca nggawe indeks. Ing kolom "Jeneng pola indeks", ketik "logstash-*". Yen kabeh wis dikonfigurasi kanthi bener, ing ngisor Kibana bakal nuduhake indeks sing ana ing aturan kasebut.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Ing kaca sabanjure, pilih kolom kunci kanthi cap wektu, ing kasus kita @timestamp.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Iki bakal mbukak kaca setelan indeks, nanging ora ana tindakan maneh sing dibutuhake saka kita saiki.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log

Saiki kita bisa pindhah menyang bagean Temokake maneh, ing ngendi kita bakal weruh entri log.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log

Dashboard

Ing menu kiwa, klik ing bagean nggawe Dashboard lan menyang kaca sing cocog.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Klik ing "Gawe dashboard anyar" lan tekan kaca kanggo nambah obyek menyang Dashboard.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Klik ing tombol "Gawe anyar", lan sistem bakal njaluk sampeyan milih jinis tampilan data. Kibana wis nomer akeh, nanging kita bakal katon ing nggawe perwakilan grafis saka "Vertikal Bar" lan tabular "Data Tabel". Jinis presentasi liyane dikonfigurasi kanthi cara sing padha. 
Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Sawetara obyek sing kasedhiya diwenehi label B lan E, sing tegese format kasebut eksperimen utawa ing tes beta. Suwe-suwe, format kasebut bisa diganti utawa ilang saka Kibana.

Bar vertikal

Kanggo conto "Bar Vertikal", ayo nggawe histogram rasio status respon sing sukses lan ora kasil saka layanan kita. Ing pungkasan setelan, kita entuk grafik ing ngisor iki:

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Kita bakal nggolongake kabeh panjalukan kanthi status respon <400 minangka sukses, lan>= 400 minangka masalah.

Kanggo nggawe grafik "Bar Vertikal", kita kudu milih sumber data. Pilih Pola Indeks sing digawe sadurunge.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Kanthi gawan, grafik solid siji bakal katon sawise milih sumber data. Ayo diatur.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Ing pamblokiran "Ember", pencet tombol "Tambah", pilih "X-asis" lan nyiyapake sumbu X. Ayo disisihake stempel wektu kanggo panrimo entri ing log. Ing kolom "Aggregation", pilih "Histogram Tanggal", lan ing "Field" pilih "@timestamp", nuduhake lapangan wektu. Ayo ninggalake "interval minimal" ing negara "Otomatis", lan bakal kanthi otomatis nyetel tampilan kita. 

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Kanthi ngeklik tombol "Update", kita bakal weruh grafik kanthi jumlah panjaluk saben 30 detik.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Saiki ayo nyiyapake kolom ing sadawane sumbu Y. Saiki kita nampilake jumlah total panjalukan ing interval wektu sing dipilih.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Ayo ngganti nilai "Agregasi" dadi "Sum Bucket", sing bakal ngidini kita nggabungake data kanggo panjaluk sing sukses lan ora kasil. Ing Bucket -> Agregasi blok, pilih panggabungan dening "Filters" lan nyetel nyaring dening "statusCode>= 400". Lan ing kolom "Label khusus", kita nuduhake jeneng indikator kanggo tampilan sing luwih dingerteni ing legenda ing grafik lan ing dhaptar umum.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Kanthi ngeklik tombol "Update" ing blok setelan, kita bakal entuk grafik kanthi panjaluk masalah.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Yen sampeyan ngeklik bunder ing jejere legenda, jendhela bakal katon ing ngendi sampeyan bisa ngganti warna kolom.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Saiki ayo nambah data babagan panjalukan sing sukses menyang grafik. Ing bagean "Metrik", klik tombol "Tambah" banjur pilih "Y-axis".

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Ing metrik sing digawe, kita nggawe setelan sing padha karo panjaluk sing salah. Mung ing saringan kita nemtokake "statusCode <400".

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Kanthi ngganti warna kolom anyar, kita entuk tampilan rasio panjaluk sing bermasalah lan sukses.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Kanthi ngeklik tombol "Simpen" ing sisih ndhuwur layar lan nemtokake jeneng, kita bakal weruh grafik pisanan ing Dashboard.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log

Tabel Data

Saiki nimbang tampilan tabular "Tabel Data". Ayo nggawe tabel kanthi dhaptar kabeh URL sing dijaluk lan jumlah panjaluk kasebut. Minangka conto Bar Vertikal, kita pisanan milih sumber data.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Sawise iku, tabel kanthi siji kolom bakal ditampilake ing layar, sing nuduhake jumlah total panjalukan kanggo interval wektu sing dipilih.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Kita mung bakal ngganti blok "Ember". Klik tombol "Tambah" banjur pilih "Split rows".

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Ing lapangan "Agregasi", pilih "Ketentuan". Lan ing kolom sing katon "Field" pilih "url.keyword".

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Kanthi nemtokake nilai "Url" ing kolom "Label khusus" lan ngeklik "Update", kita bakal entuk tabel sing dikarepake kanthi jumlah panjalukan kanggo saben URL kanggo periode wektu sing dipilih.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Ing sisih ndhuwur layar, klik tombol "Simpen" maneh lan nemtokake jeneng tabel, contone Urls. Ayo bali menyang Dashboard lan ndeleng loro tampilan digawe.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log

Nggarap Dashboard

Nalika nggawe Dashboard, kita mung nyetel paramèter tampilan utama ing setelan obyek tampilan. Ora ana gunane kanggo nemtokake data kanggo saringan ing obyek, contone, "rentang tanggal", "nyaring dening agen pangguna", "nyaring miturut negara panyuwunan", lsp. Luwih trep kanggo nemtokake wektu sing dikarepake utawa nyetel panyaring sing dibutuhake ing panel pitakon, sing ana ing ndhuwur obyek.

Nggawe Dashboard ing Kibana kanggo Ngawasi Log
Filter-filter sing ditambahake ing panel iki bakal ditrapake ing kabeh Dashboard, lan kabeh obyek tampilan bakal dibangun maneh miturut data sing disaring.

kesimpulan

Kibana minangka alat sing kuat sing ngidini sampeyan nggambarake data apa wae kanthi cara sing trep. Aku nyoba kanggo nuduhake setelan saka rong jinis utama tampilan. Nanging jinis liyane dikonfigurasi kanthi cara sing padha. Lan turah mbrawah saka setelan sing aku ninggalake "konco pemandangan" bakal ngidini sampeyan kanggo flexibly ngatur grafik sing cocog karo kabutuhan.

Source: www.habr.com

Add a comment