Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
Febrero 05, 2012, 08:06:12

Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:     Búsqueda Avanzada
Bienvenidos al foro de systemadmin.es!

Registrate al feed para recibir la actividad del foro:
http://foro.systemadmin.es/.xml/?type=rss
424 Mensajes en 119 Temas por 286 Usuarios
Último usuario: AmericanBread
* Inicio Ayuda Buscar Ingresar Registrarse
+  foro.systemadmin.es
|-+  Linux
| |-+  Monitorización
| | |-+  sysstat
« anterior próximo »
Páginas: [1] Imprimir
Autor Tema: sysstat  (Leído 2007 veces)
gonav
Jr. Member
**

Karma: +0/-0
Desconectado Desconectado

Mensajes: 67


Ver Perfil
« : Noviembre 25, 2009, 01:05:43 »

En esta ocasión quiero hablar de una de esas pequeñas joyas "perdidas" entre los repositorios, la colección de herramientas de monitorización sysstat. Este paquete está formado por varias herramientas (iostat, mpstat, pidstat, sar, sadc, sa1, sa2 y sadf) que proporcionan en conjunto practicamente todos los datos que se pueden necesitar en una monitorización.

Empezaremos por sar, similar a vmstat pero mucho más potente.

$ sar -(opciones) interval count -> realiza muestreo "count" veces con un intervalo determinado

Las opciones definen los parámetros que debe monitorizar. Las más importantes son:
-A (todos), -b (I/O), -B (paginación), -n DEV (dispositivo de red), -u (CPU), -r/R (memoria), -S/W (swap), -v (inodos), -w (creación de tareas)

CPU     %user     %nice   %system   %iowait     %idle
pgpgin/s pgpgout/s   fault/s  majflt/s
IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s
kbmemfree kbmemused  %memused kbbuffers
etc

Una de las cosas más interesantes de sar es su funcionamiento en modo desatendido, a través de sa1 y sa2 vía cron. Los scripts sa1 y sa2 son recolectores de datos, que van guardando un histórico de las mediciones de sar, localizado en /var/log/sysstat/sadd y sardd (dd=dia del mes).

Estos datos están accesibles vía sar y/o texto plano, y con un buen script se pueden hacer cualquier cosa con ellos. Sin embargo, lo más interesante es usar un script llamado sar2rrd.pl (externo al paquete) que genera gráficos rdd con estos datos, y nos deja a punto de caramelo montar un sistema al más puro estilo munin. Nos basta con tener instalado rrdtool y libdate-calc-perl para que sar2rdd funcione correctamente.

sar tiene una gran cantidad de opciones, para más información, man o preguntad.  

sdac es simplemente un backend de sar, para su funcionamiento vía cron, no tiene mayor secreto. Por otra parte, sadf genera salidas en sar en diferentes formatos.

Otra de las herramientas es mpstat, que genera estadísticas para múltiples procesadores.

iostat es un paquete muy interesante, pues genera estadísticas con gran detalle de CPU, I/O de dispositivos, particiones y sistemas de ficheros de red. Imprescindible para discos duros:

                          extended disk statistics       tty         cpu
     disk r/s  w/s Kr/s Kw/s wait actv svc_t  %w  %b  tin tout us sy wt id


Y dejo para el final pidstat. Una de las mejores funcionalidades de sar ha sido la posibilidad de monitorizar un proceso concreto, con la opción -x/X PID, muy últil cuando se sospecha de algún proceso "rebelde". No obstante en la versión 7.1.4 se incluyó un nuevo comando que realizaba esta tarea con muchas más opciones: pidstat.
« Última modificación: Diciembre 02, 2009, 11:48:46 por gonav » En línea
jordi
Administrator
Full Member
*****

Karma: +0/-0
Desconectado Desconectado

Mensajes: 132



Ver Perfil WWW
« Respuesta #1 : Noviembre 25, 2009, 08:44:59 »

Lo he pasado a portada del blog:

http://systemadmin.es/2009/11/sobre-el-paquete-sysstat

saludos!
En línea
gonav
Jr. Member
**

Karma: +0/-0
Desconectado Desconectado

Mensajes: 67


Ver Perfil
« Respuesta #2 : Noviembre 25, 2009, 10:44:24 »


Todo un honor, muchas gracias Sonrisa
Recuperaré alguno de los how-to's personales que tengo hechos, que sean interesantes, y los pasaré al foro.
En línea
gonav
Jr. Member
**

Karma: +0/-0
Desconectado Desconectado

Mensajes: 67


Ver Perfil
« Respuesta #3 : Noviembre 25, 2009, 11:51:08 »

Voy a detallar un poco más la obtención de gráficos RDD a partir de los datos de sar, que me parece un tema interesante.

El script se debe a Jerome Delamarche, y está disponible aquí:
http://www.trickytools.com/php/sar2rrd.php

En modo desatendido sar2rdd trabaja sobre los logs generados /var/log/sysstat/sardd, pero nos vamos a centrar en este caso en el modo manual, más ilustrativo.

