Membuat Dasbor di Kibana untuk Memantau Log

Membuat Dasbor di Kibana untuk Memantau Log

Halo, nama saya Eugene, saya pemimpin tim B2B di Citymobil. Salah satu tugas tim kami adalah mendukung integrasi pemesanan taksi dari mitra, dan untuk memastikan layanan yang stabil, kami harus selalu memahami apa yang terjadi di layanan mikro kami. Dan untuk ini, Anda perlu terus memantau log.

Di Citymobil, kami menggunakan tumpukan ELK (ElasticSearch, Logstash, Kibana) untuk bekerja dengan log, dan jumlah data yang masuk ke sana sangat besar. Menemukan masalah dalam permintaan massal yang mungkin muncul setelah penerapan kode baru cukup sulit. Dan untuk identifikasi visualnya, Kibana memiliki bagian Dashboard.

Ada cukup banyak artikel di HabrΓ© dengan contoh cara mengatur tumpukan ELK untuk menerima dan menyimpan data, namun tidak ada materi yang relevan tentang cara membuat Dasbor. Oleh karena itu, saya ingin menunjukkan cara membuat representasi visual data berdasarkan log masuk di Kibana.

pengaturan

Agar lebih jelas, saya membuat image Docker dengan ELK dan Filebeat. Dan ditempatkan dalam wadah yang kecil programnya di Go, yang misalnya akan menghasilkan log pengujian. Saya tidak akan menjelaskan secara detail konfigurasi ELK, sudah cukup banyak yang menulis tentangnya di HabrΓ©.

Kloning repositori konfigurasi docker-compose dan pengaturan ELK, dan luncurkan dengan perintah docker-compose up. Sengaja tidak menambahkan kunci -duntuk melihat kemajuan tumpukan ELK.

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

Jika semuanya dikonfigurasi dengan benar, maka kita akan melihat entri di log (mungkin tidak langsung, proses meluncurkan container dengan seluruh tumpukan mungkin memerlukan waktu beberapa menit):

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

Ke alamat: localhost:5061 Kibana harusnya terbuka.

Membuat Dasbor di Kibana untuk Memantau Log
Membuat Dasbor di Kibana untuk Memantau Log
Satu-satunya hal yang perlu kita konfigurasikan adalah membuat Pola Indeks untuk Kibana dengan informasi tentang data apa yang akan ditampilkan. Untuk melakukan ini, kami akan menjalankan permintaan curl atau melakukan serangkaian tindakan di 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"}}'

Membuat Pola Indeks melalui GUI
Untuk mengonfigurasi, pilih bagian Temukan di menu sebelah kiri, dan masuk ke halaman pembuatan pola indeks.

Membuat Dasbor di Kibana untuk Memantau Log
Dengan mengklik tombol "Buat pola indeks", kita masuk ke halaman pembuatan indeks. Di bidang "Nama pola indeks", masukkan "logstash-*". Jika semuanya dikonfigurasi dengan benar, di bawah Kibana akan menampilkan indeks yang termasuk dalam aturan.

Membuat Dasbor di Kibana untuk Memantau Log
Di halaman berikutnya, pilih bidang kunci dengan stempel waktu, dalam kasus kami ini adalah @timestamp.

Membuat Dasbor di Kibana untuk Memantau Log
Ini akan memunculkan halaman pengaturan indeks, tetapi kami tidak perlu melakukan tindakan lebih lanjut saat ini.

Membuat Dasbor di Kibana untuk Memantau Log

Sekarang kita bisa pergi ke bagian Temukan lagi, di mana kita akan melihat entri log.

Membuat Dasbor di Kibana untuk Memantau Log

Menu Utama

Di menu sebelah kiri, klik bagian pembuatan Dasbor dan masuk ke halaman terkait.

Membuat Dasbor di Kibana untuk Memantau Log
Klik "Buat dasbor baru" dan masuk ke halaman untuk menambahkan objek ke Dasbor.

Membuat Dasbor di Kibana untuk Memantau Log
Klik tombol "Buat baru", dan sistem akan meminta Anda untuk memilih jenis tampilan data. Kibana memiliki banyak sekali, tetapi kita akan melihat cara membuat representasi grafis dari "Bilah Vertikal" dan tabel "Tabel Data". Jenis presentasi lainnya dikonfigurasi dengan cara yang sama. 
Membuat Dasbor di Kibana untuk Memantau Log
Beberapa objek yang tersedia diberi label B dan E, yang berarti formatnya bersifat eksperimental atau dalam pengujian beta. Seiring waktu, formatnya mungkin berubah atau hilang sama sekali dari Kibana.

Bilah Vertikal

Untuk contoh β€œBilah Vertikal”, mari buat histogram rasio status respons yang berhasil dan tidak berhasil pada layanan kita. Di akhir pengaturan, kami mendapatkan grafik berikut:

Membuat Dasbor di Kibana untuk Memantau Log
Kami akan mengklasifikasikan semua permintaan dengan status respons <400 sebagai berhasil, dan >= 400 sebagai bermasalah.

Untuk membuat bagan "Batang Vertikal", kita perlu memilih sumber data. Pilih Index Pattern yang kita buat tadi.

Membuat Dasbor di Kibana untuk Memantau Log
Secara default, satu grafik padat akan muncul setelah memilih sumber data. Mari kita atur.

Membuat Dasbor di Kibana untuk Memantau Log
Di blok "Buckets", tekan tombol "Add", pilih "X-asis" dan atur sumbu X. Mari kita sisihkan stempel waktu untuk penerimaan entri di log. Di bidang "Agregasi", pilih "Histogram Tanggal", dan di "Bidang" pilih "@timestamp", yang menunjukkan bidang waktu. Mari kita biarkan "Interval minimum" dalam keadaan "Otomatis", dan itu akan secara otomatis menyesuaikan dengan tampilan kita. 

Membuat Dasbor di Kibana untuk Memantau Log
Dengan mengklik tombol "Perbarui", kita akan melihat grafik dengan jumlah permintaan setiap 30 detik.

Membuat Dasbor di Kibana untuk Memantau Log
Sekarang mari kita siapkan kolom di sepanjang sumbu Y. Sekarang kami menampilkan jumlah total permintaan dalam interval waktu yang dipilih.

Membuat Dasbor di Kibana untuk Memantau Log
Mari kita ubah nilai "Agregasi" menjadi "Sum Bucket", yang memungkinkan kita menggabungkan data untuk permintaan yang berhasil dan tidak berhasil. Di blok Bucket -> Agregasi, pilih agregasi berdasarkan "Filter" dan atur pemfilteran berdasarkan "statusCode >= 400". Dan di bidang "Label khusus", kami menunjukkan nama indikator kami untuk tampilan yang lebih mudah dipahami dalam legenda pada grafik dan dalam daftar umum.

Membuat Dasbor di Kibana untuk Memantau Log
Dengan mengklik tombol "Perbarui" di bawah blok pengaturan, kita akan mendapatkan grafik dengan permintaan yang bermasalah.

Membuat Dasbor di Kibana untuk Memantau Log
Jika Anda mengklik lingkaran di sebelah legenda, sebuah jendela akan muncul di mana Anda dapat mengubah warna kolom.

Membuat Dasbor di Kibana untuk Memantau Log
Sekarang mari tambahkan data tentang permintaan yang berhasil ke bagan. Di bagian "Metrik", klik tombol "Tambah" dan pilih "sumbu Y".

Membuat Dasbor di Kibana untuk Memantau Log
Dalam metrik yang dibuat, kami membuat pengaturan yang sama seperti untuk permintaan yang salah. Hanya di filter kami menentukan "statusCode <400".

Membuat Dasbor di Kibana untuk Memantau Log
Dengan mengubah warna kolom baru, kami mendapatkan tampilan rasio permintaan yang bermasalah dan berhasil.

Membuat Dasbor di Kibana untuk Memantau Log
Dengan mengklik tombol β€œSimpan” di bagian atas layar dan menentukan namanya, kita akan melihat grafik pertama di Dashboard.

Membuat Dasbor di Kibana untuk Memantau Log

Data Tabel

Sekarang perhatikan tampilan tabel "Tabel Data". Mari buat tabel dengan daftar semua URL yang diminta dan jumlah permintaan tersebut. Seperti pada contoh Batang Vertikal, pertama-tama kita memilih sumber data.

Membuat Dasbor di Kibana untuk Memantau Log
Setelah itu, tabel dengan satu kolom akan ditampilkan di layar, yang menunjukkan jumlah total permintaan untuk interval waktu yang dipilih.

Membuat Dasbor di Kibana untuk Memantau Log
Kami hanya akan mengubah blok "Ember". Klik tombol "Tambah" dan pilih "Pisahkan baris".

Membuat Dasbor di Kibana untuk Memantau Log
Di bidang "Agregasi", pilih "Istilah". Dan di bidang "Field" yang muncul, pilih "url.keyword".

Membuat Dasbor di Kibana untuk Memantau Log
Dengan menentukan nilai "Url" di kolom "Label khusus" dan mengklik "Perbarui", kita akan mendapatkan tabel yang diinginkan dengan jumlah permintaan untuk setiap URL untuk jangka waktu yang dipilih.

Membuat Dasbor di Kibana untuk Memantau Log
Di bagian atas layar, klik lagi tombol "Simpan" dan tentukan nama tabel, misalnya Url. Mari kembali ke Dasbor dan lihat kedua tampilan dibuat.

Membuat Dasbor di Kibana untuk Memantau Log

Bekerja dengan Dasbor

Saat membuat Dashboard, kami hanya mengatur parameter tampilan utama di pengaturan objek tampilan. Tidak masuk akal untuk menentukan data untuk filter dalam objek, misalnya, "rentang tanggal", "pemfilteran berdasarkan agen pengguna", "pemfilteran berdasarkan negara permintaan", dll. Jauh lebih mudah untuk menentukan periode waktu yang diinginkan atau mengatur pemfilteran yang diperlukan di panel kueri, yang terletak di atas objek.

Membuat Dasbor di Kibana untuk Memantau Log
Filter yang ditambahkan pada panel ini akan diterapkan ke seluruh Dasbor, dan semua objek tampilan akan dibuat ulang sesuai dengan data aktual yang difilter.

Kesimpulan

Kibana adalah alat canggih yang memungkinkan Anda memvisualisasikan data apa pun dengan cara yang nyaman. Saya mencoba menunjukkan pengaturan dua jenis tampilan utama. Tetapi tipe lain dikonfigurasi dengan cara yang sama. Dan banyaknya pengaturan yang saya tinggalkan β€œdi belakang layar” akan memungkinkan Anda menyesuaikan grafik dengan sangat fleksibel sesuai kebutuhan Anda.

Sumber: www.habr.com

Tambah komentar