Mostrando entradas con la etiqueta estadisticas. Mostrar todas las entradas
Mostrando entradas con la etiqueta estadisticas. Mostrar todas las entradas
Estadísticas sobre uso de recursos en GNU/Linux
Si son sysadmins, necesitarán alguna forma de ver cómo se utilizan los recursos de nuestros sistemas, sobre todo cuando las cosas andan mal. Ver estadísticas sobre el uso de recursos permite tomar varias decisiones, como comprar hardware, separar servicios, virtualizar, o para solucionar errores en caso de procesos glotones, entre otras cosas.
Si bien en GNU/Linux todas las estadísticas se almacenan en el /proc, es necesario contar con alguna herramienta que las interprete y las haga más amigables. Para ello, contamos con sysstat, un paquete que provee varias herramientas para monitorear la performance del sistema y el uso de recursos.
Los componentes más interesantes de sysstat son:
- sar: reúne, reporta y almacena información de actividad del sistema (CPU, memoria, discos, interrupciones, interfaces de red, TTY, tablas del kernel, etc). Esta herramienta provee muchas opciones para filtrar los datos que deseamos obtener, y permite almacenar los resultados en archivos binarios que luego se pueden visualizar con el mismo sar. Es posible indicar la cantidad de muestras a tomar y el intervalo de tiempo entre muestras.

- sadc (system activity data collector): se encarga de recoger información del sistema una dada cantidad de veces, a intervalos específicos de tiempo, y se utiliza como backend de sar. Escribe en formato binario en un dado archivo o en la standar output. Si no se especifica la cantidad de muestras a tomar, éste escribe infinitamente.

- sa1: un shell script que utiliza sadc para generar el archivo binario /var/log/sa/sadd o /var/log/sysstat/sadd (donde dd es el día del mes, por ejemplo sa16 indica el día 16). Este script está designado para utilizarse con cron (ver /etc/cron.d/sysstat).

- sa2: otro shell script que utiliza sadc para generar reportes diarios en el archivo binario /var/log/sa/sardd o /var/log/sysstat/sardd (donde dd es el día del mes). Este script también está designado para utilizarse con cron (ver /etc/cron.daily/sysstat).

- sadf: permite mostrar el contenido de archivos binarios sar en diferentes formatos (CSV, XML, etc). El formato de salida default es uno fácilmente parseable por diferentes herramientas shell como grep, awk, sed, etc.

- pidstat: reporta estadísticas de procesos como uso de CPU, memoria, I/O, etc. Como en sar, es posible indicar la cantidad de muestras y el intervalo de tiempo entre muestras.
Si deseamos medir la utilización de recursos en el server, lo mejor es dejar que sa1 y sa2 generen los correspondientes logs durante un día, una semana, un mes o el tiempo que quieran, y luego visualizarlos con sar. Por defecto las muestras se toman cada 10 minutos, lo cual provee un buena visión sobre como se utilizan los recursos.
Otra posibilidad es ejecutar sar con el parámetro "-o archivo" para almacenar los datos en un archivo binario, e indicarle el intervalo de segundos entre muestras y la cantidad de muestras a tomar. Por ejemplo, el siguiente comando almacena todos los datos de utilización de recursos en el archivo "revision" cada 5 minutos:
sar -A -o revision 300
Para poder parsear el archivo recién generado con sar, es necesario utilizar el parámetro -f, por ejemplo:
sar -A -f revision
En la mayoría de los casos lo que necesitamos visualizar es uso de memoria, CPU, disco, swap y red. Todo esto se puede hacer con el siguiente comando:
sar -rudpW -n DEV,SOCK
donde:
-r muestra uso de memoria
-u muestra uso de CPU
-d muestra uso de disco
-p imprime el nombre de los dispositivos de forma agradable (usado con -d)
-W muestra estadísticas de swap
-n DEV,SOCK muestra estadísticas de las interfaces de red y cantidad de sockets utilizados.

Si no se utiliza el parámetro -f, sar toma los datos de los logs generados por sa1 y sa2. En caso de utilizar un archivo binario generado con sar (por ejemplo revision), pueden usar el siguiente comando:
sar -rudpW -n DEV,SOCK -f revision
Como podrán observar, la salida de sar no es muy amigable para ser filtrada y/o graficada y/o almacenada en una base de datos, así que lo mejor es utilizar sadf. sadf provee un set de opciones propias y permite utilizar las opciones de sar luego de dos giones (--). Entre las opciones propias de sadf, son interesantes:
-d imprime la salida con los campos separados con punto y coma (;)
-D igual a -d pero utiliza timestamp en lugar de fechas human friendly
-h para imprimir los resultados en una sola línea
-p salida default, amigable para los parsers
-x imprime la salida en formato XML
El comando del ejemplo anterior, utilizando sadf para ser parseado fácilmente, quedaría:
sadf -- -rudpW -n DEV,SOCK
o con -h para separar fácilmente los campos en una planilla (Calc, Excel, etc)
sadf -h -- -rudpW -n DEV,SOCK
Además de las estadísticas anteriores, para hilar más fino a la hora de ver quién gasta los recursos, es necesario tener estadísticas de los procesos que se están ejecutando. Para ello contamos con pidstat, cuyos datos arrojados son similares a los de sar, pero por proceso. pidstat acepta varios argumentos para mostrar distintas estadísticas, pero para una vista básica, me alcanza la siguiente configuración:
pidstat -ru -h 300 | sed '1,2d'
donde:
-r muestra uso de memoria
-u muestra uso de CPU
-h muestra las estadísticas horizontalmente (todo en una sola tabla).
300 es el intervalo de tiempo (en segundos) para tomar muestras
sed '1,2d' elimina las primeras dos líneas de la salida (son un comentario y una línea en blanco)
pidstat no ofrece la opción de crear un archivo binario para almacenar los datos, por lo cual debemos redirigir la salida a un archivo para poder filtrarla luego.


