Mencipta Papan Pemuka dalam Kibana untuk Memantau Log

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log

Hello, nama saya Eugene, saya ketua pasukan B2B di Citymobil. Salah satu tugas pasukan kami adalah untuk menyokong penyepaduan untuk memesan teksi daripada rakan kongsi, dan untuk memastikan perkhidmatan yang stabil, kami mesti sentiasa memahami perkara yang berlaku dalam perkhidmatan mikro kami. Dan untuk ini anda perlu sentiasa memantau log.

Di Citymobil, kami menggunakan tindanan ELK (ElasticSearch, Logstash, Kibana) untuk bekerja dengan log, dan jumlah data yang datang ke sana adalah besar. Mencari masalah dalam banyak permintaan ini yang mungkin muncul selepas penggunaan kod baharu agak sukar. Dan untuk pengenalan visual mereka, Kibana mempunyai bahagian Papan Pemuka.

Terdapat beberapa artikel tentang HabrΓ© dengan contoh cara menyediakan tindanan ELK untuk menerima dan menyimpan data, tetapi tiada bahan yang berkaitan untuk mencipta Papan Pemuka. Oleh itu, saya ingin menunjukkan cara membuat perwakilan visual data berdasarkan log masuk dalam Kibana.

pelarasan

Untuk menjadikannya lebih jelas, saya mencipta imej Docker dengan ELK dan Filebeat. Dan diletakkan dalam bekas yang kecil program ini dalam Go, yang sebagai contoh kami akan menjana log ujian. Saya tidak akan menerangkan secara terperinci konfigurasi ELK, terdapat cukup tulisan mengenainya di HabrΓ©.

Klon repositori konfigurasi docker-compose dan tetapan ELK, dan lancarkannya dengan arahan docker-compose up. Sengaja tidak menambah kunci -duntuk melihat perkembangan timbunan ELK.

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

Jika semuanya dikonfigurasikan dengan betul, maka kita akan melihat entri dalam log (mungkin tidak serta-merta, proses melancarkan bekas dengan keseluruhan timbunan mungkin mengambil masa beberapa minit):

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

Kepada alamat: localhost:5061 Kibana harus dibuka.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Satu-satunya perkara yang perlu kita konfigurasikan ialah mencipta Corak Indeks untuk Kibana dengan maklumat tentang data yang hendak dipaparkan. Untuk melakukan ini, kami akan melaksanakan permintaan curl atau melakukan satu siri tindakan dalam antara muka grafik.

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

Mencipta Corak Indeks melalui GUI
Untuk mengkonfigurasi, pilih bahagian Temui dalam menu kiri dan pergi ke halaman penciptaan corak Indeks.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Dengan mengklik pada butang "Buat corak indeks", kita sampai ke halaman penciptaan indeks. Dalam medan "Nama corak indeks", masukkan "logstash-*". Jika semuanya dikonfigurasikan dengan betul, di bawah Kibana akan menunjukkan indeks yang berada di bawah peraturan.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Pada halaman seterusnya, pilih medan kunci dengan cap masa, dalam kes kami, ia adalah @timestamp.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Ini akan memaparkan halaman tetapan indeks, tetapi tiada tindakan lanjut diperlukan daripada kami pada masa ini.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log

Sekarang kita boleh pergi ke bahagian Discover sekali lagi, di mana kita akan melihat entri log.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log

Papan Pemuka

Dalam menu sebelah kiri, klik pada bahagian penciptaan Papan Pemuka dan pergi ke halaman yang sepadan.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Klik pada "Buat papan pemuka baharu" dan pergi ke halaman untuk menambah objek pada Papan Pemuka.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Klik pada butang "Buat baharu", dan sistem akan meminta anda memilih jenis paparan data. Kibana mempunyai sebilangan besar daripada mereka, tetapi kita akan melihat untuk mencipta perwakilan grafik "Bar Menegak" dan "Jadual Data" jadual. Jenis pembentangan lain dikonfigurasikan dengan cara yang sama. 
Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Beberapa objek yang tersedia dilabelkan B dan E, yang bermaksud bahawa format adalah percubaan atau dalam ujian beta. Lama kelamaan, format mungkin berubah atau hilang sepenuhnya daripada Kibana.

Bar Menegak

Untuk contoh "Bar Menegak", mari buat histogram nisbah status respons yang berjaya dan tidak berjaya bagi perkhidmatan kami. Pada akhir tetapan, kami mendapat graf berikut:

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Kami akan mengklasifikasikan semua permintaan dengan status respons < 400 sebagai berjaya, dan >= 400 sebagai bermasalah.

