Instalați Glances, InfluxDB și Grafana pentru a monitoriza CentOS 7


Glances este un instrument gratuit de monitorizare open source, modern, multiplatformă, în timp real și asemănător htop, cu funcții avansate. Poate rula în diferite moduri: ca autonom, în modul client/server și în modul server web.

InfluxDB este o bază de date cu sursă deschisă și scalabilă în serie de timp pentru valori, evenimente și analize în timp real.

Grafana este un instrument multiplatform cu sursă deschisă, bogat în funcții, puternic, elegant și foarte extensibil, pentru monitorizare și analiză metrică, cu tablouri de bord frumoase și personalizabile. Este un software de facto pentru analiza datelor.

În acest articol, vom explica cum să instalați și să configurați Glances, InfluxDB și Grafana pentru a monitoriza performanța unui CentOS 7 server puternic>.

Pasul 1: Instalați Glances în CentOS 7

1. Începeți mai întâi prin a instala cea mai recentă versiune stabilă a glances (v2.11.1) folosind PIP. Dacă nu aveți pip, instalați-l după cum urmează, inclusiv antetele Python necesare pentru instalarea psutil.

yum install python-pip python-devel	

2. După ce aveți PIP și antetele Python, rulați următoarea comandă pentru a instala cea mai recentă versiune stabilă a glances și verificați versiunea.

pip install glances
glances -V

Glances v2.11.1 with psutil v5.4.7

Ca alternativă, dacă aveți deja instalat priviri, îl puteți actualiza la cea mai recentă versiune folosind următoarea comandă.

pip install --upgrade glances

3. Acum trebuie să începeți priviri prin systemd, astfel încât să ruleze ca un serviciu. Creați o unitate nouă creând un fișier numit glances.service în /etc/systemd/system/.

vim /etc/systemd/system/glances.service

Copiați și inserați următoarea configurație în fișierul glances.service. --config specifică fișierul de configurare, opțiunea --export-influxdb le spune privirilor să exporte statistici pe un server InfluxDB și --disable-ip opțiunea dezactivează modulul 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

Salvați fișierul și închideți-l.

4. Apoi reîncărcați configurația managerului de sistem, porniți serviciul Glances, vedeți starea acestuia și permiteți-l să pornească automat la pornire.

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

5. În continuare, trebuie să descărcați fișierul de configurare Glances furnizat de dezvoltator folosind comanda wget așa cum se arată.

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

6. Pentru a exporta statisticile Glances într-o bază de date InfluxDB, aveți nevoie de lib-ul Python InfluxdDB, pe care îl aveți îl puteți instala folosind comanda pip.

sudo pip install influxdb

Pasul 2: Instalați InfluxDB în CentOS 7

7. În continuare, trebuie să adăugați depozitul InfluxDB Yum pentru a instala cea mai recentă versiune a pachetului InfluxDB, așa cum se arată.

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. După ce adăugați depozitul la configurația YUM, instalați pachetul InfluxDB rulând.

yum install influxdb

9. Apoi, porniți serviciul InfluxDB prin systemd, confirmați că rulează vizualizând starea acestuia și activați-l să pornească automat la pornirea sistemului.

systemctl start influxdb
systemctl status influxdb
systemctl enable influxdb

10. În mod prestabilit, InfluxDB utilizează portul TCP 8086 pentru comunicarea client-server prin API-ul HTTP InfluxDB, trebuie să deschideți acest port în firewall folosind firewall-cmd.

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

11. În continuare, trebuie să creați o bază de date în InfluxDB pentru stocarea datelor din priviri. Comanda influx care este inclusă în pachetele InfluxDB este cea mai simplă modalitate de a interacționa cu baza de date. Deci, executați influx pentru a porni CLI și pentru a vă conecta automat la instanța locală InfluxDB.

influx

Rulați următoarele comenzi pentru a crea o bază de date numită priviri și pentru a vedea bazele de date disponibile.

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
> 

Pentru a ieși din shell-ul InfluxQL, tastați ieșire și apăsați pe Enter.

Pasul 3: Instalați Grafana în CentOS 7

12. Acum, instalați Grafana din depozitul său oficial YUM, începeți prin a adăuga următoarea configurație la /etc/yum.repos.d/grafana.repo fișier depozit.

[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. După ce adăugați depozitul la configurația YUM, instalați pachetul Grafana rulând.

yum install grafana

14. După ce ați instalat Grafana, reîncărcați configurația managerului de sistem, porniți serverul grafana, verificați dacă serviciul funcționează, vizualizând starea acestuia și activați-l să se auto- începe la momentul pornirii.

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

15. Apoi, deschideți portul 3000 pe care ascultă serverul Grafana, în firewall-ul dvs. utilizând firewall-cmd.

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

Pasul 4: Monitorizați valorile serverului CentOS 7 prin Grafana

16. În acest moment, puteți utiliza următoarea adresă URL pentru a accesa interfața web Grafana, care va redirecționa către pagina de conectare, utilizați acreditările implicite pentru a vă autentifica.

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

Vi se va cere să creați o nouă parolă, după ce ați făcut acest lucru, veți fi redirecționat către tabloul de bord principal, așa cum se arată în captura de ecran de mai jos.

17. Apoi, faceți clic pe Creați prima sursă de date, care ar trebui să fie o bază de date InfluxDB. Sub Setări, introduceți un nume potrivit, de exemplu, Importare priviri, apoi utilizați următoarele valori pentru celelalte două variabile importante (URL HTTP și Baza de date InfluxDB), așa cum se arată în captura de ecran.

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

Apoi faceți clic pe Salvați și testați pentru a vă conecta la sursa de date. Ar trebui să primiți un feedback care să indice „Sursa de date funcționează”.

18. Acum trebuie să importați tabloul de bord Priviri. Faceți clic pe plus (+) și accesați Import, așa cum se arată în captura de ecran.

17. Veți avea nevoie fie de Adresa URL a tabloului de bord Glances, fie de ID-ul sau de a încărca fișierul său .JSON pe care îl puteți găsi de pe Grafana.com. În acest caz, vom folosi Tabloul de bord Glances creat de dezvoltatorul Glances, adresa URL a acestuia este https://grafana.com/dashboards/2387 sau ID-ul este 2387.

18. Odată ce tabloul de bord Grafana a fost încărcat, în opțiuni, găsiți priviri și alegeți o sursă de date InluxDB (Importare priviri) pe care ați creat-o mai devreme, apoi faceți clic pe >Importați după cum se arată în următoarea captură de ecran.

19. După ce ați importat cu succes tabloul de bord Glances, ar trebui să puteți urmări grafice care arată valorile de pe serverul dvs., așa cum sunt furnizate de priviri prin influxdb.

Asta este tot pentru acum! În acest articol, am explicat cum să monitorizați serverul CentOS 7 cu Glances, InfluxDB și Grafana. Dacă aveți întrebări sau informații de partajat, utilizați formularul de comentarii de mai jos pentru a face acest lucru.