Código:
$ sar -A 5 10 > sar-data.log (genera estadísticas de todos los parámetros)

Obteniendo este fichero (extracto):

Código:
Linux 2.6.18-6-686 (debian-desktop) 29/05/08

[...]

01:09:01          CPU     %user     %nice   %system   %iowait    %steal     %idle
01:10:01          all      0,43      0,00      0,18      0,10      0,00     99,28
01:10:01            0      0,43      0,00      0,18      0,10      0,00     99,28
01:11:01          all      0,53      0,00      0,28      0,47      0,00     98,72
01:11:01            0      0,53      0,00      0,28      0,47      0,00     98,72
01:12:01          all      0,08      0,00      0,12      0,05      0,00     99,75
01:12:01            0      0,08      0,00      0,12      0,05      0,00     99,75
01:13:01          all      4,52      0,00      2,87      0,03      0,00     92,58
01:13:01            0      4,52      0,00      2,87      0,03      0,00     92,58
01:14:01          all     16,91      0,00      1,17      0,62      0,00     81,30
01:14:01            0     16,91      0,00      1,17      0,62      0,00     81,30
01:15:01          all      0,57      0,00      0,18      0,02      0,00     99,23
01:15:01            0      0,57      0,00      0,18      0,02      0,00     99,23
01:16:01          all      0,03      0,00      0,10      0,00      0,00     99,87
01:16:01            0      0,03      0,00      0,10      0,00      0,00     99,87
01:17:01          all      2,03      0,00      0,23      0,18      0,00     97,55
01:17:01            0      2,03      0,00      0,23      0,18      0,00     97,55
01:18:01          all      0,67      0,00      0,13      0,00      0,00     99,20
01:18:01            0      0,67      0,00      0,13      0,00      0,00     99,20
01:19:01          all      0,00      0,00      0,08      0,00      0,00     99,92
01:19:01            0      0,00      0,00      0,08      0,00      0,00     99,92
01:20:01          all      0,60      0,00      0,13      0,02      0,00     99,25
01:20:01            0      0,60      0,00      0,13      0,02      0,00     99,25
01:21:01          all      0,63      0,00      0,10      0,00      0,00     99,27
01:21:01            0      0,63      0,00      0,10      0,00      0,00     99,27
01:22:01          all      2,40      0,00      0,28      0,07      0,00     97,25
01:22:01            0      2,40      0,00      0,28      0,07      0,00     97,25
01:23:01          all      1,25      0,00      0,95      0,07      0,00     97,73
01:23:01            0      1,25      0,00      0,95      0,07      0,00     97,73
01:24:01          all      0,12      0,00      0,15      0,05      0,00     99,68
01:24:01            0      0,12      0,00      0,15      0,05      0,00     99,68
01:25:01          all      0,10      0,00      0,17      0,00      0,00     99,73
01:25:01            0      0,10      0,00      0,17      0,00      0,00     99,73
01:26:01          all      1,43      0,00      0,58      0,00      0,00     97,98
01:26:01            0      1,43      0,00      0,58      0,00      0,00     97,98
01:27:01          all      4,90      0,00      0,18      0,08      0,00     94,83
01:27:01            0      4,90      0,00      0,18      0,08      0,00     94,83
01:28:01          all      0,62      0,00      0,15      0,00      0,00     99,23
01:28:01            0      0,62      0,00      0,15      0,00      0,00     99,23
01:29:01          all      6,52      0,00      0,13      0,00      0,00     93,35
01:29:01            0      6,52      0,00      0,13      0,00      0,00     93,35
01:30:01          all      1,98      0,00      1,47      0,27      0,00     96,28
01:30:01            0      1,98      0,00      1,47      0,27      0,00     96,28
01:31:01          all      2,38      0,00      3,07      0,58      0,00     93,97
01:31:01            0      2,38      0,00      3,07      0,58      0,00     93,97
01:32:01          all     68,46      0,00      1,45      2,40      0,00     27,70
01:32:01            0     68,46      0,00      1,45      2,40      0,00     27,70

[...]

01:09:01          tps      rtps      wtps   bread/s   bwrtn/s
01:10:01         2,00      0,02      1,98      0,13     36,00
01:11:01         2,55      0,88      1,67     61,30     30,12
01:12:01         2,45      0,00      2,45      0,00     32,13
01:13:01         2,08      0,00      2,08      0,00     82,25
01:14:01         5,03      0,02      5,02      0,13    103,85
01:15:01         1,35      0,00      1,35      0,00     21,59
01:16:01         1,32      0,00      1,32      0,00     18,80
01:17:01         2,92      0,07      2,85      0,67     40,52
01:18:01         1,20      0,00      1,20      0,00     19,73
01:19:01         1,22      0,00      1,22      0,00     15,60
01:20:01         1,68      0,00      1,68      0,00     28,65
01:21:01         0,97      0,00      0,97      0,00     13,33
01:22:01         1,97      0,00      1,97      0,00     22,40
01:23:01         1,68      0,08      1,60      5,73     25,59
01:24:01         1,17      0,05      1,12      2,27     18,13
01:25:01         1,35      0,00      1,35      0,00     21,60
01:26:01         1,05      0,00      1,05      0,00     13,33
01:27:01         2,17      0,02      2,15      0,13     24,53
01:28:01         0,92      0,00      0,92      0,00     13,06
01:29:01         0,97      0,00      0,97      0,00     13,73
01:30:01         1,93      0,17      1,77      6,66     30,12
01:31:01         2,23      0,85      1,38     34,13     27,06
01:32:01        12,58      6,85      5,73    750,81    112,91