Untuk membuat carta "Bar Menegak", kita perlu memilih sumber data. Pilih Corak Indeks yang kami buat sebelum ini.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Secara lalai, graf pepejal tunggal akan muncul selepas memilih sumber data. Mari kita sediakan.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Dalam blok "Timba", tekan butang "Tambah", pilih "X-asis" dan sediakan paksi X. Mari kita ketepikan cap masa untuk penerimaan entri dalam log. Dalam medan "Pengagregatan", pilih "Histogram Tarikh", dan dalam "Medan" pilih "@timestamp", menunjukkan medan masa. Mari tinggalkan "Selang minimum" dalam keadaan "Auto", dan ia akan melaraskan secara automatik kepada paparan kami. 

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Dengan mengklik pada butang "Kemas Kini", kita akan melihat graf dengan bilangan permintaan setiap 30 saat.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Sekarang mari kita sediakan lajur di sepanjang paksi Y. Sekarang kita memaparkan jumlah bilangan permintaan dalam selang masa yang dipilih.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Mari tukar nilai "Penggabungan" kepada "Sum Baldi", yang akan membolehkan kami menggabungkan data untuk permintaan yang berjaya dan tidak berjaya. Dalam blok Baldi -> Pengagregatan, pilih pengagregatan mengikut "Penapis" dan tetapkan penapisan mengikut "Kod status >= 400". Dan dalam medan "Label tersuai", kami menunjukkan nama penunjuk kami untuk paparan yang lebih mudah difahami dalam legenda pada carta dan dalam senarai umum.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Dengan mengklik butang "Kemas kini" di bawah blok tetapan, kami akan mendapat graf dengan permintaan masalah.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Jika anda mengklik pada bulatan di sebelah legenda, tetingkap akan muncul di mana anda boleh menukar warna lajur.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Sekarang mari tambah data pada permintaan yang berjaya pada carta. Dalam bahagian "Metrik", klik butang "Tambah" dan pilih "paksi Y".

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Dalam metrik yang dibuat, kami membuat tetapan yang sama seperti permintaan yang salah. Hanya dalam penapis kami tentukan "statusCode < 400".

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Dengan menukar warna lajur baharu, kami mendapat paparan nisbah permintaan yang bermasalah dan berjaya.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Dengan mengklik butang "Simpan" di bahagian atas skrin dan menyatakan nama, kami akan melihat carta pertama pada Papan Pemuka.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log

Jadual Data

Sekarang pertimbangkan paparan jadual "Jadual Data". Mari buat jadual dengan senarai semua URL yang diminta dan bilangan permintaan tersebut. Seperti contoh Bar Menegak, kami mula-mula memilih sumber data.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Selepas itu, jadual dengan satu lajur akan dipaparkan pada skrin, yang menunjukkan jumlah bilangan permintaan untuk selang masa yang dipilih.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Kami hanya akan menukar blok "Timba". Klik butang "Tambah" dan pilih "Pisah baris".

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Dalam medan "Penggabungan", pilih "Syarat". Dan dalam medan "Field" yang muncul pilih "url.keyword".

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Dengan menyatakan nilai "Url" dalam medan "Label tersuai" dan mengklik "Kemas kini", kami akan mendapat jadual yang dikehendaki dengan bilangan permintaan untuk setiap URL untuk tempoh masa yang dipilih.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Di bahagian atas skrin, klik butang "Simpan" sekali lagi dan nyatakan nama jadual, contohnya Url. Mari kembali ke Papan Pemuka dan lihat kedua-dua paparan dibuat.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log

Bekerja dengan Papan Pemuka

Apabila mencipta Papan Pemuka, kami menetapkan hanya parameter paparan utama dalam tetapan objek paparan. Tidak masuk akal untuk menentukan data untuk penapis dalam objek, contohnya, "julat tarikh", "penapisan oleh agen pengguna", "penapisan mengikut negara permintaan", dsb. Adalah lebih mudah untuk menentukan tempoh masa yang dikehendaki atau menetapkan penapisan yang diperlukan dalam panel pertanyaan, yang terletak di atas objek.

Mencipta Papan Pemuka dalam Kibana untuk Memantau Log
Penapis yang ditambahkan pada panel ini akan digunakan pada keseluruhan Papan Pemuka dan semua objek paparan akan dibina semula mengikut data yang ditapis sebenar.

Kesimpulan

Kibana ialah alat berkuasa yang membolehkan anda memvisualisasikan sebarang data dengan cara yang mudah. Saya cuba menunjukkan tetapan dua jenis paparan utama. Tetapi jenis lain dikonfigurasikan dengan cara yang sama. Dan banyak tetapan yang saya tinggalkan "di belakang tabir" akan membolehkan anda menyesuaikan carta dengan sangat fleksibel untuk memenuhi keperluan anda.

Sumber: www.habr.com

Tambah komen