Recherche de site Web

Swatchdog - Simple observateur de fichiers journaux en temps réel sous Linux


Swatchdog (le « Simple WATCH DOG ») est un simple script Perl permettant de surveiller les fichiers journaux actifs sur les systèmes de type Unix tels que Linux. Il surveille vos journaux en fonction d'expressions régulières que vous pouvez définir dans un fichier de configuration. Vous pouvez l'exécuter depuis la ligne de commande ou en arrière-plan, détaché de n'importe quel terminal en utilisant l'option de mode démon.

Notez que le programme s'appelait à l'origine swatch (le « Simple Watcher »), mais une demande de changement de nom de l'ancienne société horlogère suisse a vu le développeur changer son nom en chien de garde.

Lire aussi : 4 bons outils de surveillance et de gestion des journaux Open Source pour Linux

Il est important de noter que swatchdog est né d'un script permettant de surveiller les journaux produits par la fonction Syslog d'Unix et peut surveiller à peu près n'importe quel type de journaux.

Comment installer Swatch sous Linux

Le package swatchdog peut être installé à partir des référentiels officiels des distributions Linux grand public en tant que package « swatch » via un gestionnaire de packages, comme indiqué.


sudo apt install swatch	[On Ubuntu/Debian]
sudo yum install epel-release && sudo yum install swatch	[On RHEL/CentOS]
sudo dnf install swatch	[On Fedora 22+]

Pour installer la dernière version de swatchdog, vous devez la compiler à partir des sources à l'aide des commandes suivantes dans n'importe quelle distribution Linux.


git clone https://github.com/ToddAtkins/swatchdog.git
cd swatchdog/
perl Makefile.PL
make
sudo make install
sudo make realclean

Une fois que vous avez installé swatch, vous devez créer son fichier de configuration (l'emplacement par défaut est /home/$USER/.swatchdogrc ou .swatchrc ), pour déterminer les types de modèles d'expression à rechercher et le(s) type(s) d'action à entreprendre lorsqu'un modèle correspond.


touch /home/tecmint/.swatchdogrc
OR
touch /home/tecmint/.swatchrc

Ajoutez votre expression régulière dans ce fichier et chaque ligne doit contenir un mot-clé et une valeur (parfois facultatifs), séparés par un espace ou un signe égal (=). Vous devez spécifier un modèle et une ou plusieurs actions à entreprendre lorsqu'un modèle correspond.

Nous utiliserons un simple fichier de configuration, vous pouvez trouver plus d'options dans la page de manuel de swatchdog, par exemple.

watchfor  /sudo/
	echo red
	[email , subject="Sudo Command"

Ici, notre expression régulière est une chaîne littérale – « sudo », signifie que chaque fois que la chaîne sudo apparaît dans le fichier journal, elle sera imprimée sur le terminal en texte rouge et mail spécifie l'action à entreprendre, qui consiste à faire écho au modèle correspondant sur le terminal et à envoyer un e-mail à l'adresse spécifiée, de manière réceptive.

Après l'avoir configuré, swatchdog lit le fichier journal /var/log/syslog par défaut, si ce fichier n'est pas présent, il lit /var/log/messages.


swatch     [On RHEL/CentOS & Fedora]
swatchdog  [On Ubuntu/Debian]

Vous pouvez spécifier un fichier de configuration différent à l'aide de l'indicateur -c comme indiqué dans l'exemple suivant.

Créez d’abord un répertoire de configuration swatch et un fichier.

mkdir swatch
touch swatch/secure.conf

Ensuite, ajoutez la configuration suivante dans le fichier pour surveiller les tentatives de connexion échouées, les tentatives de connexion SSH échouées et les connexions SSH réussies à partir du fichier journal /var/log/secure.

watchfor /FAILED/
echo red
[email , subject="Failed Login Attempt"

watchfor /ROOT LOGIN/
echo red
[email , subject="Successful Root Login"

watchfor /ssh.*: Failed password/
echo red
[email , subject="Failed SSH Login Attempt"

watchfor /ssh.*: session opened for user root/ 
echo red
[email , subject="Successful SSH Root Login"

Exécutez maintenant Swatch en spécifiant le fichier de configuration à l'aide de -c et le fichier journal à l'aide de l'indicateur -t comme indiqué.

swatchdog -c ~/swatch/secure.conf -t /var/log/secure

Pour l'exécuter en arrière-plan, utilisez l'indicateur --daemon ; dans ce mode, il est détaché de tout terminal.

swatchdog ~/swatch/secure.conf -t /var/log/secure --daemon  

Maintenant, pour tester la configuration de swatch, essayez de vous connecter au serveur à partir d'un autre terminal, vous voyez la sortie suivante imprimée sur le terminal sur lequel Swatchdog est exécuté.

*** swatch version 3.2.3 (pid:16531) started at Thu Jul 12 12:45:10 BST 2018

Jul 12 12:51:19 tecmint sshd[16739]: Failed password for root from 192.168.0.103 port 33324 ssh2
Jul 12 12:51:19 tecmint sshd[16739]: Failed password for root from 192.168.0.103 port 33324 ssh2
Jul 12 12:52:07 tecmint sshd[16739]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 12 12:52:07 tecmint sshd[16739]: pam_unix(sshd:session): session opened for user root by (uid=0)

Vous pouvez également exécuter plusieurs processus d'échantillons pour surveiller divers fichiers journaux.

swatchdog -c ~/site1_watch_config -t /var/log/nginx/site1/access_log --daemon  
swatchdog -c ~/messages_watch_config -t /var/log/messages --daemon
swatchdog -c ~/auth_watch_config -t /var/log/auth.log --daemon

Pour plus d'informations, consultez la page de manuel de swatchdog.

man swatchdog

Référentiel Swatchdog SourceForge : https://sourceforge.net/projects/swatch/

Voici quelques guides supplémentaires de surveillance des journaux qui vous seront utiles :

  1. 4 façons de regarder ou de surveiller les fichiers journaux en temps réel
  2. Comment créer un serveur de journaux centralisé avec Rsyslog
  3. Surveillez les journaux du serveur en temps réel avec l'outil « Log.io »
  4. lnav - Regarder et analyser les journaux Apache à partir d'un terminal Linux
  5. ngxtop – Surveiller les fichiers journaux Nginx en temps réel sous Linux

Swatchdog est un simple outil de surveillance des fichiers journaux actifs pour les systèmes de type Unix tels que Linux. Essayez-le et partagez vos réflexions ou posez des questions dans la section commentaires.