Todo buen Administrador de Sistemas debe ser capaz tanto de recolectar como de interpretar los datos que se recogen de los sistemas de TI. En este caso os traigo una pequeña explicación de cómo graficar los datos recolectados por IOStat para que no tengáis que estar perdiendo horas y horas graficando y parseando los datos en Excel ;)
⬇️ Compra en Amazon el hardware que utilizo ⬇️
- 💻 Ordenador Portátil: Descúbrelo aquí
- 🖥️🖥️ Monitores: Mis 2 súper monitores
- ⌨️ Teclado: Mini teclado + Lector DNIe
- 🖱️ Ratón: Mi ratón programable
- 🎧 Auriculares: Súper Auriculares TOP!
- 🖨️ Impresora: Mi fantástica impresora
- 🗄️ NAS Backup: Mi NAS para Backups
- 🔌 HUB USB: Mi HUB para puertos USB
- 📱 Smartphone: Mi Smartphone
- 📲 Tablet: Mi tablet para viajes
- ⌚ Smartwatch: Mi Smartwatch favorito
- 📹 Cámara deportiva: Mi cámara para deportes
Para este mini-tutorial me basaré en un sistema GNU/Linux Debian, pero podremos usarlo bajo cualquier sistema GNU/Linux incluso sobre AIX o cualquier otra plataforma que use IOStat, teniendo en cuenta que pueden existir pequeñas variaciones. Incluso podremos importar datos de otro software y plataforma que podréis ver en las características de NMON Visualizer.
1.- CÓMO USAR IOSTAT EN GNU/LINUX
Para incluir el timestamp en Iostat debemos usar la opción de -t.
Por defecto, el timestamp se generará en el formato por defecto de la configuración del sistema local. Para asegurarnos de la consistencia, debemos usar el formato ISO 8601.
En las nuevas versiones de IOStat esto puede ser cambiado exportando la siguiente variable S_TIME_FORMAT=ISO. Esto tiene el beneficio de poder incluir una zona horaria para cada timestamp. Esta opción no está disponible en versiones viejas de IOStat. Para esas veriones, IOstat nos preguntará por la zona horaria que queremos usar.
Podemos usar:
-c, mostrar datos de CPU
-n, mostrar datos de NFS
-N, muestra el mpath y los LVMs
-x, estadísticas de disco extendidas
-p
-k ó -m para mostrar en KB ó MB en lugar de en bloques
Si queremos comparar los datos entre diferentes equipos, deberemos usar las mismas opcines para que la comparativa no de error ó datos falsos.
NO se puede usar:
-z, evita la salida de datos en cero
-h, muestra la salida en formato "humano" de NFS
Ejemplo: export S_TIME_FORMAT=ISO;iostat -tNxm
2.- CARACTERÍSTICAS
Algunas de las principales características de NMON Visualizer son:
- Parseo de múltiples fichero a la vez
- Datos con diferente hora horaria
- Datos de diferentes sistemas
- Búsqueda recursiva en el árbol de directorios
Parseo de los siguientes tipos de ficheros:
- Ficheros de Nmon generados en Linux & AIX
- Ficheros de IOStat generados en Linux & AIX
- Ficheros Windows Perfmon & ESXTop (exportados a CSV)
- Ficheros de salida de IBM Java 6 & 7 verbose GC
- Ficheros JSON usando un formato personalizado
Muestra gráficas con diferentes niveles de detalle:
- Todos los sistemas
- Solo un sistema
- Métricas individuales
- Definir intervalos de tiempo y filtrar los datos solo para ese intervalo de tiempo
- Exportar los datos en bruto a ficheros en CSV
- Guardar gráficas en PNG
- Personalizar y ver la información resumida de todos los sistemas en una única vista
- Crear reportes personalizados que pueden visualizarse en el GUI ó usarse para crear imágenes PNG desde la línea de comandos
3.- CÓMO RECOLECTAR DATOS CON IOSTAT
Para este ejemplo, usaré un muestreo cada segundo y durante 2 horas (7200 segundos), por tanto el comando que usaré será el siguiente:
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:~# export S_TIME_FORMAT=ISO;iostat -tNxm 1 7200 >> /tmp/iostat_ejemplo.log
Si queremos dejarlo en Background y que no se corte la ejecución podemos usar el siguiente comando:
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.:~# nohup export S_TIME_FORMAT=ISO;iostat -tNxm 1 7200 >> /tmp/iostat_ejemplo.log &
Si necesitas más información de IOStat, no dudes en visitar su página oficial y la ayuda con man iostat.
4.- FORMATEAR LOG
NMONVisualizer es bastante esquisito y el fichero de logs que se le pasa debe tener el formato correcto. Una de las cosas que debes asegurarte es sustituir todas las comas de los valores por puntos. Podemos hacerlo rápidamente con buscar y reemplazar con un editor de textos normal.
Al final de esta página, encontraréis un link a un fichero de iostat a modo de ejemplo para que podáis ver su formato.
5.- IMPORTAR DATOS
Cuando abrimos NMON Visualizer, lo que veremos será una pantalla como la que muestro a continuación:
Pantalla principal de NMON Visualizer
Para importar nuestro fichero de IOStat, desde el menú principal abriremos el log con File->Open. Podremos seleccionar el tipo de fichero a importar y aplicarle un cambio de zona horaria si lo creemos necesario:
Importar el fichero de IOStat
Si todo ha ido correctamente, podremos ver nuestros datos importados en NMON Visualizer. En la ilustración siguiente se puede ver el consumo de CPU desglosado en diferentes partes tal y como muestro a continuación:
Consumo de CPU
Podremos desglosar el consumo de nuestro dispositivo /dev/sda ó de todos los que haya en nuestro equipo. En mi caso al ser una máquina virtual, solo dispongo de una unidad de disco /dev/sda:
Consumo de /dev/sda
El índice de lecturas/segundo de mi unidad /dev/sda:
Lecturas por segundo
El índice de escrituras/segundo de mi unidad de disco /dev/sda:
Escrituras por segundo
Podremos manejar intervalos de tiempo en bruto, usando un tramo horario relativo ó absoluto:
Selección de rangos horarios
Podemos ver en una tabla todos los datos en bruto que hemos obtenido del log:
Datos en bruto
Se pueden personalizar las columnas a mostrar:
Columnas a mostrar
Cualquier duda que tengáis acerca del uso del programa NMON Visualizer, no dudéis en dejar un comentario mas abajo ó en la página principal de NMON Visualizer http://nmonvisualizer.github.io/nmonvisualizer/iostat.html
ENJOY!
- iostat_example.log (654 Descargas)
- NMONVisualizer_2015-10-21.jar (763 Descargas)