Glances es un programa que permite monitorizar el sistema y tener un control total sobre los principales aspectos, así podremos detectar posibles problemas
Está desarrollado en Python. Además, hay que indicar que no solo vamos a poder usarlo en la versión de servidor, sino que también podemos usarlo en la versión de usuario de linux en nuestro PC.
Instalación con Docker
Generamos la imagen
docker pull vimagick/glances
Creamos el archivo docker-compose.yml
version: '3'
services:
glances:
image: vimagick/glances
volumes:
- ./data:/etc/glances
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- GLANCES_OPT=-w
ports:
- 61208:61208
pid: host
restart: always
Iniciamos el contenedor
docker-compose up -d
El contenedor expone el puerto 61208, accederemos vía browser a http://localhost:61208
Veremos todos los datos relacionados con el uso de la CPU, memoria, red
Como se puede ver, en Glances vamos a poder ver mucha información sobre los recursos de nuestro sistema: CPU, carga, memoria, red de intercambio, E / S de disco y procesos, todo en una sola página. Por defecto el código de color de la información que vamos a ver significa:
- Verde: Todo va bien.
- Azul: Precaución.
- Violeta: Advertencia.
- Rojo: Crítico.
Glaces permite acceder a un api rest y verificar el estado de los indicadores del sistema, por ejemplo haciendo uso de los siguientes recursos, tomando como referencia la uri http://localhost:61208/api/3/
Lista que retorna los complementos disponibles
curl -X GET http://localhost:61208/api/3/pluginslist | jq
{
"load",
"help",
"ip",
"connections",
"memswap",
"processlist",
"cloud",
"uptime",
"network",
"percpu",
"irq",
"system",
"diskio",
"gpu",
"smart",
"folders",
"core",
"fs",
"raid",
"mem",
"alert",
"psutilversion",
"sensors",
"now",
"quicklook",
"wifi",
"ports",
"processcount",
"amps",
"docker",
"cpu"
}
Lista que retorna todas las estadisticas disponibles
curl -X GET http://localhost:61208/api/3/all | jq
{
"load": {
"cpucore": 4,
"min1": 1.51,
"min5": 1.62,
"min15": 1.5
},
"help": null,
"ip": {
"public_address": "...",
"mask_cidr": 16,
"mask": "255.255.0.0",
"gateway": "172.24.0.1",
"address": "172.24.0.2"
},
"connections": {
"nf_conntrack_percent": 0.000762939453125,
"ESTABLISHED": 1,
"initiated": 0,
"terminated": 0,
"nf_conntrack_count": 2,
"SYN_RECV": 0,
"nf_conntrack_max": 262144,
"SYN_SENT": 0,
"LISTEN": 2
},
"memswap": {
"used": 387186688,
"percent": 18,
"free": 1760292864,
"sout": 399024128,
"total": 2147479552,
"sin": 7610368
},
...
Fuente: