Diferencia entre revisiones de «Estado del Sistema»
(Estado del sistema) |
|||
Línea 1: | Línea 1: | ||
+ | == Objetivos == | ||
+ | |||
+ | #Obtener información del estado del sistema. | ||
+ | #Configurar un analizador del logs para recibir reportes diarios de estado del sistema. | ||
+ | |||
== Borrador == | == Borrador == | ||
Línea 4: | Línea 9: | ||
Comandos: dmesg, uptime, last | Comandos: dmesg, uptime, last | ||
− | Logs: en /var/log; principales: messages, kern, syslog, auth.log, user.log, daemon.log, debug; todos pueden ser importantes según lo que se esté buscando. | + | Logs: en /var/log; principales: messages, kern, syslog, auth.log, user.log, daemon.log, debug; |
+ | todos pueden ser importantes según lo que se esté buscando. | ||
Para ver en tiempo real qué está pasando: tail -f /var/log/<nombre archivo de log>, redirige al terminal los mensajes de log, se van viendo a medida que aparecen, Ctrl-C para terminar el tail -f. | Para ver en tiempo real qué está pasando: tail -f /var/log/<nombre archivo de log>, redirige al terminal los mensajes de log, se van viendo a medida que aparecen, Ctrl-C para terminar el tail -f. | ||
Línea 26: | Línea 32: | ||
- /etc/logrotate.conf Configuration options. | - /etc/logrotate.conf Configuration options. | ||
− | |||
− | |||
− | |||
== Software == | == Software == | ||
Línea 146: | Línea 149: | ||
== Referencias == | == Referencias == | ||
+ | |||
+ | Créditos: Marcos Rodríguez | ||
http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/administracion-avanzada-del-sistema-operativo-gnu-linux/materiales/ | http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/administracion-avanzada-del-sistema-operativo-gnu-linux/materiales/ | ||
+ | |||
http://www.stellarcore.net/logwatch/tabs/docs/HOWTO-Customize-LogWatch.htm | http://www.stellarcore.net/logwatch/tabs/docs/HOWTO-Customize-LogWatch.htm | ||
+ | |||
http://www.juanfelipe.net/node/35 | http://www.juanfelipe.net/node/35 |
Revisión del 00:48 10 nov 2011
Objetivos
- Obtener información del estado del sistema.
- Configurar un analizador del logs para recibir reportes diarios de estado del sistema.
Borrador
- Examinar estado del sistema:
Comandos: dmesg, uptime, last Logs: en /var/log; principales: messages, kern, syslog, auth.log, user.log, daemon.log, debug;
todos pueden ser importantes según lo que se esté buscando.
Para ver en tiempo real qué está pasando: tail -f /var/log/<nombre archivo de log>, redirige al terminal los mensajes de log, se van viendo a medida que aparecen, Ctrl-C para terminar el tail -f.
- Uso de memoria. Comandos: top, free, vmstat.
Directorios: /proc, /sys; man proc, no hay man para sys.
Log diario automático: paquete logwatch, requiere ajustar en cron la ejecución diaria y la lista de destinatarios (direcciones de correo electrónico de usuarios administradores; requiere un sistema de correo instalado y funcionando, exim).
- El sistema de log:
Sistema anterior: syslogd, configuración en /etc/syslog.conf Sistema actual: rsyslogd - rsyslogd - reliable and extended syslogd - rsyslog.conf - rsyslogd(8) configuration file
Rotación de logs: Comando: logrotate Archivos: - /var/lib/logrotate.status Default state file. - /etc/logrotate.conf Configuration options.
Software
- "Logwatch": analizador de estado del sistema.
Procedimiento
Estado del sistema
En el arranque de un sistema GNU/Linux se produce un volcado de información interesante acerca de las caractrística de la máquina, dispositivos, arranque de servicios, etc y se menciona además los problemas que aparecen.
Herramientas para acceder a esta información:
- Comando dmesg: da los mensajes del último arranque del kernel.
- Comando uptime: indica cuanto tiempo hace que el sistema está activo.
- Fichero /var/log/messages: log general del sistema, contiene mensajes del kernel y otros daemons, existen varios archivos de log en /var/log.
- Sistema /proc: pseudo sistema de ficheros (procfs) que utiliza el kernel para almacenar información de procesos y de sistema.
- Sistema /sys: pseudo sistema de ficheros (sysfs), contiene información de los dispositivos y controladores.
Logs del sistema
La mayor parte de los logs, se generan en el directorio /var/log. Algunas aplicaciones pueden cambiar este comportamiento.
Existe un daemon particular del sistema llamado Syslogd. Este daemon se encarga de recibir los mensajes del kernel y de otros daemons de servicios y envía la información al fichero /var/log/messages. Éste es el fichero por defecto, pero es configurable (en el fichero /etc/syslog.conf) para lograr generar otros ficheros con información particular, ya sea diferenciando la fuente o el tipo de log (error, advertencias, etc)
Una herramienta útil es utilizar la opción -f del comando tail para que se vaya desplegando en la teminal las modificaciones que se producen en un fichero. Por ejemplo, si queremos saber que está pasando con el correo podemos utilizar los comandos:
$ tail -f /var/log/mail.info $ tail -f /var/log/mail.err $ tail -f /var/log/mail.warn
Otros comandos relacionados:
Comando last: analiza log de entradas/salidas del sistema de los usuarios. Comando lastlog: última vez que los usuarios han sido vistos en el sistema (/var/log/lastlog). Comando logwatch.
Memoria
Para examinar la información sobre memoria veremos varios métodos y comandos útiles:
Fichero /etc/fstab: aparece la partición swap (si es que existe). Con fdisk averiguamos su tamaño o consultando /proc/swaps. Comando ps -axu: permite conocer que procesos tenemos con los porcentajes de memoria usada, CPU, etc. Comando top: versión dinámica de ps. Comando free: estado global de la memoria fisica y virtual. Comando vmstat: estado de la memoria virtual y el uso que se le dá. Algunos paquetes como dstat permite recoger datos de diferentes parámetros (memoria, swap y otros) a intervalos de tiempo (similar a top).
Instalación de Logwatch
$ apt-get install logwatch
Logwatch guarda la información por defecto en el directorio /usr/share/logwatch/default.conf/ , pero este directorio no es necesario modificarlo ya que logwatch también se fija en /etc/logwatch/ y sobrescribe la configuración por defecto. Por lo tanto, directamente creamos el siguiente archivo: /etc/logwatch/conf/logwatch.conf en este vamos a hacer nuestras modificaciones personales, si queremos nuevamente la configuración por defecto, basta con borrar este archivo. Ejemplo de /etc/logwatch/conf/logwatch.conf :
# archivo /etc/logwatch/conf/logwatch.conf # ################################ # Para que logwatch nos mande un reporte por mail Output = mail # Con esto elegimos el formato del reporte (text, html...) Format = html # Dirección de destino del reporte MailTo = tu_correo@tu_servidor.com # Remitente del reporte MailFrom = logwatch # Dia que quiero el reporte (Yesterday, Today, all) Range = Yesterday # De que servicios quiero recibir reportes Service = all
Bueno, con esto hacemos que cada vez que ejecutemos el comando "logwatch" recibamos un mail con el reporte. Para recibir diariamente sin tener que ingresar a la máquina vamos a editar el archivo /etc/cron.daily/00logwatch y agregamos la siguiente línea:
/usr/sbin/logwatch --mailto tu_correo@tu_servidor.com
Guardamos los cambios y listo, recibiremos todos los días un reporte de logwatch.
NOTA IMPORTANTE: hay que tener un agente de correo configurado y funcionando.
Notas adicionales
- Configuración de Postfix para que envíe correo
En el archivo de configuración /etc/postfix/main.cf hay que completar con la siguiente información:
myorigin = tu_dominio.com mydomain = $myorigin myhostname = nombre_de_maquina.$mydomain mydestination = $mydomain, $myhostname, localhost.$mydomain, localhost relayhost = # Cuando no tiene nada este campo, es la propia máquina quien envía inet_interfaces = all home_mailbox = Mail/ # Hay que crear este directorio
Comandos útiles:
$ /etc/init.d/postfix start $ /etc/init.d/postfix stop $ /etc/init.d/postfix restart
Logs útiles:
/var/log/mail.info /var/log/mail.err /var/log/mail.warn
Referencias
Créditos: Marcos Rodríguez
http://www.stellarcore.net/logwatch/tabs/docs/HOWTO-Customize-LogWatch.htm