Kali ini saya akan berbagi tutorial membuat monitoring perfomance server menggunakan Telegraf, InfluxDB dan Grafana. Kita akan memonitor penggunaan CPU, memory, Disk, Network, dll pada server. Untuk tutorial ini kita menggunakan OS Centos 7
InfluxDB
InfluxDB adalah database time series yang dibagun untuk menangani baca tulis yang tinggi. InfluxDB digunakan sebagai database untuk menampung data timestamp yang banyak, mencakup Devops Monitoring, metrik aplikasi dan real-time analytics.
Untuk menginstall versi stable terupdate, kita akan menggunakan yum package manager:
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo [influxdb] name = InfluxDB Repository - RHEL \$releasever baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable enabled = 1 gpgcheck = 1 gpgkey = https://repos.influxdata.com/influxdb.key EOF
Setelah reponya ditambah di konfigurasi yum, install dan start service telegram dengan cara:
sudo yum install influxdb sudo systemctl start influxdb
Set user untuk mengakses influxdb.
Ubah konfigurasi influxdb untuk mengaktifkan auth influxDB.
nano /etc/influxdb/influxdb.conf #supaya bisa listen semua bind-address = "0.0.0.0:8088" #mengaktifkan auth influxdb auth-enabled = true
Restart influxdb untuk mengupdate konfigurasinya.
sudo systemctl restart influxdb
Telegraf
Telegraf adalah daemon yang dapat berjalan di server mana pun dan mengumpulkan beragam metrik dari sistem (cpu, memori, swap, dll.). Ini juga memiliki plugin output untuk mengirim metrik ke berbagai datastores termasuk InfluxDB, Graphite, OpenTSDB, Datadog, Librato, Kafka, MQTT, NSQ, dan banyak lainnya.
Sebelumnya kita sudah menambahkan repo waktu menginstall influxdb, sehingga kita sudah bisa langsung menginstall telegraf dengan cara:
sudo yum install telegraf sudo systemctl start telegraf
Ubah hostname sesuai dengan hostname agen tersebut. Sehingga nanti kita bisa menfilter data sesuai hostname nya
vim /etc/telegraf/telegraf.conf
hostname = "server1"
[[outputs.influxdb]] urls = ["http://127.0.0.1:8086"] #set ip influxDB
username = "telegraf" password = "password"
Restart service telegraf
sudo systemctl restart telegraf
Secara default telegraf sudah mengaktifkan beberapa input plugin seperti disk, mem, network, swap, dll. Jika kita membutuhkan inputan lain bisa kita tambahakan sesuai kebutuhan.
Sebagai referensi untuk input plugin telegrafnya dapat membuka link berikut:
https://github.com/influxdata/telegraf/tree/master/plugins/inputs
Untuk melihat data yang dikirim telegraf di influxDB dengan cara
Grafana
Digunakan untuk menampilkan dashboard monitoring.
Tambahkan file baru /etc/yum.repos.d/grafana.repo dengan isinya
[grafana] name=grafana baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch repo_gpgcheck=1 enabled=1 gpgcheck=1 gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
Setelah repo ditambah lakukan perintah ini untuk instalasinya:
sudo yum install grafana sudo service grafana-server start sudo systemctl enable grafana-server.service
Untuk lebih mudahnya kita dapat mendownload contah template grafana dashboard yang dibagikan orang lain https://grafana.com/dashboards.
Karena kita memakai telegraf sebagai collector dan influxdb sebagai databasenya kita dapat menggunakan dashboard ini: https://grafana.com/api/dashboards/1443/revisions/4/download
Masuk ke dashboard grafana.
http://192.168.10.10:3000/
Tambahkan konfigurasi data sources influxdb
Isi data seperti dibawah ini dan save and test.
Import dashboard yang sudah kita buat tadi.
Isi nama dashboard dan pilih data influxdb.
Berikut tampilan dashboard yang telah kita import tadi.
Sekian tutorial membuat monitoring server perfomance. Semoga bermanfaat :)
No comments:
Post a Comment