Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Cari Blog Ini

13 Juli 2021

Elastic untuk Monitoring 1 - Installasi

Dengan server yang cukup banyak, maka kita memerlukan sebuah sistem monitoring untuk mengawasi server-server tersebut. Dikarenakan saat ini kebutuhan tersebut hanya kebutuhan saya secara pribadi, maka saya mencoba mencari solusi open source untuk hal ini.

Beberapa pilihan terbayang, yaitu Nagios, Shinken, dan lainnya. Namun saya tertarik pada Elastic Stack. Dengan membaca fitur-fiturnya saya rasa elastic yang paling cocok dan mudah saya implementasikan. Kebutuhan saya adalah sebuah sistem yang mampu menrecord windows event viewer, network available, dan resource load.

Server untuk Elastic bisa linux atau windows. Di sini saya menggunakan server linux Centos 7. Tutorial resmi dari Elastic untuk installasi dapat di lihat di: https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-elastic-stack.html

Saya melakukan installasi berpedoman pada tutorial tersebut. 


Pertama yang perlu di lakukan adalah install Elsatic Search. Yaitu sebuah NoSQL database. Artinya ini adalah database untuk menyimpan data monitoring. Untuk lebih detail tentang NoSQL database bisa cek di google. Untuk install cukup download di situs elastic stack kemudian eksekusi. Setelah terinstall, lakukan setting di file /etc/elasticsearch/elasticsearch.yml. Mungkin yang perlu di setting adalah bagian network.host. Isikan network host sesuai IP address untuk akses dari luar server.

Port standartnya 9200. Untuk mengetes apakah terinstall dengan sempurna, maka buka di browser http://ip_address:9200. Jika berjalan dengan baik akan mengeluarkan output json di browser.


Kedua, install Kibana. Kibana adalah web application (dan webserver) untuk mengelola monitoring. Dengan tampilan yang menarik, maka akan mempermudah monitoring. Carna installnya tinggal download bentuk tar.gz nya. Setelah ter download, tinggal extract. Bisa dibuat di folder /home atau yang lain. Kemudian run dengan ekseskusi file kibana pada folder bin. ./kibana
Sebelum dijalankan, pastikan dulu settingnya sudah sesuai. Setting bisa dilihat di folder config, file kibana.yml. Yang mungkin perlu di ubah:
server.host, isikan IP address untuk aksesnya.
elasticsearch.host, isikan IP server elasticsearch yang telah terinstall sebelumnya. Kita bisa menginstall elasticsearch dan kibana di server yang berbeda/terpisah.
Kita juga perlu setting
xpack jika ingin meng-enable fitur Alert pada Kibana.

Jika installasi dan setting benar, maka kita bisa akses kibana dengan mengakses via web browser http://ip-kibana:5601


Ketiga, setelah kibana berjalan dengan sempurna, maka kita bisa melakukan installasi beat. Beat adalah agent untuk mengumpulkan data monitoring.

https://www.elastic.co/beats/


Beat berjalan di sisi client (atau server). Terdapat versi windows, linux dan mac.

Filebeat: merupakan beat yang berfungsi mengumpulkan data yang sumbernya berasal dari file log. Pada file beat terdapat fungsi parser yang dapat memproses semua jenis file log. Ada parser bawaan yang tinggal pakai seperti parser untuk log apache.

Metricbeat: merupakan beat yang mengumpulkan data metrik target. Seperti memory usage, processor percentage, disk usage dan lainnya. Bisa berjalan di linux atau windows.

Packetbeat: untuk membaca paket network yang melalui lan card yang ada.

Auditbeat: khusus linux, digunakan membaca data audit di linux

Heartbeat: digunakan sebagai monitoring ping. Cukup di install disatu client yang yang terhubung ke semua network. Kemudian client tersebut akan melakukan ping dengan interval tertentu untuk menggambarkan kondisi target dalam kondisi online atau tidak. Tentu saja diperlukan pengaturan disisi target agar dapat menerima ping.

Winlogbat: digunakan khusus di sistem operasi Windows, berfungsi untuk membaca data eventviewer yang dibutuhkan dan kemudian di simpan di server Elasticsearch.

Untuk menginstall semua beat cukup mudah, tinggal klik-klik saja dan setting sesuai petunjuk. Peru diingat, makin banyak data yang dikumpulkan maka ukuran server elasticsearch nya.

 

Kempat, jika beats telah berjalan dengan benar, maka data akan terkirim ke server elasticsearch dan siap dipresentasikan di Kibana. Di kibana telah tersedia template-template monitoring yang dapat langsung dipakai (tentu dengan setting-setting sedikit). Bisa di explore pada tuorial Kibana. Selain itu kita perlu mempelajari cara query di ElasticSearch karena akan bermanfaat saat membuat tampilan monitoring nya. Kibana juga memiliki fitur Alert, yaitu memberikan alert berdasarkan data ElasticSearch yang kita olah. Misal alert ketika ping gagal lebih dari 5 menit. Namun diversi komunitas ini fungsi ini terbatas, maka kita perlu berkreasi lebih jauh untuk memaksimalkan. 



Implementasi:

Winlogbeat untuk monitoring login. Di setting hanya membaca eventviewer yang mencatat login masuk user.


Monitoring User Login



Metricbeat untuk monitoring kondisi server

Monitoring processor dan memory


Filebeat untuk monitoring HTTP (Apache). Jadi kita bisa melihat log apache tanpa perlu langsung lihat di web servernya
Terlihat adanya percobaan serangan

Heartbeat untuk monitoring PING
Monitoring detail untuk satu host. 




Tidak ada komentar: