Академический Документы
Профессиональный Документы
Культура Документы
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 bsicos de consola (grep, cat, tail, awk, sed, etc.) A veces si los logs crecen muy rpido, es necesario una herramienta ms visual para tener una visin mas global Syslog y Rsyslog son los demonios encargados de este trabajo
Logs de sistema
En Debian Etch (4.0) el demonio por defecto era syslog Ahora, en la nueva versin estable Debian Lenny (5.0) es rsyslog Rsyslog tiene muchas ms caractersticas y muy modular (filtros, plugins, integracin con bases de datos, etc.) Para logear algo, tan sencillo como:
Logs de sistema
Facility
auth, security authpriv cron daemon ftp kern lpr mail mark (slo para uso interno) news sys-log user uucp
4
Logs de sistema
Levels
debug info notice warning, warn error, err crit alert emerg, panic
Logs de sistema
Cuando los logs crecen mucho es necesario rotarlos Algunos servicios (como versiones antiguas de apache) fallan cuando el tamao del log es de ms de 2 gigas El demonio logrotate crea un nuevo fichero de log vacio y el antiguo lo renombra y comprime /etc/logrotate.conf
Logs de sistema
Nos creamos un script que escriba hola en /var/log/milog.log Debemos crear una rotacin de forma que cada 10 megas el fichero se rote Los logs antiguos debe comprimirlo Suerte :-)
Las distribuciones de GNU/Linux incluyen unos comandos bsicos para gestionar los recursos de la mquina Los recursos ms importantes sern:
Los recursos no son ilimitados, hay que tenerlos controlados en todo momento
Todo equipo informtico tiene su lmite de capacidad Cuando dicho lmite 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!
Si un equipo consume todos los recursos, el sistema puede dejar de funcionar y ser innacesible Causas?
Un ataque de denegacin de servicio Error de programacin en la aplicacin, con memory leaks o bucles infinitos Mala planificacin, tenemos mas carga de trabajo de la que se pens en un principio
Lo primero es saber localizar la causa Para ello nos servirn las herramientas que vamos a ver a lo largo del curso
10
Benchmark de los servicios Logeo de los servicios y almacenamiento de un registro histrico Analisis bajo peticin
11
Comandos bsicos
Existen una serie de comandos bsicos que tenemos en cualquier distribucin de GNU/Linux (y en casi cualquier UNIX) que nos ayudarn 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 ms bsicos hasta los ms completos Hay miles!
12
FREE
FREE
13
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 ms rpida que el Disco Duro. Nunca deberamos tener Swap en uso! Mientras eso sea as todo va bien.
14
TOP
TOP
15
TOP
Top nos permite ver en tiempo real los procesos que estn corriendo en el sistema Podemos matarlos, cambiar el nice, ordenar las columnas, quitar o aadir columnas, etc. Si lo que queremos es saber que proceso es el que ms memoria ocupa, debemos ordenar la columna de uso de memoria, de mayor a menor Tenemos una chuleta de ayuda pulsando ?
16
HTOP
HTOP
17
HTOP
HTOP es bsicamente lo mismo que TOP, pero mejorado Su uso es mucho ms sencillo Tenemos grficas de uso de CPU Es muy personalizable
18
Uso de CPU
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)
19
Systat
Systat es un paquete que incluye varias herramientas ms para comprobar los recursos del sistema
Iostat: uso de CPU y estdistica I/O de discos Mpstat: estadsticas globales y por procesador Pidstat: estadsticas de procesos Sar: almacena la actividad del sistema Sadf: muestra los datos de Sar en distintos formatos
20
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 continuacin crear una grfica con una herramienta de hoja de clculo
21
Benchmark
Son herramientas que nos permitirn poner bajo una alta carga nuestros servicios y ver as como responde la mquina Estas herramientas deben lanzarse contra mquinas nuestras y a poder ser que no estn en produccin Si se lanza contra una mquina externa podra verse como un ataque DOS!
22
AB
Apache provee una herramienta para el testeo de rendimiento, Apache Benchmark (ab). Nos permite simular miles de accesos Las opciones ms importantes son:
23
AB
Comparad los datos haciendo solicitudes normales y con keep alive. Poned valores exagerados y comprobad como se consumen los recursos del sistema.
24
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
25
Iperf
Es una aplicacin 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 mximo Tamao del buffer Lanzar mltiples conexiones en paralelo ...
26
Monitorizacin 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 conexines se encolarn, consumiendo ms y ms y ms...
27
Monitorizacin de servicios
Existen fenmenos llamados Efectos Slashdot o aqu ms conocidos como Efecto meneame Cuando una web alojada en tus servidores es enlazada en una web con un trfico infinitamente superior al tuyo, te provocarn una Denegacin de Servicio (no siempre tiene que ser con mala intencin) Estas herramientas nos ayudarn a ver el estado del servicio y comprobar el origen del problema
28
ApacheTOP
29
MOD_STATUS
30
Awstats
31
Awstats
Awstats es un script en perl que lee nuestros logs y nos genera grficas de accesos. Entre la informacin que se muetra est:
Visitas por da, mes, semana... Ips de origen URL de origen desde la que nos visitan Navegador utilizado Pas de procedencia del visitante Documentos ms vistos Palabras usadas en los motores de busqueda Sistema operativo ....
32
Awstats
La instalacin se puede hacer desde apt. apt-get install awstats El fichero de configuracin 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.
33
Awstats
Es posible configurar estadsticas 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.
34
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
35
MyTOP
36
Mailgraph
37
Queuegraph
38
Couriergraph
39
Bindgraph
40
Bindgraph
El script para controlar el demonio encargado de leer los logs y crear las grficas se encuentra en: /etc/init.d/bindgraph Tendremos que hacernos un script para crear peticiones DNS :)
41
Mailwatch
42
NAGIOS
Es un sistema Open Source de monitorizacin de sistemas, redes, hardware, etc. Es muy muy completo, por lo que su configuracin es ligeramente complicada Existen interfaces Web como Centreon que nos ayudan a configurarlo a base de clicks de ratn Si algo se cae, nos llega un email :)
43
NAGIOS
Definimos un HOST Definimos un servicio y lo asociamos al HOST Aadimos un contacto al HOST Aadimos un contacto al servicio 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
44
NAGIOS
Imaginemos un CPD con 50 servidores y 100 servicios Si se cae el ADSL, cuantos avisos recibiremos?
45
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 conexin)
46
NAGIOS
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 pblica. NCSA: Los hosts monitorizados envian los datos de los chequeos a Nagios (chequeos pasivos)
47
NAGIOS
define host{ host_name xen.irontec.com alias xen address 10.10.0.13 check_command check_host_alive max_check_attempts 5 check_period 24x7 contact_groups Supervisors contacts Administrador Irontec notification_interval 60 notification_period 24x7 notification_options d,u }
48
NAGIOS
define service{ host_name xen.irontec.com service_description ping check_command check_host_alive max_check_attempts 1 normal_check_interval 60 retry_check_interval 5 check_period 24x7 notification_interval 60 notification_period 24x7 notification_options w,u contact_groups Supervisors }
49
NAGIOS
Comandos check_ping? Los servicios llevan asociado un comando, que ser el encargado de comprobar un servicio.
define command{ command_name check_centreon_ping command_line $USER1$/check_centreon_ping -H $HOSTADDRESS$ -n $ARG1$ -w $ARG2$ -c $ARG3$ }
50
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 grficas, reportes, estadsticas, etc.
51
CENTREON
52
Explica como instalar Nagios y Centreon :) El objetivo ser instalarlo en nuestro equipos y monitorizar los equipos de los compaeros
53