Nuestros sistemas Linux ejecutan la utilidad logwatch (8) de forma predeterminada. En un sistema RedHat / CentOS / SL, el /etc/cron.daily/
cronjob llama a Logwatch , que luego envía un correo electrónico diario con los resultados. Estos correos electrónicos tienen un tema como:
Subject: Logwatch for $HOSTNAME
El problema es que, por defecto, estos correos electrónicos diarios son demasiado ruidosos y contienen mucha información superflua (errores HTTP, uso diario del disco, etc.) que otros servicios ya supervisan (Nagios, Cacti, syslog central, etc.). Para 100 sistemas, la carga del correo electrónico es insoportable. La gente ignora los correos electrónicos, lo que significa que podemos pasar por alto los problemas que registra Logwatch.
¿Cómo puedo reducir la cantidad de ruido generado por logwatch, pero seguir usando logwatch para notificarnos sobre problemas importantes?
Publicaré mi propia respuesta a continuación, pero me gustaría ver lo que otros han hecho.
Nota : Tengo una pregunta similar con respecto a FreeBSD, en FreeBSD: periódico (8) es demasiado ruidoso. ¿Cómo puedo controlar el nivel de ruido?
fuente
Sí, logwatch a menudo es demasiado ruidoso. Ya mencionaste deshabilitar los cheques por completo.
Si no desea hacerlo, debe evitar que aparezcan ciertos eventos. Por ejemplo, no es interesante si nagios se conecta a través de ssh a un sistema DMZ. Pero es interesante si hay otros inicios de sesión a través de ssh.
Usamos rsyslog en lugar de ksyslogd (primero instalamos rsyslog, luego eliminamos ksyslogd). Con rsyslog puede ajustar lo que va a los registros y lo que no (por ejemplo, crear una expresión que elimine los mensajes de sshd que mantienen "nagios conectados"). De esa forma, logwatch informará solo información útil.
Otro caso podría ser xinetd: no quiero que me informen sobre las conexiones exitosas; esto se puede configurar en xinetd itselv, sin deshabilitar logwatch-check para xinetd.
fuente
Como punto de interés, seguí la opción 2 de la respuesta de Stefan Lasiewski, pero para mis propósitos solo quería incluir líneas específicas en lugar de excluir todo el ruido que no quería.
Estaba configurando vsftpd, así que creé
/etc/logwatch/conf/services/vsftpd.conf
y, en lugar de usar algo como lo*Remove = testuser
que elimina las filas que incluyen el textotestuser
, usé la línea*OnlyContains = "testuser"
que solo devuelve filas que incluyen ese texto.Estos 2 scripts funcionan básicamente usando
grep
ygrep -v
.La diferencia es que puedes usar
*Remove
tantas veces como quieras pero*OnlyContains
debes usarlo una vez si quieres algo o algo más. Entonces, para múltiples valores que haces*OnlyContains = "testuser|testuser2|testuser3"
fuente
¿Ha considerado canalizar los mensajes de estado del correo electrónico a un servidor de listas, tal vez uno que pueda proporcionar resúmenes basados en atributos programables de tamaño y / o duración / edad? El enfoque no reduce la cantidad de registros que se envían por correo electrónico, pero puede controlar la cantidad de correos electrónicos individuales por lotes para reducir la frecuencia de los correos electrónicos.
fuente
Recientemente necesité silenciar la salida del servicio sshd. Algunas de las secciones eran bastante largas y no podían controlarse estableciendo el nivel de detalle.
No es una solución ideal, pero terminé anulando el script sshd copiándolo de aquí:
/usr/share/logwatch/scripts/services/sshd
a aquí:/etc/logwatch/scripts/services/sshd
Por supuesto, ahora tiene que mantenerse al día con las actualizaciones de ese archivo de script, pero le da un control muy fino sobre lo que se genera. Alternativamente, supongo que podría canalizar la salida a
logwatch
través de una herramienta comoawk
osed
quitar lo que no desea, pero eso me pareció más difícil.fuente
Tenía la misma pregunta sobre UNIX y Linux Stackexchange y aquí está la respuesta que me solucionó:
Puede indicarle a logwatch que mire 7 días en lugar de 1 día cambiando el parámetro Range en su
logwatch.conf
:Puede indicar
logwatch
que se ejecute semanalmente en lugar de a diario moviéndolo del directorio cron semanal al directorio diariocron
:Gracias a @JeffSchaller
fuente