Diferencia entre revisiones de «Monitorización»

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Línea 194: Línea 194:
[[Archivo:Mtr.png]]
[[Archivo:Mtr.png]]


== Enlaces ==
= Enlaces =


* [http://www.linux.com/learn/tutorials/620416:discovering-and-monitoring-hardware-in-linux-?utm_medium=twitter&utm_source=twitterfeed]
* [http://www.linux.com/learn/tutorials/620416:discovering-and-monitoring-hardware-in-linux-?utm_medium=twitter&utm_source=twitterfeed]

Revisión del 09:17 24 oct 2015

Recopilación de herramientas útiles para la monitorización de sistemas operativos:

Rendimiento en Linux

conky

Ejemplo de visualización

Conky es un monitor de sistema para los sistemas X Window. Está disponible para GNU/Linux y FreeBSD. Es un software libre liberado bajo los términos de la licencia GPL. Conky es capaz de monitorear distintas variables de sistema, incluyendo CPU, memoria, swap, espacio de disco, temperaturas, subidas, bajadas, mensajes de sistema, y mucho más. Es completamente configurable, la configuración puede ser un poco difícil de entender, pero es bastante posible realizarla. Conky es un fork de torsmo.

dmidecode

Comando para dar información del hardware del equipo.

Ejemplos:

$ dmidecode  # información de los mensajes del sistema en el arranque y detección de nuevos dispositivos
$ sudo dmidecode -t 16 # Información sobre la RAM, para saber los módulos que puedes instalar.
$ sudo dmidecode -t 17 # Información de los módulos instalados

dstat

El resultado es parecido a vmstat. La diferencia es que colorea la salida y la hace más legible.

Además, aporta muchas opciones de configuración y ampliación y monitoriza muchos parámetros.


hwloc - lstopo

lstopo proporciona una imatge molt útil per a conèixer l'arquitectura de la CPU

Lstopo.png

iostat

Muestra información de procesador y de la E/S a discos.

Esto es parte de una posible salida:

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               1,05         5,86        18,18    1598467    4957376
sdb               0,00         0,01         0,00       2766          0
scd0              0,00         0,04         0,00       9784          0

Lo que indica es el dispositivo, las transferencias por segundo, los kb leidos o escritos por segundo y el total leído o escrito.

Si lanzamos este comando:

$ iostat -xkdz
Linux 3.2.0-58-generic-pae (servidor) 	27/03/14 	_i686_	(4 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,15     0,76    0,26    0,79     5,86    18,22    45,84     0,01   12,36   21,74    9,32   4,24   0,45
sdb               0,00     0,00    0,00    0,00     0,01     0,00     7,99     0,00    1,08    1,08    0,00   0,55   0,00
scd0              0,00     0,00    0,00    0,00     0,04     0,00    76,74     0,00   51,69   51,69    0,00  42,43   0,00

En este caso, muestra más detalle. Las columnas son:

  • rrqms/s: El número de peticiones de lectura por segundo enviadas al dispositivo.
  • wrqms/s: El número de peticiones de escritura por segundo enviadas al dispositivo.
  • r/s: El número de lecturas completadas por el dispositivo por segundo.
  • w/s: El número de escrituras completadas por el dispositivo por segundo.
  • rkB/s: El número de sectores en kilobytes leidos por el dispositivo por segundo.
  • wkB/s: El número de sectores en kilobytes escritos por el dispositivo por segundo.
  • avgrq-sz: El tamaño medio en sectores de las peticiones hechas al dispositivo.
  • avgqu-sz: El tamaño medio de la cola de peticiones.
  • await: El tiempo de espera medio en milisegundos.
  • r_await: El tiempo de espera medio en milisegundos para lectura.
  • w_await: El tiempo de espera medio en milisegundos para escritura.

lshw

$ lshw -html > hardware.html

Hace una web con la información de hardware del ordenador.

mpstat

Muestra la actividad para cada procesador y los datos globales. Como otros programas del paquete sysstat, acepta un parámetro numérico que indica el intervalo de actualización.

$ mpstat -P ALL 1

Este comando extrae la información de cada procesador cada segundo.

Esta distribución por procesadores o núcleos permite encontrar hilos muy activos o cargas mal distribuidas. Puede ser útil para el desarrollador de software.

Por defecto, estos son los datos que proporciona:

CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle

Que corresponden a la CPU, el % de uso de programas de usuario, procesos con prioridad, tiempo para el kernel, tiempo de espera de E/S, Servicio a interrupciones de hardware, servicio a interrupciones de software, tiempo perdido con la planificación multiprocesador, tiempo para correr como un procesador virtual y tiempo inactivo sin esperar E/S ni procesos.

nmon

# apt-get install nmon
# nmon

Nmon.png

Para poder ver automáticamente los datos deseados hay que exportar una variable:

# export NMON=mndc 

Luego al ejecutarlo ya no hay que usar las letras indicadas en la variable

Se puede pedir que guarde los datos para analizarlos o hacer gráficas:

# nmon -f -s2 -c 30
  • -f indica que lo guarde en una hoja de cálculo .
  • -s2 es la frecuencia de actualización (2 segundos).
  • -c 30 es la cantidad de veces que se ha de actualizar.

sar

El comando sar sirve para ver datos del sistema y generar informes. Recoge multitud de estadísticas del sistema.

En primer lugar, hay que habilitar la recogida de datos por sar en /etc/default/sysstat. De esta manera va guardando información cada 15 minutos por defecto.

A continuación, podemos probar si sar funciona:

$ sar 1 3

Nos muestra estadísticas cada 1 segundo 3 veces. El resultado es igual que el de mpstat en este caso.

El primer número son los segundos y el otro la cantidad de veces. Este parámetro es igual para todos los programas del paquete systat. Sar va recogiendo internamente datos, por lo que después de un tiempo se pueden lanzar estos comandos sin los números para ver las estadísticas anteriores.

Algunas de las opciones más importantes:

  • -u: Muestra el uso de CPU. Se le puede poner el parámetro ALL para que muestre todos los datos.
  • -P: Muestra el uso de cada CPU o núcleo. Se puede combinar con ALL para que los muestre todos o con el número de CPU que queremos mostrar.
  • -r: Muestra estadísticas de uso de memoria.
  • -S: Información sobre la memoria SWAP.
  • -R: Información sobre las páginas liberadas, usadas o guardadas por segundo.
  • -B: Estadísticas sobre la paginación.
  • -W: Estadísticas sobre SWAP.
  • -b: Información sobre la E/S del disco.
  • -w: Información sobre los procesos creados por segundo y los cambios de contexto por segundo.
  • -q: Carga media en los últimos minuto, 5 minutos y 15 minutos.
  • -n: Estadísticas de red. Acepta palabras clave. Estas son
    • DEV – Displays network devices vital statistics for eth0, eth1, etc.,
    • EDEV – Display network device failure statistics
    • NFS – Displays NFS client activities
    • NFSD – Displays NFS server activities
    • SOCK – Displays sockets in use for IPv4
    • IP – Displays IPv4 network traffic
    • EIP – Displays IPv4 network errors
    • ICMP – Displays ICMPv4 network traffic
    • EICMP – Displays ICMPv4 network errors
    • TCP – Displays TCPv4 network traffic
    • ETCP – Displays TCPv4 network errors
    • UDP – Displays UDPv4 network traffic
    • SOCK6, IP6, EIP6, ICMP6, UDP6 are for IPv6
    • ALL – This displays all of the above information.

sensors

Comando simple que ayuda a saber si la temperatura y otros parámetros físicos son los adecuados.

top y htop

Nos muesta en tiempo real los procesos que más están consumiendo.

El % de CPU es la suma de todos los procesadores o núcleos.

Es una manera fácil y rápida de monitorizar. Por eso es una de las más utilizadas.

El problema de top es que puede no mostrar todos los procesos que consumen CPU. Algunos procesos tienen tiempos de CPU muy cortos y ocurren mientras el top se actualiza. Top no facilita el tratamiento posterior de los datos. En cualquier caso se puede lanzar en modo batch con -b y recoger los datos en un fichero.

Con la opción -d se cambia el delay, es decir, el tiempo entre actualizaciones. si es demasiado corto puede ser ilegible y, además, consume más CPU. En tiempo de ejecución.

Con la opción -i se ocultan los procesos que están en espera. Esta opción también se puede usar en tiempo de ejecución.

htop Es una mejora en cuanto a legibilidad y usabilidad. Muestra la carga de los núcleos por separado.

uptime

$ uptime
17:30:05 up  3:52,  2 users,  load average: 0.09, 0.12, 0.13

Los últimos tres números son la carga media del último minuto, 5 y 15 minutos. Considera la carga como el número medio de procesos que están bien en un estado ejecutable o ininterrumpido. Un proceso en un estado ejecutable está utilizando la CPU o en espera para utilizar la CPU. Un proceso en estado ininterrumpido está esperando algún tipo de acceso de E/S, por ejemplo, a la espera de disco.

Los promedios se toman en los tres intervalos de tiempo. promedios de carga no están normalizados por el número de CPU en un sistema, por lo que una carga de media 1 significa, con una CPU, que está cargado todo el tiempo. Mientras que con 4 CPU, está activo un 25%.

Solo deberíamos usarlo como pista. En sistemas multiprocesador hay que tener en cuenta la normalización.

vmstat

Proporciona información sobre procesos y memória virtual. Se puede pedir que lo haga una cantidad determinada de repeticiones y definir la frecuencia de actualización.

Red en Linux

Las herramientas básicas para monitorizar la red en Linux son ping, traceroute, ifconfig, ip y sobretodo netstat. Además de estas, podemos encontrar algunas que muestran la información de forma más amigable:

mtr

Combina las funciones de ping y traceroute en una herramienta.

Mtr.png

Enlaces

TODO:

perf, df, du