Halo, nami abdi Eugene, abdi pamimpin tim B2B di Citymobil. Salah sahiji tugas tim kami nyaéta ngadukung integrasi pikeun mesen taksi ti mitra, sareng pikeun mastikeun jasa anu stabil, urang kedah ngartos naon anu lumangsung dina layanan mikro kami. Sareng pikeun ieu anjeun kedah terus-terusan ngawas log.
Dina Citymobil, kami nganggo tumpukan ELK (ElasticSearch, Logstash, Kibana) pikeun damel sareng log, sareng jumlah data anu sumping di dinya ageung. Pananjung masalah dina massa ieu requests nu bisa muncul sanggeus deployment kode anyar rada hese. Sareng pikeun idéntifikasi visualna, Kibana gaduh bagian Dashboard.
Aya sababaraha tulisan ngeunaan Habré sareng conto kumaha nyetél tumpukan ELK pikeun nampi sareng nyimpen data, tapi henteu aya bahan anu relevan pikeun nyiptakeun Dashboard. Ku alatan éta, abdi hoyong nunjukkeun kumaha carana nyieun ngagambarkeun visual data dumasar kana log asup di Kibana.
carana ngatur
Pikeun langkung jelas, kuring nyiptakeun gambar Docker sareng ELK sareng Filebeat. Jeung disimpen dina wadah leutik
Kloning gudang config docker-compose
sareng setelan ELK, sareng jalankeunana nganggo paréntah docker-compose up
. Ngahaja teu nambahan konci -d
pikeun ningali kamajuan tumpukan ELK.
git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up
Upami sadayana dikonpigurasi leres, maka urang bakal ningali éntri dina log (panginten henteu langsung, prosés ngamimitian wadahna sareng sadayana tumpukan tiasa nyandak sababaraha menit):
{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}
Ku alamatna localhost:5061
Kibana kudu muka.
Hiji-hijina hal anu urang kedah ngonpigurasikeun nyaéta nyiptakeun Pola Indéks pikeun Kibana kalayan inpormasi ngeunaan data anu bakal ditampilkeun. Jang ngalampahkeun ieu, urang bakal ngaéksekusi pamundut curl atawa ngalakukeun runtuyan lampah dina panganteur 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"}}'
Nyiptakeun Pola Indéks via GUI
Pikeun ngonpigurasikeun, pilih bagian Discover dina ménu kénca, sareng angkat ka halaman nyiptakeun pola indéks.
Ku ngaklik tombol "Jieun pola indéks", urang nuju ka halaman nyiptakeun indéks. Dina widang "Ngaran pola indéks", lebetkeun "logstash-*". Upami sadayana dikonpigurasi leres, di handap Kibana bakal nunjukkeun indéks anu aya dina aturan.
Dina kaca hareup, pilih widang konci kalawan timestamp a, bisi urang éta @timestamp
.
Ieu bakal muka halaman setélan indéks, tapi teu aya tindakan salajengna anu diperyogikeun ti kami ayeuna.
Ayeuna urang tiasa angkat ka bagian Discover deui, dimana urang bakal ningali éntri log.
dasbor
Dina ménu kénca, klik dina bagian nyiptakeun Dashboard sareng angkat ka halaman anu saluyu.
Pencét "Jieun dasbor énggal" sareng angkat ka halaman pikeun nambihan objék kana Dashboard.
Pencét kana tombol "Jieun énggal", sareng sistem bakal nyarankeun anjeun milih jinis tampilan data. Kibana boga angka nu gede ngarupakeun aranjeunna, tapi urang bakal kasampak di nyieun ngagambarkeun grafis tina "Vertical Bar" sarta tabular "Data Table". Jenis presentasi anu sanés dikonpigurasi ku cara anu sami.
Sababaraha objék anu aya dilabélan B sareng E, anu hartosna formatna ékspérimén atanapi dina uji béta. Lila-lila, formatna tiasa robih atanapi ngaleungit lengkep ti Kibana.
Bar nangtung
Pikeun conto "Vertical Bar", hayu urang jieun histogram rasio status réspon anu suksés sareng henteu suksés tina jasa kami. Dina ahir setélan, urang nampi grafik ieu:
Urang bakal mengklasifikasikan sadaya pamundut kalayan status réspon <400 salaku suksés, sareng> = 400 salaku masalah.
Pikeun nyieun bagan "Vertical Bar", urang kedah milih sumber data. Pilih Pola Indéks anu urang jieun tadi.
Sacara standar, grafik solid tunggal bakal muncul saatos milih sumber data. Hayu urang nyetél éta.
Dina blok "Ember", pencét "Tambahkeun" tombol, pilih "X-asis" tur nyetel sumbu X. Hayu urang sisihkan timestamps tina éntri dina log sapanjang eta. Dina widang "Aggregation", pilih "Histogram Tanggal", sarta dina "Lapang" pilih "@timestamp", nunjukkeun widang waktu. Hayu urang tinggalkeun "interval minimum" dina kaayaan "Otomatis", sareng éta bakal otomatis nyaluyukeun kana tampilan urang.
Ku ngaklik tombol "Update", urang bakal ningali grafik kalayan jumlah pamundut unggal 30 detik.
Ayeuna hayu urang nyetél kolom sapanjang sumbu Y. Ayeuna urang mintonkeun total jumlah requests dina interval waktu nu dipilih.
Hayu urang ngarobah nilai "Aggregation" jadi "Sum Ember", nu bakal ngidinan urang pikeun ngagabungkeun data pikeun requests suksés tur gagal. Dina blok Ember -> Aggregation, pilih aggregation ku "Filters" tur nyetel nyaring ku "statusCode>= 400". Sareng dina widang "Label khusus", kami nunjukkeun nami indikator pikeun tampilan anu langkung kaharti dina legenda dina bagan sareng dina daptar umum.
Ku ngaklik tombol "Update" dina blok setélan, urang bakal nampi grafik kalayan pamundut masalah.
Upami anjeun ngaklik bunderan gigireun legenda, jandela bakal muncul dimana anjeun tiasa ngarobih warna kolom.
Ayeuna hayu urang tambahkeun data dina pamundut suksés ka bagan. Dina bagian "Metrics", klik tombol "Tambahkeun" tur pilih "Y-axis".
Dina métrik anu diciptakeun, urang ngadamel setélan anu sami sareng pamundut anu salah. Ngan dina saringan urang tangtukeun "statusCode <400".
Ku cara ngarobah warna kolom anyar, urang meunang tampilan rasio requests masalah jeung suksés.
Ku ngaklik tombol "Simpen" di luhureun layar tur nangtukeun nami, urang bakal ningali bagan munggaran dina Dashboard nu.
Méja Data
Ayeuna mertimbangkeun tempoan tabular "Data Table". Hayu urang ngadamel méja kalayan daptar sadaya URL anu dipénta sareng jumlah pamundut éta. Sapertos conto Vertical Bar, urang mimiti milih sumber data.
Saatos éta, méja kalayan hiji kolom bakal ditingalikeun dina layar, anu nunjukkeun jumlah total pamundut pikeun interval waktos anu dipilih.
Urang ngan bakal ngarobah blok "Ember". Klik tombol "Tambahkeun" tur pilih "Split baris".
Dina widang "Aggregation", pilih "Syarat". Sarta dina widang mucunghul "Lapang" pilih "url.keyword".
Ku netepkeun nilai "Url" dina widang "Label khusus" sareng ngaklik "Update", urang bakal nampi tabel anu dipikahoyong kalayan jumlah pamundut pikeun tiap URL pikeun waktos anu dipilih.
Di luhureun layar, klik tombol "Simpen" deui jeung nangtukeun nami tabel, contona Urls. Hayu urang balik deui ka Dashboard tur tingal duanana pintonan dijieun.
Gawe sareng Dashboard
Nalika nyiptakeun Dashboard, urang ngan ukur nyetél parameter tampilan utama dina setélan obyék tampilan. Teu aya akal pikeun netepkeun data pikeun saringan dina objék, contona, "rentang tanggal", "nyaring ku agén pangguna", "nyaring ku nagara pamundut", jsb. Leuwih merenah pikeun nangtukeun periode waktu nu dipikahoyong atawa nyetel nyaring diperlukeun dina panel query, nu lokasina di luhur objék.
Saringan nu ditambahkeun kana panel ieu bakal dilarapkeun ka sakabéh Dashboard, sarta sakabeh objék tampilan bakal diwangun deui luyu jeung data disaring sabenerna.
kacindekan
Kibana mangrupikeun alat anu kuat anu ngamungkinkeun anjeun ngabayangkeun data naon waé dina cara anu gampang. Kuring diusahakeun nembongkeun setelan tina dua jenis utama tampilan. Tapi tipe séjén ngonpigurasi dina cara nu sarupa. Sareng seueur setélan anu kuring tinggalkeun "balik layar" bakal ngamungkinkeun anjeun sacara fleksibel ngaropea grafik pikeun nyocogkeun ka kabutuhan anjeun.
sumber: www.habr.com