Monitorer ses Logs avec Logwatch Installation de Logwatch Les rapports créés par Logwatch sont classés selon les services (Applications) exécutés sur votre système. Les applications peuvent être définies dans le fichier de configuration de logwatch. De plus, Logwatch permet la création de scripts d'analyse personnalisés pour des besoins spécifiques Installation du paquet: apt install logwatch S'il n’existe pas déjà créez le dossier /var/cache/logwatch nécessaire au bon fonctionnement de logwatch : mkdir /var/cache/logwatch Configuration de Logwatch On va modifier le fichier de configuration se trouvant à l'adresse /usr/share/logwatch/default.conf/logwatch.conf, ouvrons le avec l'éditeur de notre choix. Pour cela on va créer une copie du fichier de configuration par défaut cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/logwatch.conf Puis on l'édite: nano /etc/logwatch/conf/logwatch.conf On observera une longue liste de variables que l'application utilise lors de son éxécution. Nous modifierons ou ajusterons les valeurs suivantes: # Le type d'output ici on veut recevoir nos logs par mail Output = mail # Pour recevoir les mails au format html, c'est plus agréable à lire Format = html # Adresse sur laquelle vous allez recevoir les mails MailTo = root # <= Correspondra a l'adresse précédemment définis pour root dans le setup du service mail # Niveau de détail des logs Low | Med | High Detail = Med # Pour les services vous pouvez gardez la ligne Service = All mais si vous souhaitez # recevoir seulement des rapports spécifiques vous pouvez lister chaque service comme ci dessous # (en retirant le #). Nous garderons All dans notre cas # Service = sendmail # Service = http # Service = identd # Service = sshd2 # Service = sudo Ajoutons un rapport de log pour Nginx (Si vous utilisez Nginx of course) Pour commencer on va créer une configuration spécifique: nano /etc/logwatch/conf/logfiles/nginx.conf Puis nous allons copier dedans la configuration ci dessous: ######################################################## # Define log file group for nginx ######################################################## # What actual file? Defaults to LogPath if not absolute path…. LogFile = nginx/*access.log LogFile = nginx/*access.log.1 LogFile = nginx/*error.log LogFile = nginx/*error.log.1 # If the archives are searched, here is one or more line # (optionally containing wildcards) that tell where they are… #If you use a “-” in naming add that as well -mgt Archive = nginx/*access.log* Archive = nginx/*error.log* # Expand the repeats (actually just removes them now) *ExpandRepeats # Keep only the lines in the proper date range… *ApplyhttpDate # vi: shiftwidth=3 tabstop=3 On crée ensuite le second fichier essentiel pour faire correspondre notre service (en se basant sur la conf http existante): cp /usr/share/logwatch/default.conf/services/http.conf /etc/logwatch/conf/services/nginx.conf On l'ouvre ensuite avec notre éditeur préféré: nano /etc/logwatch/conf/services/nginx.conf Puis on modifie le début du fichier: Title = “nginx” LogFile = nginx Et pour finir on copie le fichier du script: cp /usr/share/logwatch/scripts/services/http /etc/logwatch/scripts/services/nginx Puis on relance logwatch vous devriez recevoir un mail récapitulatif et par la suite un mail journalier: logwatch restart Et voilà logwatch vous permettra de garder une trace de ce qu'il se passe sur votre serveur quotidiennement ! Pour modifier un service reprenez l'exemple ci dessus et modifiez http et nginx par le service correspondant à votre besoin.