Log d'erreur APACHE vers syslog [Résolu/Fermé]

Signaler
Messages postés
294
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
3 décembre 2012
-
mamiemando
Messages postés
29130
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 janvier 2020
-
Bonjour,


Mon but est centraliser les log d'erreur APACHE2 sur un serveur Syslog-ng.


Ma config actuel est:

- Serveur Syslog-ng avec phpsyslogng qui fonctionne bien pour les log de type kernel, auth, ...

- syslogd sur le serveur web que je doit centraliser ces logs.

Donc tout marche sauf pour les logs de APACHE

J'ai bien configuré le fichier de config de APACHE pour qu'il envoi ces log d'erreur vers syslog comme suit dans le fichier de config apache /etc/apache2/apache2.conf

ErrorLog syslog:local1

dans le fichier /etc/syslog.conf j'a fait:
*.* @serveur_log

J'ai bien des message qui s'envoie avec valeur de facility "local1' vers mon serveur de log venant d'apache mais pas les erreur 404 par exemple.
et le tout est marqué comme 'notice'.

Une idée?

Merci d'avance pour votre aide.



5 réponses

Messages postés
29130
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 janvier 2020
6 745
Les logs apaches se configurent spécifiquement par vhost. Sous debian il faut regarder dans le fichier /etc/apache2/sites-available/... attaché à ton vhost.

Ce n'est pas forcément une idée fantastique de centraliser des logs car ça risque de surprendre un administrateur habitué à les chercher à l'endroit standard soit dit en passant.

Bonne chance
Messages postés
294
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
3 décembre 2012
27
Mais moi je veut centraliser tout les logs de tout les vhost que j'héberge. imagine un serveur avec + de 500 site web. y a-il un moyen de le faire une fois pour toutes. dans tous les cas je vais l'essayer avec l'un de mes vhost afin de voir se que sa donne mais sa reste pas une bonne solution pour moi.

La centralisation de logs est une bonne idée si tu veut automatiser sa gestion et le de faciliter la méthode de recherche de l'information pertinente. en plus avec la solution phpsyslogng sa me permet de permettre a tous le monde de voir les logs via une interface web sans etre obliger a accéder en mode console au serveur lui même. je veut éviter que tout le monde fait tail -f /var/log/apache2/error.log.

Merci de m'aidez. je suis encore perdue. :-(
mamiemando
Messages postés
29130
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 janvier 2020
6 745
Mais moi je veut centraliser tout les logs de tout les vhost que j'héberge. imagine un serveur avec + de 500 site web. y a-il un moyen de le faire une fois pour toutes. dans tous les cas je vais l'essayer avec l'un de mes vhost afin de voir se que sa donne mais sa reste pas une bonne solution pour moi.

Raison de plus pour les scinder, si tu as un bug avec un site tu ne veux pas que ses logs soient perturbés avec les 499 autres vhosts :s. Je gère une architecture avec plus de 50 vhosts et crois-moi, c'est mieux de les séparer :p

La centralisation de logs est une bonne idée si tu veut automatiser sa gestion et le de faciliter la méthode de recherche de l'information pertinente.

Je ne suis pas vraiment d'accord car tu peux faire une recherche dans plusieurs fichiers à la fois avec grep. Si par exemple tes logs sont tous dans /var/log/apache2/*.log, tu peux chercher dans tous les fichiers avec la commande grep. Par exemple si tu cherches la chaîne "toto" :

grep -nri "toto" /var/log/apache2


en plus avec la solution phpsyslogng ça me permet de permettre a tous le monde de voir les logs via une interface web sans être obligée d'accéder en mode console au serveur lui même. je veux éviter que tout le monde fait tail -f /var/log/apache2/error.log.

Pour moi c'est presque un trou de sécurité d'autoriser tout le monde à lire tous les logs. Si tu regardes les droits par défaut tu verras que ton utilisateur ne peut même pas rentrer dans /var/log/apache2. En tant qu'administrateur ça ne me choque pas de devoir me connecter à un serveur et de ne pas forcément avoir une interface web.

Ceci dit pour changer tous les ServerLog de tes vhosts, rien en t'empêche de faire un sed bien choisi. Je ne sais pas si renseigner la position du log dans /etc/apache2/httpd.conf permettra de définir un chemin par défaut. Il faudrait que tu testes.
Messages postés
294
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
3 décembre 2012
27
Merci mamiemando; C'est bon avec la configuration sur les fichiers de vhost. Mais je cherche toujours dans la recherche d'un moyen plus simple.

Une autre question: la facility se marque comme "local7", y a pas un moyen de la renommer?

Merci de votre support.
mamiemando
Messages postés
29130
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 janvier 2020
6 745
Cf mon précédent message + qu'appelles-tu la facility ?
Messages postés
294
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
3 décembre 2012
27
Facility ou Fonctionnalité:

La fonctionnalité d'un message Syslog correspond au type d'application générant le message Syslog. Les 24 fonctionnalités existantes sont définies par la RFC 3164 :

Numéro de fonctionnalité // Usage
0 // kernel messages
1 // user-level messages
2 // mail system
3 // system daemons
4 // security/authorization messages
5 // messages generated internally by syslogd
6 // line printer subsystem
7 // network news subsystem
8 // UUCP subsystem
9 // clock daemon
10 // security/authorization messages
11 // FTP daemon
12 // NTP subsystem
13 // log audit
14 // log alert
15 // clock daemon
16 // local use 0
17 // local use 1
18 // local use 2
19 // local use 3
20 // local use 4
21 // local use 5
22 // local use 6
23 // local use 7
Messages postés
29130
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 janvier 2020
6 745
Apparemment c'est faisable avec l'option ErrorLog (toujours la même !)
http://oreilly.com/pub/a/sysadmin/2006/10/12/httpd-syslog.html