Si lo que quieren son gráficos de utilización (siempre algo visual ayuda a captar mejor los datos), podemos utilizar la salida de sadf y graficar con Calc (o Excel), con gnuplot, o con la interesante Sysstat Graph. No tuve la oportunidad de probar esta última, pero aparenta ser muy útil. Está escrita en PHP, por lo cual es fácil de instalar.


Referencias

- Sysstat man
- How do I Find Out Linux CPU Utilization?
Google sugiere...
Desde que Google incorporó las sugerencias en su buscador he visto cosas de lo más extrañas. Esperar las sugerencias cuando estoy escribiendo las palabras clave de mi búsqueda es casi una forma de diversión. Para aquellos que no comprenden cómo funciona, Google guarda las búsquedas realizadas por todas las personas según su popularidad. Por lo tanto las sugerencias son las búsquedas similares que realizaron la mayoría de las personas. Luego Google utiliza la frase que escribimos en el cuadro de búsqueda como índice de una (gran) tabla de sugerencias.
Por qué me resulta divertido? Porque es divertido ver qué es lo que busca la mayoría de la gente. Si no me creen, prueben ingresando algunas de las siguientes frases y esperen las sugerencias de Google (sin presionar el botón "Buscar"). Que lo disfruten!

"como hacer para"



"de quien esta"



"mi mujer no"



"como se puede"



"que hago si"



"como hago para que"



Busquen más sugerencias divertidas y comenten! Gracias.
Estadisticas: malware!
Hoy les traigo no una, ni dos, sino tres estadísticas!, todas sobre malware y encontradas en Help Net Security. Como ya he comentado anteriormente en el blog, me encantan las estadísticas, así que estoy contento de haber encontrado varias interesantes para compartir.

Por un lado tenemos el caso de comparación de antivirus según su capacidad para eliminar malware realizado por AV-Comparative.org. En este caso no se tuvo en cuenta la capacidad de los antivirus para detectar el malware dado que se utilizó malware que aparece en la base de datos de los antivirus, sino que se testeó la capacidad de eliminar el malware de nuestras máquinas. Si bien este no es un ranking (no se rankean los antivirus con números), se puede ver cómo se desempeña cada software.
Como se ve en el gráfico, ninguno pudo sacar un "muy bien" en capacidad de remover malware o sobras de malware. Los únicos en sacar un "bien" tanto en capacidad de remover malware y sobras fueron eScan, Symantec y, curiosamente, Microsoft.

----------------------

Para el segundo dato estadístico, les tengo los países más infectados con bots según datos relevados en octubre por PandaLabs. En el top del ranking está España con un 44.49% de máquinas infectadas con bots... realmente una barbaridad!
A España le sigue de lejos Estados Unidos con un 14.41% de las máquinas infectadas, lo cual parece poco al lado del gran ganador. La seguidilla continúa con México (9.37%), y Brasil (4.81%).
Muchachos, tengan cuidado con lo que ejecutan!

----------------------

Por último tengo el clásico malware Top10 de BitDefender en octubre. No hubo muchos cambios con respecto al top 10 que publiqué hace unos meses, pero es igualmente interesante citar la nueva lista para ver como estamos. Una vez más, los troyanos son los que mayor presencia tienen en este mercado de malware.
El ranking es el siguiente:
1. Trojan.Clicker.CM 9.47% - usado típicamente para mostrar molestas propagandas en el browser.
2. Trojan.AutorunInf.Gen 8.54% - mecanismo genérico para distribuir malware en medios removibles.
3. Win32.Worm.Downadup 5.29% - nuestro ya viejo conocido conficker sigue presente en muchísimas máquinas del mundo...
4. Trojan.Wimad 4.90% - este troyano afecta archivos ASF, el cual usa un ASF modificado para descargar troyanos en lugar de codecs...
5. Exploit.PDF-JS.Gen 4.84% - detección genérica para archivos PDF modificados que aprovechan vulnerabilidades JavaScript en nuestro Adobe (Vulnerable) Reader, y así descargar malware.
6. Win32.Sality.OG 2.31% - infector polimórfico de archivos que agrega código infectado en ejecutables.
7. Trojan.Autorun.AET 2.20% - otro troyano que aprovecha el Autorun de windows para propagarse, así como también los archivos compartidos.
8. Worm.Autorun.VHG 1.49% - worm que aprovecha la vulnerabilidad MS08-067 para ejecutarse remotamente usando una llamada RPC.
9. Trojan.Swizzor.6 1.22% - troyano que intenta guardar y ejecutar otros malwares en la máquina afectada. Este troyano guarda una clave en el registro para que Windows lo ejecute cada vez que se inicia.
10. Gen:Adware.Heur.wq0@j4oukhei 1.21 - rutina genérica detectada en varias aplicaciones adware.


Bueno, eso es todo en este review de estadísticas de malware. Como siempre digo, tengan cuidado cuando naveguen por la red... Linux is safer! =P