Cómo instalar y usar Logwatch Log Analyzer and Reporter en un VPS
Introducción
Las aplicaciones crean lo que se denomina \archivos de registro” para realizar un seguimiento de las actividades que tienen lugar en un momento dado. Estos archivos, que están lejos de ser simples salidas de texto, pueden ser muy complejos de revisar, especialmente si el servidor que se administra es un uno ocupado
Cuando llega el momento de consultar los archivos de registro (por ejemplo, en caso de falla, pérdida de datos, etc.), hacer uso de toda la ayuda disponible se vuelve vital. Ser capaz de comprender rápidamente (analizar) lo que pueden decir con respecto a los eventos pasados y analizar qué sucedió exactamente se vuelve excepcionalmente importante para encontrar una solución.
Siguiendo los pasos de nuestros artículos anteriores sobre el fortalecimiento del sistema Linux, la supervisión de la seguridad y el envío de alertas por correo electrónico, en este artículo de DigitalOcean hablaremos sobre Logwatch: un analizador y analizador de registros muy potente que puede facilitar un poco la vida de cualquier administrador de sistemas dedicado al abordar tareas y problemas relacionados con la aplicación.
Archivos de registro
Al igual que las cajas negras de las naves estelares de Startrek, para mantener los sistemas (es decir, los servidores) en funcionamiento, los administradores incluso hoy en día confían en los registros. Bromas aparte, estos archivos generados por la aplicación juegan un papel decisivo en el seguimiento y la comprensión de lo que sucedió en el pasado [en un momento dado] con el fin de recuperar datos de forma total o parcial (es decir, de los registros del servidor) o enmiendas para el futuro ( por ejemplo, de los registros de acceso).
En pocas palabras, los archivos de registro consistirán en acciones y eventos que tienen lugar dentro de un intervalo de tiempo determinado.
Un buen archivo de registro debe ser lo más detallado posible para ayudar al administrador, que tiene la responsabilidad de mantener el sistema, a encontrar la información exacta necesaria para un fin determinado. Por esta misma razón, los archivos de registro generalmente NO son concisos y contienen muchas repeticiones y muchas (en su mayoría) entradas redundantes que necesitan análisis y filtrado exhaustivos para que tengan sentido para un ser humano.
Aquí es donde entra en juego Logwatch, una aplicación informática diseñada para este trabajo.
Entrar Logwatch
La gestión de registros es un área que consiste principalmente en búsqueda, rotación/retención de registros e informes. Logwatch es una aplicación que ayuda con la administración simple de registros al analizar e informar diariamente un breve resumen de las actividades que tienen lugar en su máquina.
Los informes creados por Logwatch se clasifican por servicios (es decir, aplicaciones) que se ejecutan en su sistema, que se pueden configurar para que consistan en los que desee o en todos juntos modificando su archivo de configuración relativamente simple. Además, Logwatch permite la creación de scripts de análisis personalizados para necesidades específicas.
Instalación de Logwatch
Tenga en cuenta: Logwatch es una aplicación inofensiva que no debería interferir con sus servicios o carga de trabajo actuales. Sin embargo, como siempre, se recomienda que primero lo pruebe en un sistema nuevo y se asegure de realizar copias de seguridad.
En CentOS/RHEL
Es muy sencillo tener Logwatch instalado en un sistema basado en RHEL (por ejemplo, CentOS). Como es una aplicación que consta de varios scripts de Perl, se requieren ciertas dependencias relacionadas. Dado que vamos a utilizar el administrador de paquetes yum, esto se solucionará automáticamente. A menos que ya tenga instalado mailx, Logwatch también lo descargará durante el proceso.
Para instalar Logwatch en CentOS/RHEL, ejecute lo siguiente:
$ yum install -y logwatch
En Ubuntu/Debian
Obtener Logwatch para sistemas basados en Debian (por ejemplo, Ubuntu) es muy similar al proceso explicado anteriormente, aparte de las diferencias en los administradores de paquetes (aptitude vs. yum).
Para instalar Logwatch en Ubuntu/Debian, ejecute lo siguiente:
$ aptitude install -y logwatch
Configuración de Logwatch
Aunque su configuración se puede anular manualmente durante cada ejecución, en general, deseará que Logwatch se ejecute diariamente, utilizando una configuración común.
Establecer las configuraciones comunes de Logwatch
El archivo de configuración predeterminado para Logwatch se encuentra en:
/usr/share/logwatch/default.conf/logwatch.conf
Abramos este archivo usando el editor de texto nano para modificar su contenido:
$ nano /usr/share/logwatch/default.conf/logwatch.conf
Al ejecutar el comando anterior, se encontrará con una larga lista de variables que la aplicación utiliza cada vez que se ejecuta, ya sea de forma automática o manual.
Para comenzar a usarlo, necesitaremos hacer algunos cambios en estos valores predeterminados.
Recuerde que en el futuro, es posible que desee volver para modificar ciertas configuraciones definidas aquí. Todos los servicios (aplicaciones) que son analizados por Logwatch se enumeran en este archivo, como se explicó anteriormente (Configuración #5). A medida que instala o elimina aplicaciones de su servidor virtual, puede continuar recibiendo informes sobre todas o algunas cambiando la configuración aquí (consulte a continuación*).
Las opciones importantes que debemos configurar:
Tenga en cuenta: deberá usar las teclas de flecha para subir o bajar las líneas cuando realice los siguientes cambios en el documento. Una vez que haya terminado de realizar los cambios (elementos 1 a 6), deberá presionar CTRL+X y luego confirmar con Y para guardar y cerrar. Los cambios entrarán en vigencia automáticamente la próxima vez que se ejecute logwatch
.
1. La dirección de correo electrónico a la que se envían los resúmenes diarios (informes):
MailTo = root
Reemplace root
con su dirección de correo electrónico.
Ejemplo: MailTo=sysadmin@mydomain.com
2. La dirección de correo electrónico desde desde la que se originan estos informes:
MailFrom = Logwatch
Es posible que desee reemplazar Logwatch
con el suyo propio nuevamente.
Ejemplo: MailFrom=sysadmin@mydomain.com
3. Configuración del rango para los informes:
Range = yesterday
Tiene opciones de recibir informes para Todos (todos disponibles desde el principio), Hoy (solo hoy) o Ayer (solo ayer).
Ejemplo: Rango=Hoy
4. Configuración de los detalles de los informes:
Detail = Low
Puede modificar el detalle de los informes aquí. Las opciones son: Bajo, Medio y Alto.
Ejemplo: Detalle=Medio
5. Configuración de los servicios (aplicaciones) a analizar:
Por defecto, Logwatch cubre una gama muy amplia de servicios. Si desea ver una lista completa, puede consultar el contenido del archivo scripts/services
ubicado en /usr/share/logwatch/
.
Ejemplo: ls -l /usr/share/logwatch/scripts/services
Service = All
Puede optar por recibir informes de todos los servicios o de algunos específicos.
Para todos los servicios, mantenga la línea como: Service=All
Si desea recibir informes para servicios específicos, modifíquelo de manera similar al siguiente ejemplo, enumerando cada servicio en una nueva línea (por ejemplo,
Ejemplo:
Service = sendmail
Service = http
Service = identd
Service = sshd2
Service = sudo
..
6. Deshabilitar informes diarios:
# DailyReport = No
Si no desea que se generen informes diarios, debe descomentar esta línea.
Ejemplo: DailyReport=No
en lugar de # DailyReport=No
¡Y eso es! Después de realizar estos cambios, recibirá informes diarios basados en archivos de registro de su servidor automáticamente.
Para obtener más información sobre Logwatch y crear servicios personalizados para recibir informes, puede visitar su documentación completa haciendo clic aquí.
Ejecutar Logwatch manualmente
Cabe mencionar que tienes la opción de ejecutar Logwatch manualmente siempre que lo necesites a través de la línea de comandos.
Aquí están las opciones disponibles [de la documentación]:
logwatch [--detail level ] [--logfile log-file-group ] [--service service-name ] [--print]
[--mailto address ] [--archives] [--range range ] [--debug level ] [--save file-name ]
[--logdir directory ] [--hostname hostname ] [--splithosts] [--multiemail] [--output output-
type ] [--numeric] [--no-oldfiles-log] [--version] [--help|--usage]
A menos que especifique una opción, se leerá desde el archivo de configuración.
Ejemplo:
$ logwatch --detail Low --mailto email@address --service http --range today
Y así es como puede verse un informe de Logwatch:
################### Logwatch 7.3.6 (05/19/07) ####################
Processing Initiated: Wed Nov 15 15:07:00 2013
Date Range Processed: today
( 2013-Nov-15 )
Period is day.
Detail Level of Output: 0
Type of Output: unformatted
Logfiles for Host: host_name
##################################################################
--------------------- Postfix Begin ------------------------
3.453K Bytes accepted 3,536
3.453K Bytes delivered 3,536
======== ================================================
3 Accepted 100.00%
-------- ------------------------------------------------
3 Total 100.00%
======== ================================================
3 Removed from queue
2 Delivered
1 Sent via SMTP
1 Connection failure (outbound)
1 Postfix start
---------------------- Postfix End -------------------------
--------------------- Connections (secure-log) Begin ------------------------
New Users:
apache (48)
New Groups:
apache (48)
**Unmatched Entries**
groupadd: group added to /etc/group: name=apache, GID=48: 1 Time(s)
groupadd: group added to /etc/gshadow: name=apache: 1 Time(s)
---------------------- Connections (secure-log) End -------------------------
--------------------- SSHD Begin ------------------------
SSHD Started: 2 Time(s)
Users logging in through sshd:
root:
ip_addr (ip_addr): 1 time
---------------------- SSHD End -------------------------
--------------------- yum Begin ------------------------
Packages Installed:
apr-1.3.9-5.el6_2.x86_64
apr-util-1.3.9-3.el6_0.1.x86_64
perl-YAML-Syck-1.07-4.el6.x86_64
4:perl-5.10.1-131.el6_4.x86_64
mailx-12.4-6.el6.x86_64
1:perl-Pod-Simple-3.13-131.el6_4.x86_64
1:perl-Pod-Escapes-1.04-131.el6_4.x86_64
3:perl-version-0.77-131.el6_4.x86_64
httpd-2.2.15-29.el6.centos.x86_64
4:perl-libs-5.10.1-131.el6_4.x86_64
mailcap-2.1.31-2.el6.noarch
perl-Date-Manip-6.24-1.el6.noarch
1:perl-Module-Pluggable-3.90-131.el6_4.x86_64
httpd-tools-2.2.15-29.el6.centos.x86_64
apr-util-ldap-1.3.9-3.el6_0.1.x86_64
logwatch-7.3.6-49.el6.noarch
---------------------- yum End -------------------------