Download - Monitorizacion
![Page 2: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/2.jpg)
Irontec – Curso Monitorización
2
Logs de sistema
● Todos (o casi todos) los servicios almacenan sus logs en /var/log/
● Al tratarse de ficheros de texto es facil trabajar con ellos con los comandos básicos de consola (grep, cat, tail, awk, sed, etc.)
● A veces si los logs crecen muy rápido, es necesario una herramienta más visual para tener una visión mas global
● Syslog y Rsyslog son los demonios encargados de este trabajo
![Page 3: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/3.jpg)
Irontec – Curso Monitorización
3
Logs de sistema
● En Debian Etch (4.0) el demonio por defecto era syslog
● Ahora, en la nueva versión estable Debian Lenny (5.0) es rsyslog
● Rsyslog tiene muchas más características y muy modular (filtros, plugins, integración con bases de datos, etc.)
● Para logear algo, tan sencillo como:– logger “estoy logeando!”
![Page 4: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/4.jpg)
Irontec – Curso Monitorización
4
Logs de sistema
● A la hora de configurar syslog hay dos datos a seleccionar:
– Facility● auth, security● authpriv● cron● daemon● ftp● kern● lpr● mail● mark (sólo para uso interno)● news● sys-log● user● uucp● local0 → local7
![Page 5: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/5.jpg)
Irontec – Curso Monitorización
5
Logs de sistema
● Levels– debug– info– notice– warning, warn– error, err– crit– alert– emerg, panic
![Page 6: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/6.jpg)
Irontec – Curso Monitorización
6
Logs de sistema
● Cuando los logs crecen mucho es necesario “rotarlos”
● Algunos servicios (como versiones antiguas de apache) fallan cuando el tamaño del log es de más de 2 gigas
● El demonio logrotate crea un nuevo fichero de log vacio y el antiguo lo renombra y comprime
● /etc/logrotate.conf
![Page 7: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/7.jpg)
Irontec – Curso Monitorización
7
Logs de sistema
● Nos creamos un script que escriba “hola” en /var/log/milog.log
● Debemos crear una rotación de forma que cada 10 megas el fichero se rote
● Los logs antiguos debe comprimirlo
● Suerte :-)
![Page 8: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/8.jpg)
Irontec – Curso Monitorización
8
Recursos del sistema
● Las distribuciones de GNU/Linux incluyen unos comandos básicos para gestionar los recursos de la máquina
● Los recursos más importantes serán:– CPU– Disco Duro– Memoria RAM– SWAP
● Los recursos no son ilimitados, hay que tenerlos controlados en todo momento
![Page 9: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/9.jpg)
Irontec – Curso Monitorización
9
Recursos del sistema
● Todo equipo informático tiene su límite de capacidad● Cuando dicho límite se alcanza, hay que pensar en
otras soluciones como balanceos de carga● Aprenderemos a gestionar y mantener bajo control
cada recurso del sistema● Si tenemos una alerta, ¡localizaremos la causa y
acabaremos con ella!
![Page 10: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/10.jpg)
Irontec – Curso Monitorización
10
Recursos del sistema
● Si un equipo consume todos los recursos, el sistema puede dejar de funcionar y ser innacesible
● ¿Causas?– Un ataque de denegación de servicio– Error de programación en la aplicación, con memory
leaks o bucles infinitos– Mala planificación, tenemos mas carga de trabajo de la
que se pensó en un principio● Lo primero es saber localizar la causa● Para ello nos servirán las herramientas que vamos a
ver a lo largo del curso
![Page 11: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/11.jpg)
Irontec – Curso Monitorización
11
Recursos del sistema
● Usaremos tres tipos de herramientas– Benchmark de los servicios– Logeo de los servicios y almacenamiento de un registro
histórico– Analisis bajo petición
● Y no en ese orden precisamente...
![Page 12: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/12.jpg)
Irontec – Curso Monitorización
12
Comandos básicos
● Existen una serie de comandos básicos que tenemos en cualquier distribución de GNU/Linux (y en casi cualquier UNIX) que nos ayudarán a ver el estado de los recursos en tiempo real
● Gracias a estas herramientas tendremos controlado el uso de Cpu, Ram, Carga de red, etc.
● Vamos a ver desde los más básicos hasta los más completos
● ¡Hay miles!
![Page 13: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/13.jpg)
Irontec – Curso Monitorización
13
FREE
● FREE
![Page 14: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/14.jpg)
Irontec – Curso Monitorización
14
FREE
● Linux ocupa siempre toda la memoria RAM disponible. Si tenemos 3 gigas libres, ¡mejor usarlos!
● Por eso, generalmente la salida del comando será “free 0”
● Lo que hace en realidad no es ocuparla, si no utilizarla de Cache. La me memoria RAM es muchisimo más rápida que el Disco Duro.
● ¡Nunca deberíamos tener Swap en uso! Mientras eso sea así todo va bien.
![Page 15: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/15.jpg)
Irontec – Curso Monitorización
15
TOP
● TOP
![Page 16: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/16.jpg)
Irontec – Curso Monitorización
16
TOP
● Top nos permite ver en tiempo real los procesos que están corriendo en el sistema
● Podemos matarlos, cambiar el nice, ordenar las columnas, quitar o añadir columnas, etc.
● Si lo que queremos es saber que proceso es el que más memoria ocupa, debemos ordenar la columna de uso de memoria, de mayor a menor
● Tenemos una chuleta de ayuda pulsando ?
![Page 17: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/17.jpg)
Irontec – Curso Monitorización
17
HTOP
● HTOP
![Page 18: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/18.jpg)
Irontec – Curso Monitorización
18
HTOP
● HTOP es básicamente lo mismo que TOP, pero mejorado
● Su uso es mucho más sencillo● Tenemos gráficas de uso de CPU● Es muy personalizable
![Page 19: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/19.jpg)
Irontec – Curso Monitorización
19
Uso de CPU
● A la hora de medir uso de CPU se distinguen distintos tipos de uso:
– User: uso de cpu consumido por las aplicaciones a nivel de usuario
– Nice: uso de cpu consumido por las aplicaciones a nivel de usuario con nice
– System: uso de cpu consumido a nivel de sistema (kernel)
– Wait: tiempo de cpu que ha estado esperando durante las cargas I/O del sistema (interrupciones)
– Idle: tiempo de cpu que ha estado esperando sin cargas I/O (en cristiano, descansado)
![Page 20: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/20.jpg)
Irontec – Curso Monitorización
20
Systat
● Systat es un paquete que incluye varias herramientas más para comprobar los recursos del sistema
– Iostat: uso de CPU y estádistica I/O de discos– Mpstat: estadísticas globales y por procesador– Pidstat: estadísticas de procesos– Sar: almacena la actividad del sistema– Sadf: muestra los datos de Sar en distintos formatos
![Page 21: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/21.jpg)
Irontec – Curso Monitorización
21
SAR
● Con SAR podemos almacenar la carga del sistema (tanto de red, como cpu o memoria) y almacenarlo en un fichero binario
● Dicho fichero binario puede leerse con SADF y convertirlo en un .csv
● Vamos a guardar los datos de CPU de un minuto y a continuación crear una gráfica con una herramienta de hoja de cálculo
![Page 22: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/22.jpg)
Irontec – Curso Monitorización
22
Benchmark
● Son herramientas que nos permitirán poner bajo una alta carga nuestros servicios y ver así como responde la máquina
● Estas herramientas deben lanzarse contra máquinas nuestras y a poder ser que no estén en producción
● ¡Si se lanza contra una máquina externa podría verse como un ataque DOS!
![Page 23: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/23.jpg)
Irontec – Curso Monitorización
23
AB
● Apache provee una herramienta para el testeo de rendimiento, Apache Benchmark (ab).
● Nos permite simular miles de accesos● Las opciones más importantes son:
● -n número de conexiones a realizar● -c número de conexiónes concurrentes● -k usar keepalive
![Page 24: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/24.jpg)
Irontec – Curso Monitorización
24
AB
ab -n 1000 -c 10 http://127.0.0.1/● Realiza 1000 conexiones, 10 concurrentes a la URL
indicada:Concurrency Level: 10
Time taken for tests: 0.331 seconds
Complete requests: 1000
Failed requests: 0
● Comparad los datos haciendo solicitudes normales y con keep alive.
● Poned valores exagerados y comprobad como se consumen los recursos del sistema.
![Page 25: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/25.jpg)
Irontec – Curso Monitorización
25
Postal
● Postal nos permitirá enviar miles de correos aleatorios contra una o varias cuentas de nuestro servidor
debian5:~# postal
Usage: postal [-m maximum-message-size] [-M minimum-message-size] [-t threads]
[-c messages-per-connection] [-r messages-per-minute] [-a]
[-b [no]netscape] [-p port] [-[z|Z] debug-file]
[-s ssl-percentage]
[-l local-address] [-f sender-file]
smtp-server user-list-filename
Postal Version: 0.70
![Page 26: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/26.jpg)
Irontec – Curso Monitorización
26
Iperf
● Es una aplicación cliente/servidor para comprobar el rendimiento de la red entre dos equipos
● El servidor se queda escuchando en el puerto 5001● El cliente se conecta y envia datos, dando por
resultado el tiempo que ha necesitado y la velocidad empleada
● Se puede modificar muchos aspectos del test:– MTU máximo– Tamaño del buffer– Lanzar múltiples conexiones en paralelo– ...
![Page 27: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/27.jpg)
Irontec – Curso Monitorización
27
Monitorización de servicios
● HTTP (Apache, Lighttp), Mysql, Postfix...● Son servicios muy dependientes de la memoria
RAM y la lectura de disco duro● Si se quedan sin RAM, usará Swap. Irá lento y las
conexiónes se encolarán, consumiendo más y más y más...
![Page 28: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/28.jpg)
Irontec – Curso Monitorización
28
Monitorización de servicios
● Existen fenómenos llamados “Efectos Slashdot” o aquí más conocidos como “Efecto meneame”
● Cuando una web alojada en tus servidores es enlazada en una web con un tráfico infinitamente superior al tuyo, te provocarán una Denegación de Servicio (no siempre tiene que ser con mala intención)
● Estas herramientas nos ayudarán a ver el estado del servicio y comprobar el origen del problema
![Page 29: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/29.jpg)
Irontec – Curso Monitorización
29
ApacheTOP
● El TOP de Apache :-)
![Page 30: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/30.jpg)
Irontec – Curso Monitorización
30
MOD_STATUS
● Módulo de Apache para comprobar el estado del servicio
![Page 31: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/31.jpg)
Irontec – Curso Monitorización
31
Awstats
● Otra forma de ver los logs :)
![Page 32: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/32.jpg)
Irontec – Curso Monitorización
32
Awstats
● Awstats es un script en perl que lee nuestros logs y nos genera gráficas de accesos.
● Entre la información que se muetra está:– Visitas por día, mes, semana...– Ips de origen– URL de origen desde la que nos visitan– Navegador utilizado– País de procedencia del visitante– Documentos más vistos– Palabras usadas en los motores de busqueda– Sistema operativo– ....
![Page 33: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/33.jpg)
Irontec – Curso Monitorización
33
Awstats
● La instalación se puede hacer desde apt.apt-get install awstats
● El fichero de configuración se encuentra en /etc/awstats/awstats.conf
● El CGI se encuentra en/usr/lib/cgi-bin/awstats.pl
● Las estadisticas se actualizan cada 10 minutos mediante una tarea programada.
![Page 34: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/34.jpg)
Irontec – Curso Monitorización
34
Awstats
● Es posible configurar estadísticas para distintos dominios.
● Soporta muchos tipos de logs y es configurable. El soporte para los logs de Apache funciona por defecto.
● Si hemos modificado los logs de Apache para tener unos personalizados, será necesario configurar Awstats para que conozca el formato de los logs.
![Page 35: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/35.jpg)
Irontec – Curso Monitorización
35
Awstats
● Tenemos que instalar awstats y configurarlo para ver los logs de acceso a nuestro blog.
● Para tener algo que ver, necesitamos generar visitas...
● Awstats será accesible desde http://miblog.com/cgi-bin/awstats.pl
![Page 36: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/36.jpg)
Irontec – Curso Monitorización
36
MyTOP
● El TOP de MySQL :-)
![Page 37: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/37.jpg)
Irontec – Curso Monitorización
37
Mailgraph
![Page 38: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/38.jpg)
Irontec – Curso Monitorización
38
Queuegraph
![Page 39: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/39.jpg)
Irontec – Curso Monitorización
39
Couriergraph
![Page 40: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/40.jpg)
Irontec – Curso Monitorización
40
Bindgraph
![Page 41: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/41.jpg)
Irontec – Curso Monitorización
41
Bindgraph
● En primer lugar es necesario logear las peticiones DNS. Un ejemplo:http://paulocolomes.blogspot.com/2007/05/configuracin-de-un-servidor-dns-con.html
● El script para controlar el demonio encargado de leer los logs y crear las gráficas se encuentra en:
– /etc/init.d/bindgraph
● Tendremos que hacernos un script para crear peticiones DNS :)
![Page 42: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/42.jpg)
Irontec – Curso Monitorización
42
Mailwatch
![Page 43: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/43.jpg)
Irontec – Curso Monitorización
43
NAGIOS
● Es un sistema Open Source de monitorización de sistemas, redes, hardware, etc.
● Es muy muy completo, por lo que su configuración es ligeramente complicada
● Existen interfaces Web como Centreon que nos ayudan a configurarlo a base de clicks de ratón
● Si algo se cae, nos llega un email :)
![Page 44: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/44.jpg)
Irontec – Curso Monitorización
44
NAGIOS
● El funcionamiento básico es:– Definimos un HOST– Definimos un servicio y lo asociamos al HOST– Añadimos un contacto al HOST– Añadimos un contacto al servicio
● Si un servicio no responde, se comprueba el HOST– Si el HOST no responde, se avisa al contacto del HOST– Si el HOST responde es el servicio el que se ha caido,
se avisa al contacto del Servicio● Existen combinaciones mucho más complejas, pero
el funcionamiento más básico es el indicado
![Page 45: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/45.jpg)
Irontec – Curso Monitorización
45
NAGIOS
● Imaginemos un CPD con 50 servidores y 100 servicios
● ¿Si se cae el ADSL, cuantos avisos recibiremos?
![Page 46: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/46.jpg)
Irontec – Curso Monitorización
46
NAGIOS
● Tenemos Parent Host y Child Host para definir las jerarquias
● De la misma forma, tenemos Parent Service y Child Service
● En el ejemplo anterior, creamos un Host que compruebe el ADSL (con un servicio asociado que puede ser un ping)
● Si el ADSL se cae, recibimos un aviso, no 50 (todos los hosts sin conexión)
![Page 47: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/47.jpg)
Irontec – Curso Monitorización
47
NAGIOS
● Para conectarnos a un host remoto se suelen usar dos sistemas principalmente:
– NRPE: Un demonio que habrá que instalar en los servidores monitorizados. Recibe las peticiones de Nagios y ejecuta un script devolviendo un valor.
– SSH: Se conecta mediante SSH y ejecuta un comando que devuelve un valor. Para este funcionamiento es necesario que Nagios acceda a todos los servidores por clave pública.
– NCSA: Los hosts monitorizados envian los datos de los chequeos a Nagios (chequeos pasivos)
![Page 48: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/48.jpg)
Irontec – Curso Monitorización
48
NAGIOS
● Así se definiría un HOST en Nagios:define host{host_name xen.irontec.comalias xenaddress 10.10.0.13check_command check_host_alivemax_check_attempts 5check_period 24x7contact_groups Supervisorscontacts Administrador Irontecnotification_interval 60notification_period 24x7notification_options d,u}
![Page 49: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/49.jpg)
Irontec – Curso Monitorización
49
NAGIOS
● Así se definiría un Servicio en Nagios:define service{host_name xen.irontec.comservice_description pingcheck_command check_host_alivemax_check_attempts 1normal_check_interval 60retry_check_interval 5check_period 24x7notification_interval 60notification_period 24x7notification_options w,ucontact_groups Supervisors}
![Page 50: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/50.jpg)
Irontec – Curso Monitorización
50
NAGIOS
● ¿Comandos check_ping?● Los servicios llevan asociado un comando, que será
el encargado de comprobar un servicio.– check_ping– check_tcp– check_http– check_pop3
define command{
command_name check_centreon_ping
command_line $USER1$/check_centreon_ping -H $HOSTADDRESS$ -n $ARG1$ -w $ARG2$ -c $ARG3$
}
![Page 51: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/51.jpg)
Irontec – Curso Monitorización
51
CENTREON
● Si no quieres pelearte con los ficheros de Nagios, existen interfaces Web que nos pueden ayudar
http://www.centreon.com
● Permite definir contactos, hosts, servicios, comandos, etc. a golpe de click
● Tenemos gráficas, reportes, estadísticas, etc.
![Page 52: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/52.jpg)
Irontec – Curso Monitorización
52
CENTREON
![Page 53: Monitorizacion](https://reader034.vdocumento.com/reader034/viewer/2022052600/557acd48d8b42add288b4a6a/html5/thumbnails/53.jpg)
Irontec – Curso Monitorización
53
Instalar OREON y CENTREON
● Existe un manual en la propia página web de centreon:
http://en.doc.centreon.com/Setup:Debian/Ubuntu
● Explica como instalar Nagios y Centreon :)
● El objetivo será instalarlo en nuestro equipos y monitorizar los equipos de los compañeros