Journaux de surveillance Linux et alertes par e-mail?

13

J'ai un serveur avec un bouton d'alimentation défectueux qui aime se redémarrer. Habituellement, il y a des signes d'avertissement, comme le fichier journal acpid dans / var / log commence à spammer les ordures pendant environ 10 heures.

Existe-t-il un moyen simple de surveiller le journal acpid et de m'envoyer un e-mail lorsqu'il a une nouvelle activité?

Je ne me considérerais pas comme extrêmement avancé, donc tout "guide" que vous pourriez avoir pour accomplir quelque chose comme ça serait très utile et très apprécié. Je vous remercie!

Physikal
la source
Changer le bouton d'alimentation et / ou le serveur est-il une solution plausible?
Meetai.com

Réponses:

19

Vous pouvez utiliser quelque chose comme LogWatch . Ou même un simple script comme celui-ci (c'est un pseudo-code dont vous aurez besoin de le modifier pour votre environnement):

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

Mettez-le dans cron pour qu'il s'exécute toutes les heures environ et vous devriez recevoir un e-mail vous informant quand il devient bizarre.

Zypher
la source
1
logwatch fonctionne très bien pour moi.
J.Zimmerman
3
Le problème avec ce script est qu'il enverra la même erreur encore et encore jusqu'à ce que le fichier soit tourné
chmeee
Sur Ubuntu / Debian, logwatch peut être installé avec: aptitude install -y logwatch
Meetai.com
8

Vous pouvez utiliser OSSEC HIDS pour configurer des règles sur les fichiers journaux et, en même temps, obtenir des informations de sécurité de votre hôte.

La configuration est très simple:

  • Téléchargez la source
  • Décompressez-le et exécutez ./install.sh
  • Choisissez l'installation locale
  • Répondez aux questions (email, chèques, etc.)
  • Modifier /var/ossec/rules/local_rules.xmlcomme spécifié ci-dessous
  • Démarrer OSSEC avec /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>

Les règles peuvent être très flexibles et complexes. Consultez ce tableau pour vous faire une idée des paramètres impliqués dans une règle.

Si vous ne voulez pas ou n'avez pas besoin des autres fonctionnalités de sécurité, vous pouvez les désactiver en supprimant les includelignes sous la rulesbalise.

chmeee
la source
5

Je suggérerais à Nagios ce que nous exécutons là où je travaille pour surveiller plusieurs machines avec un réseau. C'est très bien, je ne l'ai pas utilisé spécifiquement pour ce que vous faites, mais vous pouvez certainement le configurer pour vous envoyer un e-mail lorsque des erreurs se produisent.

Il y a un guide ici pour l'installer sur Ubuntu http://beginlinux.com/blog/2008/11/install-nagios-3-on-ubuntu-810/ et un ici pour l'installer sur http: //www.debianhelp. co.uk/nagiosinstall.htm .

Mark Davidson
la source
3

Et vous pouvez l'envoyer avec quelque chose comme ceci:

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

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

J'utilise Zabbix avec les outils IPMI pour redémarrer les serveurs défectueux à la demande. De plus, je pense que OSSEC est aussi un bon choix, mais vous devez vraiment expérimenter et déboguer avant de le mettre en prod ...

edomaur
la source
3

Téléchargez et installez Splunk sur le serveur. Il est similaire à logwatch, mais vous fournit un moteur de recherche pour vos journaux.

Vous pouvez le configurer pour indexer vos journaux, vous pouvez ensuite rechercher les journaux et rechercher des modèles, rechercher les erreurs, puis regarder ce que font les autres journaux à ce point d'échec spécifique.

Il peut également être configuré pour envoyer des alertes ou exécuter des scripts à certains seuils. Donc, si une erreur particulière commence à être spammée dans votre journal, vous pouvez l'écrire pour redémarrer automatiquement le service incriminé.

Nous utilisons splunk dans notre cluster de serveurs et cela nous a sauvé la vie!

Amish Geek
la source
+1 pour Splunk, ça a l'air plutôt bien, je vais essayer plus tard ce soir.
Mark Davidson
1

Chez un ancien employeur, nous avons utilisé logsurfer + pour surveiller les journaux en temps réel et envoyer des alertes par e-mail. Il faut beaucoup de temps et de configuration pour rechercher les faux positifs, mais nous avions un ensemble de règles qui fonctionnait assez bien pour une variété de résultats et d'alertes, bien plus précieux que Nagios à des fins similaires.

Malheureusement, je n'ai plus accès au fichier de configuration pour fournir des exemples de ce que nous avons filtré, mais le site devrait fournir plus d'informations et d'exemples.

jtimberman
la source
0

Vous pouvez également jeter un œil à mon projet Octopussy .

sebthebert
la source