[...]

15:51:01    dentunusd   file-sz  inode-sz  super-sz %super-sz  dquot-sz %dquot-sz  rtsig-sz %rtsig-sz
15:52:01        10292      2912      9467         0      0,00         0      0,00         0      0,00
15:53:01        10292      2912      9467         0      0,00         0      0,00         0      0,00
15:54:01        10833      3104      9909         0      0,00         0      0,00         0      0,00
15:55:01        10860      2912      9894         0      0,00         0      0,00         0      0,00
15:56:01        10884      2912      9915         0      0,00         0      0,00         0      0,00
15:57:05         4315      2912      5737         0      0,00         0      0,00         0      0,00
15:58:01         3845      2912      5302         0      0,00         0      0,00         0      0,00
15:59:01         3848      2912      5304         0      0,00         0      0,00         0      0,00
16:00:01         4118      2912      5607         0      0,00         0      0,00         0      0,00
16:01:01         4127      2752      5575         0      0,00         0      0,00         0      0,00
16:02:01         4160      2752      5603         0      0,00         0      0,00         0      0,00
16:03:01         4164      2752      5603         0      0,00         0      0,00         0      0,00
16:04:01         4164      2752      5603         0      0,00         0      0,00         0      0,00
16:05:01         4169      2752      5610         0      0,00         0      0,00         0      0,00
16:06:01         4170      2752      5608         0      0,00         0      0,00         0      0,00
16:07:01         4170      2752      5608         0      0,00         0      0,00         0      0,00
16:08:01         4170      2752      5608         0      0,00         0      0,00         0      0,00
16:09:02         4240      2816      5664         0      0,00         0      0,00         0      0,00
16:10:01         4547      2976      5932         0      0,00         0      0,00         0      0,00
16:11:01         4552      2976      5932         0      0,00         0      0,00         0      0,00
16:12:01         4552      2976      5932         0      0,00         0      0,00         0      0,00
16:13:01         4555      2976      5937         0      0,00         0      0,00         0      0,00
16:14:01         4560      2976      5941         0      0,00         0      0,00         0      0,00

[...]

Ahora lo pasamos como parámetro a sar2rdd para obtener las gráficas:

Código:
$ ./sar2rrd-2.2.pl -f sar-data.log

El script nos ha generado un gráfico RDD para cada uno de los parámetros monitorizados, en este caso todos los contenidos en sar.data.log. sar2rdd ha creado los directorios rdd e img, que contienen las bases RRD y los gráficos respectivamente (23 para todas las variables).

Vemos algunas de las gráficas obtenidas.
[Actualización: las gráficas ahora son visibles sin estar registrado]








« Última modificación: Noviembre 25, 2009, 09:10:30 por gonav » En línea
jordi
Administrator
Full Member
*****

Karma: +0/-0
Desconectado Desconectado

Mensajes: 132



Ver Perfil WWW
« Respuesta #4 : Diciembre 02, 2009, 10:13:32 »

Sabes si hay alguna forma de usar directamente los ficheros de /var/log/sa/sar* para sacar el histórico hasta el momento?
En línea
gonav
Jr. Member
**

Karma: +0/-0
Desconectado Desconectado

Mensajes: 67


Ver Perfil
« Respuesta #5 : Diciembre 02, 2009, 11:47:31 »

Sabes si hay alguna forma de usar directamente los ficheros de /var/log/sa/sar* para sacar el histórico hasta el momento?

Los scripts sadc, sa1 y sa2, ejecutados desde cron, te van generando los ficheros sar* al final del día, almacenando el histórico. Por cierto, rota los ficheros cada 8 días (sin copia), por lo que para mantener más días habrá que conservar una copia en otra ubicación.

Ejecutando "sar <parámetros> -f /var/log/sa/sar*" se accede a los datos históricos del día (*). El man de sar te da la opción de especificar hora de comiento y final de la extracción de datos (-s y -e), pero no las fechas. Así que habrá que tirar de shellscript para leer el rango de ficheros sar* deseado.

Para la parte correspondiente al día actual, sar <parámetros> accede al fichero /var/log/sa/sa* puesto que sar* aún no está generado.

Luego si se quieren pasar los datos extraídos al sar2rdd, ya tenemos los gráficos.
En línea
Páginas: [1] Imprimir 
« anterior próximo »
Ir a:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC