2017-02-15 1 views
0

J'utilise sensu pour suivre les alertes de fichiers journaux. J'ai besoin de suivre auth.log. J'ai utilisé ce qui suit dans mon config.json.check-log plugin pointant vers /var/cache/check-log/default/var/log/auth.log au lieu de /var/log/auth.log

"commande"

: "sudo /etc/sensu/plugins/check-log.rb -f /var/log/auth.log -q 'fatale' -c 1"

I J'espère suivre hack tentatives faites à ce serveur, mais la commande sensu elle-même entre dans le auth.log, ce qui en fait un problème de poule-oeuf.

Dans le auth.log

sudo: sensu : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/etc/sensu/plugins/check-log.rb -f /var/log/auth.log -q fatal -c 1 

Comment puis-je exécuter des commandes et d'éviter la sensu commande suivi dans auth.log. Ou puis-je rediriger sensu auth vers un autre fichier?

EDIT

Pour résoudre ce problème, j'ai ajouté sensu utilisateur adm groupe. Et supprimé les entrées de sudo visudo pour l'utilisateur sensu. Maintenant, je ne suis toujours pas capable d'obtenir sensu à signaler. Weird, message d'erreur que je reçois

Check n'a pas réussi à exécuter: Permission refusée @ rb_sysopen - /var/cache/check-log/default/var/log/auth.log, [ "/ etc/sensu/plugins/check-log.rb: 208: dans initialize'", "/etc/sensu/plugins/check-log.rb:208:in ouvrir '"," /etc/sensu/plugins/check-log.rb:208:in search_log'", "/etc/sensu/plugins/check-log.rb:134:in bloquer dans run' ","/etc/sensu/plugins/check-log. rb: 128: dans each'", "/etc/sensu/plugins/check-log.rb:128:in run '"," /opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugin-1.4.0/lib/sensu-plugin/cli.rb:58: dans `bloc « "]

Notez que je suis en train de check-log pour /var/log/auth.log, et le client tente /var/cache/check-log/default/var/log/auth.log

Répondre

0

Vous ne devriez pas avoir besoin d'exécuter check-log.rb avec les permissions root. En fait, je vous recommande fortement de ne faire aucune vérification qui nécessite des permissions root du tout.

Assurez-vous que /etc/sensu/plugins/check-log.rb a des autorisations d'exécution pour tous les utilisateurs:

sudo chmod a+x /etc/sensu/plugins/check-log.rb 

Et que le fichier /var/log/auth.log est lisible à tous:

sudo chmod a+r /var/log/auth.log 

Changer votre chèque à:

"command": "/etc/sensu/plugins/check-log.rb -f /var/log/auth.log -q 'fatal' -c 1" 

N'oubliez pas de redémarrer le serveur (et éventuellement le client) pour que la modification prenne effet.

De cette façon, vous n'avez pas besoin d'ajouter l'utilisateur sensu à un groupe,