¿Registros de monitor de Linux y alertas de correo electrónico?

13

Tengo un servidor con un botón de encendido defectuoso al que le gusta reiniciarse. Por lo general, hay signos de advertencia, como que el archivo de registro de acpid en / var / log comienza a enviar basura basura durante aproximadamente 10 horas más o menos.

¿Hay alguna manera fácil de hacer que algo monitoree el registro acpid y me envíe un correo electrónico cuando tenga una nueva actividad?

No me consideraría extremadamente avanzado, por lo que cualquier "guía" que pueda tener para lograr algo como esto sería muy útil y muy apreciada. ¡Gracias!

Physikal
fuente
¿Cambiar el botón de encendido y / o el servidor es una solución plausible?
Meetai.com

Respuestas:

19

Podrías usar algo como LogWatch . O incluso un script simple como este (es un pseudocódigo que deberá modificar para su entorno):

 #!/bin/bash
 GREP_STRING=`grep -c <error string> <acpid log location>`
 if [ $GREP_STRING -ne 0 ] 
 then
    <send email notification>
 fi

Ponga eso en cron para que se ejecute cada hora más o menos y debería recibir un correo electrónico que le avise cuando se está volviendo extraño.

Zypher
fuente
1
Logwatch funciona muy bien para mí.
J.Zimmerman
3
El problema con este guión es que va a enviar el mismo error una y otra vez hasta que el archivo se rotada
Chmeee
En Ubuntu / Debian logwatch se puede instalar con: aptitude install -y logwatch
Meetai.com
8

Puede usar OSSEC HIDS para configurar reglas en los archivos de registro y, al mismo tiempo, obtener información de seguridad de su host.

Configurarlo es muy fácil:

  • Descargar la fuente
  • Descomprímalo y ejecute ./install.sh
  • Elija instalación local
  • Responda las preguntas (correo electrónico, cheques, etc.)
  • Edite /var/ossec/rules/local_rules.xmlcomo se especifica a continuación
  • Inicie OSSEC con /var/ossec/bin/ossec-control start

local_rules.xml

<group name="local,syslog,">
  <rule id="100001" level="13">
    <regex>^.*Your string.*$</regex>
    <description>I've just picked up a fault in the AE35 unit. It's going to go 100% failure in 72 hours</description>
  </rule>
</group>

Las reglas pueden ser muy flexibles y complejas. Consulte esta tabla para tener una idea de los parámetros involucrados en una regla.

Si no desea o necesita las otras funciones de seguridad, puede desactivarlas quitando las includelíneas debajo de la rulesetiqueta.

chmeee
fuente
3

Y puedes enviarlo con algo como esto:

EMAILMSG="/tmp/logreport.$$"
echo "Something to put in the email" >> $EMAILMSG

cat $EMAILMSG | mail -s "Whatever Subject You Like" [email protected]
rm -f $EMAILMGS
Zapato
fuente
3

Estoy usando Zabbix con herramientas IPMI para reiniciar los servidores defectuosos a pedido. Además, creo que OSSEC también es una buena opción, pero realmente necesitas experimentar y depurar antes de ponerlo en producción ...

edomaur
fuente
3

Descargue e instale Splunk en el servidor. Es similar a logwatch, pero le proporciona un motor de búsqueda para sus registros.

Puede configurarlo para indexar sus registros, luego puede buscar los registros y encontrar patrones, encontrar los errores y luego ver qué están haciendo otros registros en ese punto específico de falla.

También se puede configurar para enviar alertas o ejecutar scripts en ciertos umbrales. Por lo tanto, si un error en particular comienza a enviarse spam a su registro, puede escribirlo para reiniciar automáticamente el servicio ofensivo.

¡Utilizamos splunk en nuestro clúster de servidores y ha sido un salvavidas!

Amish Geek
fuente
+1 para Splunk se ve bastante bien. Lo intentaré más tarde esta noche.
Mark Davidson el
1

En un empleador anterior, utilizamos logsurfer + para monitorear registros en tiempo real y enviar alertas por correo electrónico. Se necesita mucho tiempo y configuración para sintonizar los falsos positivos, pero teníamos un conjunto de reglas que funcionó bastante bien para una variedad de hallazgos y alertas, mucho más valioso que Nagios para propósitos similares.

Desafortunadamente, ya no tengo acceso al archivo de configuración para proporcionar muestras de lo que filtramos, pero el sitio debería proporcionar más información y ejemplos.

jtimberman
fuente
0

También puedes echar un vistazo a mi proyecto Octopussy .

sebthebert
fuente