Instal Glances, InfluxDB dan Grafana untuk Memantau CentOS 7


Glances adalah alat pemantauan top source dan htop gratis, modern, lintas platform, real-time, dan mirip htop dengan fitur-fitur canggih. Itu dapat berjalan dalam mode yang berbeda: sebagai mandiri, dalam mode klien/server dan dalam mode server web.

InfluxDB adalah database deret waktu sumber terbuka dan dapat diskalakan untuk metrik, peristiwa, dan analisis waktu nyata.

Grafana adalah alat lintas platform sumber terbuka, kaya fitur, kuat, elegan, dan sangat dapat diperluas untuk pemantauan dan analisis metrik, dengan dasbor yang indah dan dapat disesuaikan. Ini adalah perangkat lunak de facto untuk analisis data.

Dalam artikel ini, kami akan menjelaskan cara menginstal dan mengkonfigurasi Glances, InfluxDB dan Grafana untuk memantau kinerja CentOS 7 server.

Langkah 1: Instal Glance di CentOS 7

1. Pertama, mulailah dengan menginstal glance versi stabil terbaru (v2.11.1) menggunakan PIP. Jika Anda tidak memiliki pip, instal dengan cara berikut, termasuk Python-header yang diperlukan untuk menginstal psutil.

yum install python-pip python-devel	

2. Setelah Anda memiliki PIP dan Python-header, jalankan perintah berikut untuk menginstal glances dan verifikasi versinya.

pip install glances
glances -V

Glances v2.11.1 with psutil v5.4.7

Alternatifnya, jika Anda sudah menginstal glance, Anda dapat memutakhirkannya ke versi terbaru menggunakan perintah berikut.

pip install --upgrade glances

3. Sekarang Anda perlu memulai sekilas melalui systemd agar dapat berjalan sebagai layanan. Buat unit baru dengan membuat file bernama glances.service di /etc/systemd/system/.

vim /etc/systemd/system/glances.service

Salin dan tempel konfigurasi berikut di file glances.service. --config menentukan file konfigurasi, opsi --export-influxdb memberitahukan sekilas untuk mengekspor statistik ke server InfluxDB dan --disable-ip opsi menonaktifkan modul IP.

[Unit]
Description=Glances
After=network.target influxd.service

[Service]
ExecStart=/usr/bin/glances --config /home/admin/.config/glances/glances.conf --quiet --export-influxdb --disable-ip
Restart=on-failure
RestartSec=30s
TimeoutSec=30s

[Install]
WantedBy=multi-user.target

Simpan file dan tutup.

4. Kemudian muat ulang konfigurasi manajer sistem, mulai layanan sekilas, lihat statusnya, dan aktifkan untuk memulai otomatis saat boot.

systemctl daemon-reload 
systemctl start glances.service
systemctl status glances.service
systemctl enable glances.service

5. Selanjutnya, Anda perlu mengunduh file konfigurasi sekilas yang disediakan oleh pengembang menggunakan perintah wget seperti yang ditunjukkan.

mkdir ~/.config/glances/
wget https://raw.githubusercontent.com/nicolargo/glances/master/conf/glances.conf -P ~/.config/glances/ 

6. Untuk mengekspor statistik Glances ke database InfluxDB, Anda memerlukan lib Python InfluxdDB, yang Anda dapat menginstalnya menggunakan perintah pip.

sudo pip install influxdb

Langkah 2: Instal InfluxDB di CentOS 7

7. Selanjutnya, Anda perlu menambahkan repositori InfluxDB Yum untuk menginstal versi terbaru paket InfluxDB seperti yang ditunjukkan.

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

8. Setelah menambahkan repositori ke konfigurasi YUM, instal paket InfluxDB dengan menjalankannya.

yum install influxdb

9. Selanjutnya, mulai layanan InfluxDB melalui systemd, konfirmasikan bahwa layanan tersebut berjalan dengan melihat statusnya dan aktifkan untuk memulai secara otomatis saat boot sistem.

systemctl start influxdb
systemctl status influxdb
systemctl enable influxdb

10. Secara default, InfluxDB menggunakan port TCP 8086 untuk komunikasi klien-server melalui API HTTP InfluxDB, Anda perlu membuka port ini di firewall Anda menggunakan firewall-cmd.

