Últimas entradas

Monitoreo de sistema con Glances accediendo a su API REST y docker

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:

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *