Instale Glances, InfluxDB y Grafana para monitorear CentOS 7


en modo servidor web.

InfluxDB es una base de datos de series de tiempo escalable y de código abierto para métricas, eventos y análisis en tiempo real.

Grafana es una herramienta multiplataforma de código abierto, rica en funciones, potente, elegante y altamente extensible para monitoreo y análisis de métricas, con paneles de control hermosos y personalizables. Es un software de facto para el análisis de datos.

En este artículo, explicaremos cómo instalar y configurar Glances, InfluxDB y Grafana para monitorear el rendimiento de un servidor CentOS 7.

Paso 1: Instale Glances en CentOS 7

1. Primero comience instalando la última versión estable de Glances (v2.11.1) usando PIP. Si no tiene pip, instálelo de la siguiente manera, incluidos los encabezados de Python necesarios para instalar psutil.

# yum install python-pip python-devel	

2. Una vez que tenga PIP y los encabezados de Python, ejecute el siguiente comando para instalar la última versión estable de Glances y verificar la versión.

# pip install glances
# glances -V

Glances v2.11.1 with psutil v5.4.7

Alternativamente, si ya tiene Glances instalado, puede actualizarlo a la última versión usando el siguiente comando.

# pip install --upgrade glances

3. Ahora debe iniciar miradas a través de systemd para que se ejecute como un servicio. Cree una nueva unidad creando un archivo llamado glances.service en/etc/systemd/system /.

# vim /etc/systemd/system/glances.service

Copie y pegue la siguiente configuración en el archivo glances.service. El --config especifica el archivo de configuración, la opción --export-influxdb le dice a Glances que exporten estadísticas a un servidor InfluxDB y el --disable-ip opción deshabilita el módulo 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

Guarde el archivo y ciérrelo.

4. Luego, vuelva a cargar la configuración del administrador de systemd, inicie el servicio de miradas, vea su estado y habilítelo para que se inicie automáticamente en el momento del arranque.

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

5. A continuación, debe descargar el archivo de configuración de glances proporcionado por el desarrollador usando el comando wget como se muestra.

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

6. Para exportar las estadísticas de Glances a una base de datos de InfluxDB, necesita la lib Python InfluxdDB, que puede instalar usando el comando pip.

# sudo pip install influxdb

Paso 2: Instale InfluxDB en CentOS 7

7. A continuación, debe agregar el repositorio InfluxDB Yum para instalar la última versión del paquete InfluxDB como se muestra.

# 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. Después de agregar el repositorio a la configuración de YUM, instale el paquete InfluxDB ejecutando.

# yum install influxdb

9. A continuación, inicie el servicio InfluxDB a través de systemd, confirme que se está ejecutando al ver su estado y habilítelo para que se inicie automáticamente al arrancar el sistema.

# systemctl start influxdb
# systemctl status influxdb
# systemctl enable influxdb

10. De forma predeterminada, InfluxDB usa el puerto TCP 8086 para la comunicación cliente-servidor a través de la API HTTP de InfluxDB, debe abrir este puerto en su firewall usando firewall-cmd.

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

11. A continuación, debe crear una base de datos en InfluxDB para almacenar datos de miradas. El comando influx que se incluye en los paquetes InfluxDB es la forma más sencilla de interactuar con la base de datos. Por lo tanto, ejecute influx para iniciar la CLI y conéctese automáticamente a la instancia local de InfluxDB.

# influx

Ejecute los siguientes comandos para crear una base de datos llamada miradas y ver las bases de datos disponibles.

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
> 

Para salir del shell de InfluxQL, escriba exit y presione Enter.

Paso 3: Instale Grafana en CentOS 7

12. Ahora, instale Grafana desde su repositorio oficial de YUM, comience agregando la siguiente configuración al archivo de repositorio /etc/yum.repos.d/grafana.repo.

[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. Después de agregar el repositorio a la configuración de YUM, instale el paquete Grafana ejecutando.

# yum install grafana

14. Una vez que haya instalado Grafana, vuelva a cargar la configuración del administrador de systemd, inicie el servidor grafana, verifique si el servicio está en funcionamiento viendo su estado y habilítelo para que se inicie automáticamente en el momento del arranque.

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

15. A continuación, abra el puerto 3000 en el que escucha el servidor Grafana, en su firewall usando firewall-cmd.

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

Paso 4: Monitoree las métricas del servidor CentOS 7 a través de Grafana

16. En este punto, puede usar la siguiente URL para acceder a la interfaz web de Grafana, que lo redireccionará a la página de inicio de sesión, use las credenciales predeterminadas para iniciar sesión.

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

Se le pedirá que cree una nueva contraseña, una vez que lo haya hecho, será redirigido al panel de inicio, como se muestra en la captura de pantalla a continuación.

17. A continuación, haga clic en Crear su primera fuente de datos, que debería ser una base de datos InfluxDB. En Configuración, ingrese un nombre adecuado, por ejemplo, Glances Import, luego use los siguientes valores para las otras dos variables importantes (URL HTTP y Base de datos InfluxDB) como se muestra en la captura de pantalla.

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

Luego haga clic en Guardar y probar para conectarse a la fuente de datos. Debería recibir un comentario que indique "La fuente de datos está funcionando".

18. Ahora necesita importar el panel de Glances. Haga clic en el signo más (+) y vaya a Importar como se muestra en la captura de pantalla.

17. Necesitará la URL o ID del panel de Glances o cargar su archivo .JSON que puede encontrar en Grafana.com. En este caso, usaremos el Panel de Glances creado por el desarrollador de Glances, su URL es https://grafana.com/dashboards/2387 o ID es 2387.

18. Una vez que se haya cargado el panel de Grafana, en Opciones, busque miradas y elija una fuente de datos InluxDB (Importación de miradas) que creó anteriormente, luego haga clic en Importar como se muestra en la siguiente captura de pantalla.

19. Después de importar con éxito el panel de Glances, debería poder ver los gráficos que muestran las métricas de su servidor según lo proporciona Glances a través de influxdb.

¡Eso es todo por ahora! En este artículo, hemos explicado cómo monitorear el servidor CentOS 7 con Glances, InfluxDB y Grafana. Si tiene alguna consulta o información para compartir, use el formulario de comentarios a continuación para hacerlo.