Glances es una herramienta de monitoreo multiplataforma de sistemas de código abierto. Permite el monitoreo en tiempo real de varios aspectos de su sistema, como CPU, memoria, disco, uso de la red, etc. También permite el monitoreo de procesos en ejecución, usuarios registrados, temperaturas, voltajes, velocidades de ventilador, etc. También admite el monitoreo de contenedores. Admite diferentes sistemas de gestión de contenedores como Docker, LXC. La información se presenta en un panel fácil de leer y también se puede utilizar para el monitoreo remoto de sistemas a través de una interfaz web o una interfaz de línea de comandos. Es fácil de instalar y usar y se puede personalizar para mostrar sólo la información que le interesa.
En modo cliente/servidor, la monitorización remota se puede realizar mediante terminal, interfaz web o API (XML-RPC y RESTful). Las estadísticas también se pueden exportar a archivos o bases de datos externas de tiempo/valor, CSV o salida directa a STDOUT.
Glances está escrito en Python y utiliza bibliotecas para obtener información de su sistema. Se basa en una arquitectura abierta donde los desarrolladores pueden agregar nuevos complementos o módulos de exportación.
Puedes ayudarme a lograr mis objetivos de mejorar este proyecto de código abierto o simplemente decir "gracias" de la siguiente manera:
Todas y cada una de las contribuciones son muy apreciadas.
python>=3.9
(use Glances 3.4.x para una versión inferior de Python)psutil
(mejor con la última versión)defusedxml
(para parchear xmlrpc)packaging
(para la comparación de versiones)orjson
(una alternativa optimizada al módulo json estándar)Nota para usuarios de Python 2
La versión 4 o superior de Glances no es compatible con Python 2 (y Python 3 <3.9). Utilice Glances versión 3.4.x si necesita compatibilidad con Python 2.
Dependencias opcionales:
batinfo
(para monitoreo de batería)bernhard
(para el módulo de exportación de Riemann)cassandra-driver
(para el módulo de exportación de Cassandra)chevron
(para la función de script de acción)docker
(para el soporte de monitoreo de Containers Docker)elasticsearch
(para el módulo de exportación de Elastic Search)FastAPI
y Uvicorn
(para modo servidor web)graphitesender
(para el módulo de exportación de grafito)hddtemp
(para soporte de monitoreo de temperatura de HDD) [solo Linux]influxdb
(para el módulo de exportación de InfluxDB versión 1)influxdb-client
(para el módulo de exportación de InfluxDB versión 2)jinja2
(para plantillas, usado bajo el capó por FastAPI)kafka-python
(para el módulo de exportación de Kafka)netifaces
(para el complemento IP)nvidia-ml-py
(para el complemento GPU)pycouchdb
(para el módulo de exportación CouchDB)pika
(para el módulo de exportación RabbitMQ/ActiveMQ)podman
(para el soporte de monitoreo de Containers Podman)potsdb
(para el módulo de exportación OpenTSDB)prometheus_client
(para el módulo de exportación de Prometheus)pygal
(para el módulo de exportación de gráficos)pymdstat
(para soporte RAID) [solo Linux]pymongo
(para el módulo de exportación de MongoDB)pysnmp-lextudio
(para soporte SNMP)pySMART.smartx
(para compatibilidad con HDD Smart) [solo Linux]pyzmq
(para el módulo de exportación ZeroMQ)requests
(para los puertos, complementos de la nube y el módulo de exportación RESTful)sparklines
(para la opción minigráficos del complemento rápido)statsd
(para el módulo de exportación StatsD)wifi
(para el complemento wifi) [solo Linux]zeroconf
(para el modo de detección automática) Existen varios métodos para probar/instalar Glances en su sistema. ¡Elige tu arma!
Miradas está en PyPI
. Al utilizar PyPI, utilizará la última versión estable.
Para instalar Glances, simplemente use la línea de comando pip
.
Advertencia: en los sistemas operativos Linux modernos, es posible que reciba un mensaje de error de entorno administrado externamente cuando intente utilizar pip
. En este caso, vaya a la sección PipX a continuación.
pip install --user glances
Nota : Se requieren encabezados de Python para instalar psutil, una dependencia de Glances. Por ejemplo, en Debian/Ubuntu lo más simple es apt install python3-psutil
o, alternativamente, instalar primero el paquete python-dev y gcc ( python-devel en Fedora/CentOS/RHEL). Para Windows, simplemente instale psutil desde el archivo de instalación binario.
De forma predeterminada, Glances se instala sin las dependencias de la interfaz web. Para instalarlo, use el siguiente comando:
pip install --user 'glances[web]'
Para una instalación completa (con todas las funciones):
pip install --user 'glances[all]'
Para actualizar Glances a la última versión:
pip install --user --upgrade glances
La rama de desarrollo actual se publica en el índice del paquete test.pypi.org. Si desea probar la versión de desarrollo (podría ser inestable), ingrese:
pip install --user -i https://test.pypi.org/simple/ Glances
Instale PipX en su sistema (apt install pipx en Ubuntu).
Instale Glances (con todas las funciones):
pipx install 'glances[all]'
El script de miradas se instalará en la carpeta ~/.local/bin.
Las imágenes de Glances Docker están disponibles. ¡Puedes usarlo para monitorear tu servidor y todos tus contenedores!
Obtenga el contenedor Miradas:
docker pull nicolargo/glances:latest-full
Las siguientes etiquetas están disponibles:
Ejecute la última versión del contenedor Glances en modo consola :
docker run --rm -e TZ="${TZ}" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host --network host -it nicolargo/glances:latest-full
De forma predeterminada, se utiliza el archivo /etc/glances/glances.conf (basado en docker-compose/glances.conf).
Además, si desea utilizar su propio archivo looks.conf, puede crear su propio Dockerfile:
FROM nicolargo/glances:latest
COPY glances.conf /root/.config/glances/glances.conf
CMD python -m glances -C /root/.config/glances/glances.conf $GLANCES_OPT
Alternativamente, puede especificar algo similar con las opciones de ejecución de la ventana acoplable (observe los parámetros de configuración de la variable de entorno GLANCES_OPT para el comando de inicio de miradas):
docker run -e TZ="${TZ}" -v $HOME/.config/glances/glances.conf:/glances.conf:ro -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host -e GLANCES_OPT="-C /glances.conf" -it nicolargo/glances:latest-full
Donde $HOME/.config/glances/glances.conf es un directorio local que contiene su archivo looks.conf.
Ejecute el contenedor en modo servidor web :
docker run -d --restart="always" -p 61208-61209:61208-61209 -e TZ="${TZ}" -e GLANCES_OPT="-w" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host nicolargo/glances:latest-full
Para obtener una lista completa de opciones, consulte la página de documentación de Glances Docker.
Glances está disponible en muchas distribuciones de Linux, por lo que debería poder instalarlo utilizando su administrador de paquetes favorito. Tenga en cuenta que cuando utiliza este método, es posible que el paquete del sistema operativo para Glances no sea la última versión y que solo estén habilitados los complementos básicos.
Nota: El paquete Debian (y todas las demás distribuciones basadas en Debian) ya no incluyen los archivos estáticos JS utilizados por la interfaz web (consulte issue2021
). Si desea agregarlo a su instalación de Glances, siga las instrucciones: issue2021comment
. En Glances versión 4 y superiores, la ruta al archivo estático es configurable (consulte issue2612
).
Para instalar el paquete binario:
# pkg install py39-glances
Para instalar Glances desde puertos:
# cd /usr/ports/sysutils/py-glances/
# make install clean
Si no desea utilizar el script looksautoinstall, siga este procedimiento.
Los usuarios de macOS pueden instalar Glances usando Homebrew
o MacPorts
.
$ brew install glances
$ sudo port install glances
Instale Python para Windows (Python 3.4+ incluye pip) y luego ejecute el siguiente comando:
$ pip install glances
Necesitas un dispositivo rooteado y la aplicación Termux (disponible en Google Play Store).
Inicie Termux en su dispositivo e ingrese:
$ apt update
$ apt upgrade
$ apt install clang python
$ pip install fastapi uvicorn jinja2
$ pip install glances
Y empieza Miradas:
$ glances
También puede ejecutar Glances en modo servidor (-s o -w) para monitorear de forma remota su dispositivo Android.
Para instalar Glances desde la fuente:
$ pip install https://github.com/nicolargo/glances/archive/vX.Y.tar.gz
Nota : Se requieren encabezados de Python para instalar psutil.
Un increíble libro de cocina Chef
está disponible para monitorear su infraestructura: https://supermarket.chef.io/cookbooks/glances (gracias a Antoine Rouyer)
Puedes instalar Glances usando Puppet
: https://github.com/rverchere/puppet-glances
Un rol de Glances Ansible
está disponible: https://galaxy.ansible.com/zaxos/glances-ansible-role/
Para el modo independiente, simplemente ejecute:
$ glances
Para el modo de servidor web, ejecute:
$ glances -w
e ingrese la URL http://<ip>:61208
en su navegador web favorito.
Para el modo cliente/servidor, ejecute:
$ glances -s
en el lado del servidor y ejecute:
$ glances -c < ip >
en el del cliente.
También puede detectar y mostrar todos los servidores Glances disponibles en su red o definidos en el archivo de configuración:
$ glances --browser
También puedes mostrar estadísticas sin procesar en stdout:
$ glances --stdout cpu.user,mem.used,load
cpu.user: 30.7
mem.used: 3278204928
load: {'cpucore': 4, 'min1': 0.21, 'min5': 0.4, 'min15': 0.27}
cpu.user: 3.4
mem.used: 3275251712
load: {'cpucore': 4, 'min1': 0.19, 'min5': 0.39, 'min15': 0.27}
...
o en formato CSV gracias a la opción stdout-csv:
$ glances --stdout-csv now,cpu.user,mem.used,load
now,cpu.user,mem.used,load.cpucore,load.min1,load.min5,load.min15
2018-12-08 22:04:20 CEST,7.3,5948149760,4,1.04,0.99,1.04
2018-12-08 22:04:23 CEST,5.4,5949136896,4,1.04,0.99,1.04
...
o en formato JSON gracias a la opción stdout-json (atributo no soportado en este modo para tener un objeto JSON real en la salida):
$ glances --stdout-json cpu,mem
cpu: {"total": 29.0, "user": 24.7, "nice": 0.0, "system": 3.8, "idle": 71.4, "iowait": 0.0, "irq": 0.0, "softirq": 0.0, "steal": 0.0, "guest": 0.0, "guest_nice": 0.0, "time_since_update": 1, "cpucore": 4, "ctx_switches": 0, "interrupts": 0, "soft_interrupts": 0, "syscalls": 0}
mem: {"total": 7837949952, "available": 2919079936, "percent": 62.8, "used": 4918870016, "free": 2919079936, "active": 2841214976, "inactive": 3340550144, "buffers": 546799616, "cached": 3068141568, "shared": 788156416}
...
y RTFM, siempre.
Para obtener la documentación completa, consulte el sitio web readthedocs.
Si tiene alguna pregunta (¡después de RTFM!), publíquela en el foro oficial de preguntas y respuestas.
Glances puede exportar estadísticas a: archivo CSV
, archivo JSON
, InfluxDB
, Cassandra
, CouchDB
, OpenTSDB
, Prometheus
, StatsD
, ElasticSearch
, RabbitMQ/ActiveMQ
, ZeroMQ
, Kafka
, Riemann
, Graphite
y servidor RESTful
.
Si desea contribuir al proyecto Glances, lea esta página wiki.
También hay un chat dedicado a los desarrolladores de Glances:
Nicolás Hennion (@nicolargo) <[email protected]>
Glances se distribuye bajo la licencia LGPL versión 3. Consulte COPYING
para obtener más detalles.