Sunday, March 18, 2018

Server Monitoring Perfomance Use Telegraf, Influxdb, and Grafana

Halo sobat Nostra,

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