Herramientas de supervisión del sistema para Ubuntu

134

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

  • Uso de CPU

  • Uso de Ram

  • Uso de intercambio

  • Uso del disco (Espacio / E / S)

  • Supervisión del calor

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

    
pregunta Qasim 10.05.2013 - 11:13

15 respuestas

173

Miradas: un ojo en su sistema

Glances es un software gratuito (con licencia de LGPL) para monitorear su sistema operativo GNU / Linux o BSD desde un texto interfaz. 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, puede escribir sudo apt install glances , pero la versión 2.3 tiene este error De lo contrario:

Instalación fácil de scripts Miradas

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 iniciar glances simplemente escribe glances en la terminal.

En las miradas verá mucha información sobre los recursos de su sistema: CPU, Carga, Memoria, Intercambiar Red, E / S de Disco y Procesos, todo en una sola 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 ejecuta Glance, 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, supervisión de intercambio

Monitorización de disco

Monitorización del calor del sistema

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

glances -e

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 supervisión es que puedes iniciarla en modo servidor simplemente escribiendo glances -s , esto dará como resultado que el servidor de Glances se ejecute en 0.0.0.0:61209 y ahora puedes conectarte desde otro computadora que utiliza glances -c @server donde @server es la dirección IP o el nombre de host del servidor.

Glances usa un servidor XML / RPC y puede ser utilizado por otro software cliente. En el modo de servidor, puede establecer la dirección de vinculación (-B DIRECCIÓN) y el puerto TCP de escucha (-p PUERTO), la dirección de enlace predeterminada es 0.0.0.0 (las miradas se escuchan en todas las interfaces de red) y el puerto TCP es 61209. En modo cliente, puede establecer el puerto TCP del servidor (-p puerto). En el modo cliente / servidor, los límites se establecen por el lado del servidor. La versión 1.6 introduce una contraseña opcional para acceder al servidor (contraseña -P) que, si está configurada en el servidor, también debe usarse en el cliente.

Fuentes adicionales: PyPI , Github , Linuxaria

Actualizar

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

En el terminal no 1 se ejecuta Glances en el modo de servidor, en el terminal no 2 se está ejecutando el contenedor juju apt-get update & amp; En terminal 3 glances -c 192.168.1.103 Glances está conectado al contenedor ip

Mira el uso de la CPU

Las miradas en sí parecen requerir picos de tiempo en el uso de la CPU mientras están activas, como lo demuestra el gráfico de uso del monitor del sistema incorporado. Si el gráfico es preciso, al usar miradas se pierde alrededor de 1/4 de una CPU en un sistema. Esto tiene efecto para aquellos que están monitoreando cargas de CPU en servidores.

    
respondido por el Qasim 10.05.2013 - 12:00
31

indicator-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. Simple.

Descárguelo de aquí

Conky

Uno de mis favoritos personales

Screenlet encontrará una gran cantidad de CPU y monitores RAM de estilo diferente incluidos en los screenlets, todo disponible en el Centro de Software de Ubuntu.

Miradas

Para instalar:

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

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 comandos 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 supervisar las actividades de los dispositivos del sistema a través de la línea de comandos.

Puedes instalarlo con este comando:

sudo apt-get install saidar

Para iniciar la supervisión, 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 se muestra en la información del dispositivo del sistema de escritorio (CPU, temperatura, memoria, red, etc.).

Para instalar GKrellM, ejecute este comando:

sudo apt-get install gkrellm

Monitorix

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

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/

    
respondido por el Maythux 08.03.2014 - 10:43
19

Las siguientes son las herramientas para monitorear un sistema Linux

  1. Comandos del sistema como top , free -m , vmstat , iostat , iotop , sar , netstat etc. Nada se acerca a esta utilidad de linux cuando se está depurando un problema. Estos comandos le dan una idea clara de lo que sucede dentro de su servidor
  2. SeaLion : el agente ejecuta todos los comandos mencionados en el n. ° 1 (también definidos por el usuario) y se puede acceder a los resultados de estos comandos en una bella interfaz web. Esta herramienta es útil cuando depura en cientos de servidores, ya que la instalación es muy simple. Y es GRATIS
  3. Nagios : es la madre de todas las herramientas de monitoreo / alerta. Es mucho personalización pero muy difícil de configurar para principiantes. Hay juegos de herramientas llamados plugins de nagios que cubren casi todas las métricas importantes de Linux
  4. Munin
  5. Densidad del servidor: un servicio pago basado en la nube que recopila importantes métricas de Linux y les da a los usuarios la capacidad de escribir sus propios complementos.
  6. New Relic: otro servicio de monitoreo alojado bien conocido.
  7. Zabbix
respondido por el stylusbrook 20.11.2013 - 14:30
9

En los últimos años he usado:

Indicador de carga del sistema

disponible desde Software Center

    
respondido por el david6 22.02.2014 - 22:50
7

arriba

arriba está monitoreando software, listando todos los procesos con uso de CPU / RAM, uso general de CPU / RAM y más También está principalmente instalado por defecto

htop

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

iotop

iotop es específicamente para la supervisión de Hard Rive I / O Enumera todos los procesos y muestra su uso de disco duro para leer y escribir.

    
respondido por el BeryJu 10.05.2013 - 12:43
4

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

Si quiere ensuciarse y hacer un poco de secuencias de comandos en Python, aquí hay algunos conceptos básicos de la supervisión del sistema con Python para que pueda comenzar.

Necesitarás un módulo externo llamado psutil para controlar la mayoría de las cosas. Es más fácil usar un instalador de módulo externo en lugar de compilar desde el origen.

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, crea un archivo llamado usage.py .

gedit ~/usage.py

Comience por importar psutil

import psutil

Luego, crea una función para controlar el porcentaje en el que se ejecutan los núcleos de tu 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]), "%"

Vamos a romper 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 ciclo 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 su 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 brinda un conjunto de datos que contiene diferentes hechos 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

Dado que psutil.net_io_counters() solo nos da información sobre los paquetes enviados y recibidos en bytes, era necesaria alguna conversión.

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 algo difícil de hacer, por lo que es posible que deba investigar un poco para averiguar qué funcionará con su hardware. Deberá mostrar los contenidos 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 supervisar (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_usage es esto,

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

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

El programa completo: (las funciones antes mencionadas se combinaron)

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.

Ejecuta este programa desde la línea de comando. Pase los discos que desea supervisar 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! Comente si tiene alguna pregunta.

enlace

    
respondido por el calthecoder 13.06.2015 - 22:43
2

El paquete systat tiene una herramienta llamada sar que hace todo lo que desea. También puede recopilar datos históricos para que pueda ver lo que sucedió hace algún tiempo.

    
respondido por el Grzegorz Żur 10.05.2013 - 15:22
2

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

    
respondido por el Adam Johnson 08.07.2014 - 09:48
1

Recomiendo enlace

Muy fácil de configurar y uso mínimo de recursos.

    
respondido por el Ronny 27.05.2013 - 14:30
1

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

    
respondido por el menixator 08.03.2014 - 11:18
1

Nagios parece ser el más popular y el 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 busca una GUI aún más limpia, visite Zenoss. Zenoss es una herramienta basada en web de código abierto, pero ofrece análisis de servicio y análisis de causa raíz con su herramienta de propiedad.

    
respondido por el ShaneCar 03.12.2015 - 11:33
1
  1. El comando free 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, lea el archivo /proc/meminfo .

    cat /proc/meminfo
    
  3. El comando vmstat con la opción s .

    vmstat -s
    
  4. El comando top generalmente se usa para controlar la memoria y el uso de la CPU por proceso.

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

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

    sudo dmidecode -t 17
    
respondido por el hennamusick 30.01.2017 - 13:23
0

compruebe la herramienta de supervisión de Linux de eginnovations: enlace

basado en la web, simple de instalar e incluso compatible con la virtualización de Linux.

    
respondido por el Mark Smith 27.12.2013 - 02:00
0

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

    
respondido por el Steve Young 03.03.2017 - 13:17
0

Me gusta usar conky , que se puede configurar de todos modos:

Puedes google conky y encontrar 787,000 visitas. Hay algo para todos.

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

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

    
respondido por el WinEunuuchs2Unix 08.05.2018 - 04:27

Lea otras preguntas en las etiquetas