firewall-cmd --add-port=8086/tcp --permanent
firewall-cmd --reload

11. Selanjutnya, Anda perlu membuat database di InfluxDB untuk menyimpan data dari glance. Perintah influx yang disertakan dalam paket InfluxDB adalah cara paling sederhana untuk berinteraksi dengan database. Jadi jalankan influx untuk memulai CLI dan secara otomatis terhubung ke instance InfluxDB lokal.

influx

Jalankan perintah berikut untuk membuat database bernama glances dan melihat database yang tersedia.

Connected to http://localhost:8086 version 1.6.2
InfluxDB shell version: 1.6.2
> CREATE DATABASE glances
> SHOW DATABASES
name: databases
name
----
_internal
glances
> 

Untuk keluar dari shell InfluxQL, ketik exit dan tekan Enter.

Langkah 3: Instal Grafana di CentOS 7

12. Sekarang, instal Grafana dari repositori resmi YUM, mulailah dengan menambahkan konfigurasi berikut ke /etc/yum.repos.d/grafana.repo file repositori.

[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/7/$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

13. Setelah menambahkan repositori ke konfigurasi YUM, instal paket Grafana dengan menjalankannya.

yum install grafana

14. Setelah Anda menginstal Grafana, muat ulang konfigurasi systemd manager, mulai server grafana, periksa apakah layanan aktif dan berjalan dengan melihat statusnya dan aktifkan untuk melakukan auto- mulai saat boot.

systemctl daemon-reload 
systemctl start grafana-server 
systemctl status grafana-server 
systemctl enable grafana-server

15. Selanjutnya, buka port 3000 yang didengarkan oleh server Grafana, di firewall Anda menggunakan firewall-cmd.

firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --reload

Langkah 4: Pantau Metrik Server CentOS 7 Melalui Grafana

16. Pada titik ini, Anda dapat menggunakan URL berikut untuk mengakses antarmuka web Grafana, yang akan mengarahkan ke halaman login, gunakan kredensial default untuk login.

URL: http://SERVER_IP:3000
Username: admin 
Password: admin

Anda akan diminta untuk membuat kata sandi baru, setelah selesai melakukannya, Anda akan diarahkan ke dashboard beranda, seperti yang ditunjukkan pada gambar di bawah.

17. Selanjutnya, klik Buat sumber data pertama Anda, yang seharusnya berupa database InfluxDB. Di bawah Setelan, masukkan nama yang sesuai misalnya Glances Import, lalu gunakan nilai berikut untuk dua variabel penting lainnya (URL HTTP dan Basis Data InfluxDB) seperti yang ditunjukkan pada tangkapan layar.

HTTP URL: http://localhost:8086
InfluxDB Details - Database: glances

Lalu klik Simpan & Uji untuk terhubung ke sumber data. Anda akan menerima masukan yang menunjukkan “Sumber data berfungsi ”.

18. Sekarang Anda perlu mengimpor dasbor Glances. Klik tanda tambah (+) dan buka Impor seperti yang ditunjukkan pada tangkapan layar.

17. Anda memerlukan Glances Dashboard URL atau ID atau mengunggah file .JSON yang dapat Anda temukan dari Grafana.com. Dalam hal ini, kami akan menggunakan Glances Dashboard yang dibuat oleh pengembang Glances, URL-nya adalah https://grafana.com/dashboards/2387 atau ID-nya adalah 2387.

18. Setelah dasbor Grafana dimuat, di bawah opsi, temukan sekilas dan pilih sumber data InluxDB (Glances Import) yang Anda buat sebelumnya, lalu klik Impor seperti yang ditunjukkan pada tangkapan layar berikut.

19. Setelah berhasil mengimpor dasbor Glances, Anda seharusnya dapat melihat grafik yang menunjukkan metrik dari server Anda seperti yang disediakan oleh sekilas melalui influxdb.

Itu saja untuk saat ini! Pada artikel ini, kami telah menjelaskan cara memonitor server CentOS 7 dengan Glances, InfluxDB dan Grafana. Jika Anda memiliki pertanyaan, atau informasi untuk dibagikan, gunakan formulir komentar di bawah untuk melakukannya.