Table des matières
Bonjour. Ceci est mon premier article Wiki.
Envoyer les logs d'Apache via Syslog
Vous trouverez mes autres contributions sur la centralisation des logs sur Centralisation des logs
Ce tuto sert à renvoyer les logs de connexions d'apache vers un serveur qui accepte les messages Syslog.
Pré requis
- Un serveur de centralisation de log (ici Manage Engine Event log analyser) (Tutoriel à venir sur mon site)
- Un serveur Apache (Les tuto pullulent sur le net avec les mots clé apache, LAMP, etc.)
- Une distribution Suse (Testé sur un Suse 10)
Remerciements
Je remercie Jluce (alionet.org) sans qui je n'aurais pas réussi (ou alors après de longues heures !).
Contexte
Dans cet exemple le serveur de centralisation de logs à l'IP : 192.168.1.160 et le site web est www.hallbid.com
→ Dans /etc/rsyslog.conf
- → Ajouter la ligne
local7.* @192.168.1.160
(envoi tous les logs de type local7 au serveur)
→ Dans /etc/apache2/httpd.conf
- → Ajouter les lignes :
LogFormat "%h %l %u %t \"%r\" %>s %b" common CustomLog "|/bin/logger -P local7.info -t www.hallbid.com" common
(Crée un format de log)
→ Sauvegarder /etc/apache2/sysconfig.d/global.conf
→ Création du fichier /root/bin/accesstosyslog.sh
- → Ajouter les lignes
#!/bin/bash /bin/logger -t 'www.hallbid.com' -p local7.info
→ Dans la konsole :
chmod 755 /root/bin/accesstosyslog.sh
→ Ajouter à /etc/sysconfig/apache2
APACHE_ACCESS_LOG="|/root/bin/accestosyslog.sh combined"
→ Redemmarrer tous les serveurs.
/etc/init.d/apache2 restart /etc/init.d/syslog restart
→ Vérifier que /etc/apache2/sysconfig.d/global.conf possède une ligne :
CustomLog |/root/bin/accesstosyslog.sh combined
Normalement votre serveur de centralisation de logs recevra vos logs apache. Pour toute information ou suggestion : info@hall*id.com (remplacer * par b; juste pour éviter les robots).