Herramientas de monitoreo del sistema para Ubuntu


147

Estoy buscando herramientas de supervisión del sistema que son GUI y Cli o basadas en la web que incluyen funciones básicas como

  • Uso de CPU

  • Uso de carnero

  • Uso de intercambio

  • Uso del disco (espacio / E / S)

  • Monitoreo de calor

Sé que hay muchas herramientas que puedo usar, pero estoy buscando una sola herramienta que tenga estas funciones básicas.

Respuestas:


184

Miradas: un ojo en tu sistema

Glances es un software gratuito (con licencia LGPL) para monitorear su sistema operativo GNU / Linux o BSD desde una interfaz de texto. Glances usa la biblioteca libstatgrab para recuperar información de su sistema y está desarrollada en Python.

Instalación

Abra una terminal ( Ctrl+ Alt+ T) y ejecute los siguientes comandos:

Desde Ubuntu 16.04 y superior solo puede escribir sudo apt install glances, pero la versión 2.3 tiene este error . Más:

Miradas de instalación de scripts fáciles

curl -L https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash

O

wget -O- https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash

Instalación manual

sudo apt-get install python-pip build-essential python-dev lm-sensors
sudo pip install psutil logutils bottle batinfo https://bitbucket.org/gleb_zhulik/py3sensors/get/tip.tar.gz zeroconf netifaces pymdstat influxdb elasticsearch potsdb statsd pystache docker-py pysnmp pika py-cpuinfo bernhard
sudo pip install glances

Uso básico

Para comenzar, glancessimplemente escriba glancesterminal.

captura de pantalla

En las miradas, verá mucha información sobre los recursos de su sistema: CPU, carga, memoria, red de intercambio, E / S de disco y procesos, todo en una página, por defecto el código de color significa:

GREEN : the statistic is “OK”
BLUE : the statistic is “CAREFUL” (to watch)
VIOLET : the statistic is “WARNING” (alert)
RED : the statistic is “CRITICAL” (critical)

Cuando se está ejecutando Glances, puede presionar algunas teclas especiales para darle comandos:

c: Sort processes by CPU%  
m: Sort processes by MEM%  
p: Sort processes by name  
i: Sort processes by IO Rate  
d: Show/hide disk I/O stats  
f: Show/hide file system stats  
n: Show/hide network stats  
s: Show/hide sensors stats  
b: Bit/s or Byte/s for network IO  
w: Delete warning logs  
x: Delete warning and critical logs  
1: Global CPU or Per Core stats  
h: Show/hide this help message  
q: Quit (Esc and Ctrl-C also work)  
l: Show/hide log messages

CPU, Ram, Monitoreo de intercambio

captura de pantalla

Monitoreo de disco

captura de pantalla

Sistema de monitoreo de calor

Si escribe glances --help, encontrará ( -eHabilite el módulo de sensores (solo para Linux))

glances -e

captura de pantalla

captura de pantalla

Archivo de configuración

Puede establecer sus umbrales en el archivo de configuración de Glances, en GNU / Linux, el archivo de configuración predeterminado se encuentra en /etc/glances/glances.conf.

Modo cliente / servidor

Otra característica interesante de esta herramienta de monitoreo es que puede iniciarla en modo servidor simplemente escribiendo glances -s, esto dará una salida como que el servidor Glances se ejecuta en 0.0.0.0:61209 y ahora puede conectarse a él desde otra computadora usando glances -c @ servidor donde @server es la dirección IP o el nombre de host del servidor.

Glances utiliza un servidor XML / RPC y puede ser utilizado por otro software de cliente. En el modo servidor, puede configurar la dirección de enlace (-B ADDRESS) y el puerto TCP de escucha (-p PORT), la dirección de enlace predeterminada es 0.0.0.0 (Glances escuchará en todas las interfaces de red) y el puerto TCP es 61209. En modo cliente, puede configurar el puerto TCP del servidor (puerto -p). En modo cliente / servidor, los límites los establece el lado del servidor. La versión 1.6 introduce una contraseña opcional para acceder al servidor (-P contraseña) que, si se establece en el servidor, debe usarse también en el cliente.

Fuentes adicionales: PyPI , Github , Linuxaria

Actualizar

Supervisar el contenedor juju solo por ejemplo, cómo se ven las cosas Imagen grande

En el terminal no 1 Glances se está ejecutando en modo servidor, en el terminal no 2 el contenedor juju se está ejecutando apt-get updatey en el terminal 3 glances -c 192.168.1.103Glances está conectado a la ip del contenedor

captura de pantalla

Mira el uso de la CPU

Las miradas en sí mismas parecen requerir picos de período de uso de la CPU mientras están activos, como lo demuestra el gráfico de uso del monitor del sistema incorporado. Si el gráfico es exacto, entonces al usar miradas uno cede aproximadamente 1/4 de una CPU en un sistema. Esto puede ser efectivo para aquellos que monitorean las cargas de CPU en los servidores.

mira el uso de la CPU


:), Sí, es @ B4NZ41
Qasim

44
mejor herramienta que he visto ...
Dinesh

1
¡Recomiendo contra el método de instalación 'fácil' sugerido aquí! Transmitir datos de Internet a un intérprete de BASH privilegiado es muy inseguro. Si alguien configuró mal el DNS o pirateó bit.ly, podría estar instalando cualquier cosa en su sistema y es posible que nunca lo sepa.
Luke Stanley

1
No recomiendo la "Instalación fácil de scripts", instale solo usando paquetes.
Pablo A

3
Para desinstalar solo sudo pip uninstall glances.
Pablo A

33

Indicador-SysMonitor

Indicator-SysMonitor hace un poco, pero lo hace bien. Una vez instalado y ejecutado, muestra el uso de CPU y RAM en su panel superior. Sencillo.

ingrese la descripción de la imagen aquí

Descargar desde aquí

Narigón

Uno de mis favoritos personales.

ingrese la descripción de la imagen aquí

Screenlet encontrará un montón de monitores de CPU y RAM de diferentes estilos incluidos en el paquete screenlets-all disponible en el Centro de software de Ubuntu.

ingrese la descripción de la imagen aquí

Miradas

Instalar:

sudo apt-get install python-pip build-essential python-dev
sudo pip install Glances
sudo pip install PySensors

ingrese la descripción de la imagen aquí

VMSTAT

Muestra información sobre CPU, memoria, procesos, etc.

IOSTAT

Esta herramienta de línea de comandos mostrará estadísticas sobre su CPU, información de E / S para sus particiones de disco duro, Sistema de archivos de red (NFS), etc. Para instalar iostat, ejecute este comando:

sudo apt-get install sysstat

Para iniciar el informe, ejecute este comando:

iostat

Para verificar solo las estadísticas de la CPU, use este comando:

iostat -c

Para más parámetros, use este comando:

iostat --help

MPSTAT

La utilidad de línea de comando mpstat mostrará el uso promedio de CPU por procesador. Para ejecutarlo, use simplemente este comando:

mpstat

Para el uso de CPU por procesador, use este comando:

mpstat -P ALL

Saidar

Saidar también permite monitorear las actividades del dispositivo del sistema a través de la línea de comando.

ingrese la descripción de la imagen aquí

Puedes instalarlo con este comando:

sudo apt-get install saidar

Para comenzar a monitorear, ejecute este comando:

saidar -c -d 1

Las estadísticas se actualizarán cada segundo.

GKrellM

GKrellM es un widget personalizable con varios temas que muestra en su dispositivo de escritorio la información del dispositivo (CPU, temperatura, memoria, red, etc.).

ingrese la descripción de la imagen aquí

Para instalar GKrellM, ejecute este comando:

sudo apt-get install gkrellm

Monitorix

Monitorix es otra aplicación con una interfaz de usuario basada en web para monitorear dispositivos del sistema.

ingrese la descripción de la imagen aquí

Instálelo con estos comandos:

sudo add-apt-repository ppa:upubuntu-com/ppa
sudo apt-get update
sudo apt-get install monitorix

Inicie Monitorix a través de esta URL:

http://localhost/monitorix/

 


Las miradas son buenas. Lo que me muestra a veces son algunos registros críticos. ¿Dónde encontrar cuál es el problema? ¿Dónde están los troncos? ADVERTENCIA | Registros críticos (dura 9 entradas) 2016-03-23 ​​19:09:48> 2016-03-23 ​​19:09:54 Usuario de la CPU (72.7 / 76.6 / 80.6) 2016-03-23 ​​19:09:28> 2016-03-23 ​​19:09:32 CPU IOwait (62.5 / 62.5 / 62.5) 2016-03-23 ​​19:08:45> 2016-03-23 ​​19:08:48 Usuario de CPU (86.3 / 86.3 / 86.3) ~ 2016-03-23 ​​19:08:16> ___________________ LOAD 5-min (1.0 / 1.1 / 1.2) - Proceso superior: php5-cgi 2016-03-23 ​​19:08:09> 2016-03-23 ​​19:08: 19 CPU IOwait (74.3 / 74.6 / 75.0)
Kangarooo

@Thuener Es mejor que solo leas y busques antes de ese comentario sin sentido y sí, es ppa :: upubuntu-com / ppa ... consulta este enlace launchpad.net/~upubuntu-com/+archive/ubuntu/ppa e i piense mejor para eliminar el
voto negativo

He estado usando GKrellM y realmente me gusta, especialmente la pantalla del sensor de temperatura. Desearía que fueran gráficos, sin embargo, me permite saber cómo está funcionando mi computadora portátil ya que tiene un problema de sobrecalentamiento.
Heather92065

22

Las siguientes son las herramientas para monitorear un sistema Linux

  1. Comandos del sistema como top, free -m, vmstat, iostat, iotop, sar, netstatetc. Nada se acerca a éstos utilidad Linux cuando se está depurando un problema. Estos comandos le dan una imagen clara de lo que está yendo dentro de su servidor
  2. SeaLion : Agent ejecuta todos los comandos mencionados en el n. ° 1 (también definidos por el usuario) y se puede acceder a las salidas de estos comandos en una hermosa interfaz web. Esta herramienta resulta útil cuando está depurando cientos de servidores, ya que la instalación es sencilla y clara. Y es GRATIS
  3. Nagios : es la madre de todas las herramientas de monitoreo / alerta. Es una gran personalización pero muy difícil de configurar para principiantes. Hay conjuntos de herramientas llamadas complementos nagios que cubren casi todas las métricas importantes de Linux
  4. Munin
  5. Densidad del servidor: un servicio de pago basado en la nube que recopila métricas importantes de Linux y brinda a los usuarios la capacidad de escribir sus propios complementos.
  6. Nueva Reliquia: Otro bien conocido servicio de monitoreo alojado.
  7. Zabbix


8

parte superior

la parte superior es el software de monitoreo, que enumera todos los procesos con uso de CPU / RAM, uso general de CPU / RAM y más. También se instala principalmente de forma predeterminada

htop

htop es como una versión extendida de top. Tiene todas las características de arriba, pero puede ver los procesos secundarios y personalizar la visualización de todo. También tiene colores.

iotop

iotop es específicamente para Monitorear E / S de disco duro. Enumera todos los procesos y muestra el uso de su disco duro para lectura y escritura.


¿Dónde está el monitoreo de calor? y en su respuesta ya ha incluido 3 utilidades ... revise la pregunta ** Estoy buscando una herramienta única que tenga alguna función básica **
Qasim

Con las tres herramientas solo estoy dando diferentes opciones para el OP, pero me decepciona decir que ninguna de ellas tiene monitoreo de calor
BeryJu

al menos has tratado de responder la pregunta ... gracias
Qasim

google (Saidar ubuntu)
Qasim

5

Es posible que desee probar sysmon . Aunque no es tan elegante como Glances, es muy sencillo y fácil de usar.

Si desea ensuciarse y hacer un pequeño script en Python, aquí hay algunos conceptos básicos de monitoreo del sistema con Python para comenzar.

Necesitará un módulo externo llamado psutilpara monitorear la mayoría de las cosas. Es más fácil usar un instalador de módulo externo en lugar de construir desde la fuente.

Nota: Estos ejemplos están escritos en Python 2.7.

sudo apt-get install pip
sudo pip install psutil

Ahora que tenemos los módulos instalados, podemos comenzar a codificar.

Primero, cree un archivo llamado usage.py.

gedit ~/usage.py

Comience importando psutil

import psutil

Luego, cree una función para monitorear el porcentaje en el que se ejecutan los núcleos de su CPU.

def cpu_perc(): 

    cpu_perc = psutil.cpu_percent(interval=1, percpu=True) 
    for i in range(len(cpu_perc)):
        print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

Analicemos eso un poco, ¿de acuerdo?

La primera línea, cpu_num = psutil.cpu_percent(interval=1, percpu=True)encuentra el porcentaje en el que se ejecutan los núcleos en su CPU y lo asigna a una lista llamada cpu_perc.

Este bucle justo aquí

for i in range(len(cpu_num)):
    print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

es un bucle for que imprime el porcentaje actual de cada uno de los núcleos de tu CPU.

Agreguemos el uso de RAM.

Crea una función llamada ram_perc.

def ram_perc():
    mem = psutil.virtual_memory()
    mem_perc = mem.percent
    print "RAM: ", mem_perc, "%"

psutil.virtual_memory proporciona un conjunto de datos que contiene diferentes datos sobre la RAM en su computadora.

A continuación, puede agregar algunos datos sobre su red.

def net():
    net = psutil.net_io_counters()
    mbytes_sent = float(net.bytes_sent) / 1048576
    mbytes_recv = float(net.bytes_recv) / 1048576
    print "MB sent: ", mbytes_sent
    print "MB received: ", mbytes_recv

Como psutil.net_io_counters()solo nos brinda información sobre los paquetes enviados y recibidos en bytes, fue necesario realizar algunas conversiones.

Para obtener información sobre el espacio de intercambio, agregue esta función.

def swap_perc():
    swap = psutil.swap_memory()
    swap_perc = swap.percent

Este es bastante sencillo.

La temperatura es un poco difícil de hacer, por lo que es posible que deba investigar un poco para averiguar qué funcionará con su hardware. Tendrá que mostrar el contenido de un determinado archivo.

El uso del disco es mucho más fácil que la temperatura. Todo lo que necesita hacer es pasar el disco que desea monitorear (es decir:) a /través de una determinada función.

def disks():
    if len(sys.argv) > 1:
        for disk in range(1, len(sys.argv)):
            tmp = psutil.disk_usage(sys.argv[disk])
            print sys.argv[disk], "\n"
            print "Megabytes total: ",
            print str(float(tmp.total) / 1048576)
            print "Megabytes used: ",
            print str(float(tmp.used) / 1048576)
            print "Megabytes free: ",
            print str(float(tmp.free) / 1048576)
            print "Percentage used: ",
            print tmp.percent, "\n"

La salida original de psutil.disk_usagees esto,

>>>psutil.disk_usage('/')
sdiskusage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)

pero también se puede simplemente recibir total, used, free, o percent.

El programa completado: (se combinaron las funciones mencionadas anteriormente)

import psutil, os, sys
mem_perc = 0 #init var
swap_perc = 0 #init var
mbytes_sent = 0 #init var
mbytes_recv = 0 #init var
cpu_perc = 0 #init var
swap = 0 #init var
mem = 0 #init var
net = 0 #init var



def disp(degree):
    global cpu_perc
    global swap
    global swap_perc
    global mem
    global mem_perc
    global net
    global mbytes_sent
    global mbytes_recv

    cpu_perc = psutil.cpu_percent(interval=1, percpu=True)
    swap = psutil.swap_memory()
    swap_perc = swap.percent
    mem = psutil.virtual_memory()
    mem_perc = mem.percent
    net = psutil.net_io_counters()
    mbytes_sent = float(net.bytes_sent) / 1048576
    mbytes_recv = float(net.bytes_recv) / 1048576

    os.system('clear') #clear the screen

    print "-"*30
    print "CPU"
    print "-"*30
    print "CPU Temperature: " , degree, "'C"
    for i in range(len(cpu_perc)):
        print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

    print "-"*30
    print "MEMORY"
    print "-"*30
    print "RAM: ", mem_perc, "%"
    print "Swap: ", swap_perc, "%"
    print "-"*30
    print "NETWORK"
    print "-"*30
    print "MB sent: ", mbytes_sent
    print "MB received: ", mbytes_recv
    print "-"*30
    print "DISKS"
    print "-"*30

    if len(sys.argv) > 1:
        for disk in range(1, len(sys.argv)):
            tmp = psutil.disk_usage(sys.argv[disk])
            print sys.argv[disk], "\n"
            print "Megabytes total: ",
            print str(float(tmp.total) / 1048576)
            print "Megabytes used: ",
            print str(float(tmp.used) / 1048576)
            print "Megabytes free: ",
            print str(float(tmp.free) / 1048576)
            print "Percentage used: ",
            print tmp.percent, "\n"

def main():
    print("Press Ctrl+C to exit")
    while True:
        temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')
        temp = float(temp) / 1000
        disp(temp)

main()

La línea temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')podría no funcionar con su configuración de hardware.

Ejecute este programa desde la línea de comandos. Pase los discos que desea monitorear como argumentos desde la línea de comandos.

$ python usage.py /

Press Ctrl+C to exit

------------------------------
CPU
------------------------------
CPU Temperature:  39.0 'C
CPU Core 1 : 4.8 %
CPU Core 2 : 1.0 %
CPU Core 3 : 0.0 %
CPU Core 4 : 4.9 %
------------------------------
MEMORY
------------------------------
RAM:  33.6 %
Swap:  6.4 %
------------------------------
NETWORK
------------------------------
MB sent:  2.93382358551
MB received:  17.2131490707
------------------------------
DISKS
------------------------------
/ 

Megabytes total:  13952.484375
Megabytes used:  8542.6640625
Megabytes free:  4678.5703125
Percentage used:  61.2 

/media/calvin/Data 

Megabytes total:  326810.996094
Megabytes used:  57536.953125
Megabytes free:  269274.042969
Percentage used:  17.6 

¡Espero que esto ayude! Comenta si tienes alguna pregunta.

https://github.com/calthecoder/sysmon-1.0.1


Si bien este enlace puede responder la pregunta, es mejor incluir aquí las partes esenciales de la respuesta y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden volverse inválidas si la página vinculada cambia.
Ron

@Ron - De acuerdo, agregaré una edición a mi publicación y mostraré las partes básicas de sysmon en un par de días. ¡Gracias por el consejo!
calvin k

Echa un vistazo a meta.askubuntu.com/questions/13900/… . ¿Qué intentaste exactamente?
muru

@muru - No importa, ahora está funcionando. Gracias por el enlace!
calvin k

@muru - Pero, para responder a su pregunta, comencé el bloque de código con tres backticks seguidos del lenguaje en el que quería que se resaltara la sintaxis, y terminé con tres backticks.
calvin k


3

SeaLion puede ser una herramienta útil, ya que tiene comandos incorporados para monitorear el rendimiento de su servidor, así como también puede agregar sus propios comandos, scirpts y resultados de registro personalizados. Es muy fácil de configurar y descubrir qué salió mal en un momento específico.

2



2

Hay una herramienta incorporada llamada gnome-system-monitor. Puede hacer todo lo que mencionó, excepto el monitoreo de calor.


2

Nagios parece ser el más popular y más personalizable, pero no lo elegiría para GUI.

La solución de código abierto de Zabbix supervisa todo lo que ha mencionado y proporciona gráficos basados ​​en el tiempo para la supervisión del rendimiento.

Si está buscando una GUI aún más limpia, consulte Zenoss. Zenoss es una herramienta de código abierto, basada en la web, pero ofrece análisis de servicio y análisis de causa raíz con su herramienta de propiedad.


2
  1. El freecomando es el comando más simple y fácil de usar para verificar el uso de memoria en linux / ubuntu.

    free -m
    
  2. Para verificar el uso de la memoria es leer el /proc/meminfoarchivo.

    cat /proc/meminfo
    
  3. El vmstatcomando con la sopción.

    vmstat -s
    
  4. El topcomando generalmente se usa para verificar el uso de memoria y CPU por proceso.

    top
    
  5. El comando htop también muestra el uso de la memoria junto con otros detalles.

    htop
    
  6. Para obtener información sobre el hardware de la RAM instalada.

    sudo dmidecode -t 17
    

1
Me encanta htop! Simple y lo suficientemente bueno.
Pale Blue Dot

2

Me gusta usar el conkyque se puede configurar de todos modos:

ingrese la descripción de la imagen aquí

Puedes conkybuscar en Google y encontrar 787,000 visitas. Hay algo para todos.

En la parte superior de la pantalla, vea "Bloqueo de pantalla: 4 minutos de brillo: 2074". Estos son generados por "Indicator-Sysmonitor" que le permite mostrar en el indicador de la bandeja del sistema / aplicación utilizando un script bash.

Para ver un tutorial sobre la configuración de "Indicador-Sysmonitor", consulte: ¿Puede BASH mostrarse en la bandeja del sistema como indicador de aplicación?



1

Creo que debería echar un vistazo a Agentless Monitor de AppPerfect, que cubre varios aspectos de la supervisión, como la supervisión de aplicaciones JAVA / J2EE, supervisión de servidores, supervisión de bases de datos, supervisión de transacciones, supervisión de redes, supervisión de registros y supervisión del sistema. Es gratis y fácil de usar.


1

En mi caso, esta respuesta de este enlace me ayudó mucho.

Solía ​​ser un usuario de Windows? Es posible que desee un equivalente de Ubuntu del Administrador de tareas de Windows y abrirlo mediante la combinación de teclas Ctrl + Alt + Supr.

Ubuntu tiene la utilidad incorporada para monitorear o eliminar procesos en ejecución del sistema que actúa como el "Administrador de tareas", se llama Monitor de sistema.

La tecla de acceso directo Ctrl + Alt + Supr se usa de forma predeterminada para abrir el cuadro de diálogo de cierre de sesión en Ubuntu Unity Desktop. No es útil para los usuarios que están acostumbrados a acceder rápidamente al Administrador de tareas.

Para cambiar la configuración de la tecla, abra la utilidad Teclado desde Unity Dash (o Configuración del sistema -> Teclado).

En la pestaña Accesos directos -> Accesos directos personalizados, haga clic en el icono más para agregar un acceso directo. Escriba el nombre Administrador de tareas y el comando gnome-system-monitor.

ayuda

Después de agregarlo, haga clic en donde dice "Desactivar" y presione Ctrl + Alt + Eliminar. Aparecerá un cuadro de diálogo que dice "La tecla de acceso directo ... ya se usa para Cerrar sesión", haga clic en Reasignar y ¡listo!

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.