Glances: una herramienta de supervisión de sistemas versátil para sistemas Linux

Las herramientas de línea de comandos más comúnmente utilizadas para el monitoreo de procesos en Linux son top y su primo colorido y rico en funciones htop .

Para monitorear la temperatura en Linux, puede usar sensores-lm. De manera similar, existen muchas utilidades para monitorear otras métricas en tiempo real, como E / S de disco, Estadísticas de red y otras.

Miradas es una herramienta de monitoreo del sistema que los une a todos y ofrece muchas más funciones. Lo que más me gusta es que puede usar ejecutar Glances en un servidor Linux remoto y monitorear los recursos del sistema en su sistema local o monitorearlo a través de su navegador web.

Así es como se ve. El terminal en la captura de pantalla a continuación se ha embellecido con la herramienta Pywal que cambia automáticamente el color según el fondo de pantalla.

También puedes integrarlo a una herramienta como Grafana para monitorear las estadísticas en un panel intuitivo.

Está escrito en Python, lo que significa que se puede utilizar en la mayoría de las plataformas con casi todas las funciones.

Características de las miradas

Datos de Glances en Grafana Dashboard

Echemos un vistazo rápido a la característica principal que proporciona Glances (juego de palabras).

  • Puede monitorear más de 15 métricas en un sistema (incluidos los contenedores Docker).
  • Modos de uso flexibles: autónomo, cliente-servidor, a través de SSH y modo web.
  • API REST versátil y XML-RPC disponibles para integraciones.
  • Admite fácilmente la exportación de datos a diferentes servicios y bases de datos.
  • Altamente configurable y adaptable a diferentes necesidades.
  • Documentación muy completa.

Instalación de Glances en Ubuntu y otras distribuciones de Linux

Glances está disponible en los repositorios oficiales de muchas distribuciones de Linux. Esto significa que puede usar el administrador de paquetes de su distribución para instalarlo fácilmente.

En distribuciones basadas en Debian / Ubuntu, puede usar el siguiente comando:

sudo apt install glances

También puede instalar la última versión de Glances usando el paquete snap:

sudo snap install glances

Dado que Glances se basa en Python, también puede usar PIP para instalarlo en la mayoría de las distribuciones de Linux. Instale PIP primero y luego utilícelo para instalar Glances:

sudo pip3 install glances

Por lo menos, siempre puede utilizar el script de instalación automática proporcionado por el desarrollador de Glances. Aunque en It’s FOSS no recomendamos ejecutar scripts aleatorios directamente en su sistema. Es totalmente tu decisión.

curl -L https://bit.ly/glances | /bin/bash

Puede consultar otras formas de instalar Glances desde sus documentación, también puede instalarlo como contenedor de ventana acoplable.

Uso de Glances para monitorear los recursos del sistema Linux en el sistema local (modo independiente)

Puede iniciar Glances fácilmente para monitorear su máquina local ejecutando este comando en la terminal.

glances

Puede observar instantáneamente que integra mucha información diferente en una sola pantalla. Me gusta que muestra las direcciones IP públicas y privadas de la computadora en la parte superior.

Glances también es interactivo, lo que significa que puede usar comandos para interactuar con él mientras se está ejecutando. Puedes presionar “s” para mostrar los sensores en la pantalla; “K” para abrir la lista de conexiones TCP; “1” para expandir las estadísticas de la CPU para mostrar subprocesos individuales.

También puede utilizar las teclas de flecha para desplazarse por la lista de procesos y ordenar la tabla por diferentes métricas.

Puede iniciar Glances con varias opciones de línea de comando. También hay muchos más comandos interactivos. Puede encontrar la lista completa en su documentación completa.

Presione Ctrl + C para salir de Glances.

Uso de Glances para monitorear sistemas Linux remotos (modo Cliente – Servidor)

Para monitorear una computadora remota, puede usar Glances en modo cliente-servidor. Necesita tener Glances instalado en ambos sistemas.

En el sistema Linux remoto, tendrá que lanzar miradas en modo servidor usando la opción -s.

glances -s

En el sistema cliente, utilice este comando para iniciar Glances en modo cliente y conectarse al servidor.

glances -c server_ip_address

También puede usar SSH en cualquier computadora e iniciar Glances, que funciona a la perfección. Más información sobre el modo cliente-servidor aquí.

