Glances es una interesante y completa herramienta que permite monitorizar diversos recursos del sistema de un vistazo general: carga, CPU, memoria, I/O de disco, uso de red…
Podemos sacar potencial a Glances exportando los datos a InfluxDB para más tarde visualizarlos con Grafana.
Instalación del software necesario
Teniendo en cuenta que vamos a utilizar distintos componentes y siempre surgen dudas de compatibilidad, para el presente artículo el sistema utilizado ha sido Ubuntu 16.04. Tanto InfluxDB como Grafana los he instalado desde repositorios de la distro, mientras que Glances lo he instalado con pip3.
Instalación de Glances con pip3:
pip3 install glances
Instalación de Grafana e InfluxDB desde repos:
apt install influxdb influxdb-client grafana
Una vez instalados, iniciaremos InfluxDB y Grafana:
service influxdb start service grafana start
La interfaz web de Grafana escuchará en el puerto 3000 (http://localhost:3000) y la de InfluxDB en 8083 (http://localhost:8083)
Preparando InfluxDB para almacenar métricas
Necesitaremos crear una Base de Datos en InfluxDB para que Glances pueda ir volcando las métricas correspondientes.
- Conectamos con InfluxDB:
influx
- Creamos la Base de Datos para Glances:
CREATE DATABASE glances
Creación de datasource en Grafana
Para poder visualizar las métricas de Glances necesitaremos indicarle a Grafana el origen de los datos. Para ello crearemos un datasource en Datasources -> Add New
Rellenaremos con los datos observados en la imagen. InfluxDB deshabilita por defecto la autenticación y autorización tanto de la interfaz web HTTP como para las conexiones a BBDD. Leed la documentación correspondiente de InfluxDB para activarlas y de esta manera securizar adecuadamente vuestro entorno. Para el presente artículo en InfluxDB Details podéis poner en User y Password datos aleatorios. Realizamos un test de conexión para verificar.
Últimos pasos y visualización de gráficas
Descargamos los siguientes ficheros del repo de Glances (son de Nicolas Hennion, el creador de Glances):
wget https://raw.githubusercontent.com/nicolargo/glances/master/conf/glances-grafana.json wget https://raw.githubusercontent.com/nicolargo/glances/master/conf/glances.conf
Iniciamos Glances desde terminal pasándole con la opción -C el fichero glances.conf que hemos descargado y también con –export-influxdb
glances -C glances.conf --export-influxdb
Importamos el panel para Glances (fichero glances-grafana.json) en Grafana en Dashboards -> Home -> Import y después buscándolo con Browse en la localización donde lo hayamos descargado anteriormente.
Si queremos guardar este Dashboard de Glances en Grafana, presionamos Ctrl + S
Una vez realizado esto deberían comenzar a dibujarse las gráficas correspondientes:
Enjoy! 😉