Monitoree los recursos del sistema Linux en el navegador web usando Glances (modo web)

Las miradas también se pueden ejecutar en modo web. Esto significa que puede utilizar un navegador web para acceder a Glances. A diferencia del modo cliente-servidor anterior, no es necesario instalar Glances en el sistema cliente.

Para iniciar Glances en modo web, use la opción -w.

glances -w

Tenga en cuenta que puede mostrar “Interfaz de usuario web de Glances iniciada en https://0.0.0.0:61208” incluso en un servidor Linux cuando en realidad está usando la dirección IP del servidor.

La parte principal es que usa el número de puerto 61208 y puede usarlo para acceder a Glances a través del navegador web. Simplemente escriba la dirección IP del servidor seguida del número de puerto como https://123.123.123.123:61208.

También puede usarlo en el sistema local usando https://0.0.0.0:61208/ o https: // localhost: 61208 /.

El modo web también emula el aspecto del terminal. La versión web está construida con principios de diseño receptivo en mente y se ve bien incluso en teléfonos.

Es posible que desee proteger el modo web con una contraseña para que solo las personas autorizadas puedan usarlo. El nombre de usuario predeterminado es miradas.

[email protected]:~# glances -w --password
Define the Glances webserver password (glances username):
Password (confirm):
Do you want to save the password? [Yes/No]: n
Glances Web User Interface started on https://0.0.0.0:61208/

Puede encontrar más información sobre cómo configurar la contraseña en el guía de inicio rápido.

Exportar datos de Glances a diferentes servicios

Una de las mayores ventajas de usar Glances es el soporte listo para usar para exportar datos a varias bases de datos, servicios e integración en varias canalizaciones de datos sin problemas.

Puede exportar a CSV mientras monitorea con este comando.

glances --export csv --export-csv-file /tmp/glances.csv

‘/tmp/glances.csv’ es la ubicación del archivo. Los datos se completan prolijamente como series de tiempo.

Puede exportar a aplicaciones potentes como Prometeo para habilitar disparadores condicionales y notificaciones.

Puede conectarse directamente a servicios de mensajería como RabbitMQ, MQTT, plataformas de transmisión como Kafka y exportar datos de series de tiempo a bases de datos como InfluxDB y visualizar usando Grafana.

Puede consultar la lista completa de servicios y opciones de exportación aquí.

Utilice la API REST para integrar Glances con otros servicios

Esta es mi característica favorita en toda la pila. Glances no solo reúne varias métricas, sino que también las expone a través de API.

Esta característica simple pero poderosa hace que sea muy fácil crear aplicaciones, servicios y aplicaciones de middleware personalizados para cualquier caso de uso específico.

El servidor de la API REST se inicia automáticamente cuando inicia Glances en modo web. Para iniciarlo en el modo de solo servidor API, puede usar el siguiente comando.

glances -w --disable-webui

El API REST La documentación es completa y las respuestas son fáciles de integrar con una aplicación web. Esto facilita la creación de un tablero unificado para monitorear múltiples servidores con una herramienta como Nodo-RED.

Glances también proporciona un servidor XML-RPC, puede consultar la documentación aquí.

Reflexiones finales sobre miradas

Glances usa el psutil biblioteca de Python para acceder a diferentes estadísticas del sistema. Construí un servidor API simple usando la misma biblioteca para recuperar el uso de la CPU en 2017. Pude monitorear todas las Raspberry Pi en un clúster usando un tablero construido con Node-RED.

Glances podría haberme ahorrado algo de tiempo al ofrecer muchas más funciones, desafortunadamente no lo sabía en ese entonces.

Intenté instalar Glances en mi Raspberry Pi mientras escribía este artículo, desafortunadamente falló con algunos errores con todos los métodos de instalación. Actualizaré el artículo cuando tenga éxito o tal vez escribiré otro artículo con los pasos para instalar en una Raspberry Pi.

Ojalá Glances ofreciera una forma de matar procesos como top o htop. Esperemos que lo consigamos en los próximos lanzamientos.

Espero que esto te haya dado mucha información sobre Glances. ¿Qué herramientas de monitoreo del sistema usan ustedes? Házmelo saber en los comentarios.