Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

logrotate apache2 awstats

6 réponses
Avatar
NonSenZ
Bonjour,

J'ai un problème de logs et je pense que ce problème est apparu suite à
l'installation de awstats.
Les logs d'apache doivent se trouver dans /var/log/apache2/access.log
d'après la directive
CustomLog /var/log/apache2/access.log combined
que j'ai placée dans tous les virtualhost du fichier de config apache.

Après un logrotate, il semble qu'apache écrive dans access.log.1, au
lieu de continuer dans access.log. C'est très ennuyeux car awstats
analyse access.log et non pas access.log.1.

/etc/init.d/apache2 reload suffit à réinitialiser la configuration et
apache réécrit alors dans le bon fichier de config, mais c'est quand
même très curieux. Quelqu'un a une idée ?

--
NSZ

6 réponses

Avatar
Rakotomandimby (R12y) Mihamina
( Thu, 02 Jun 2005 09:37:52 +0200 ) NonSenZ :
lieu de continuer dans access.log. C'est très ennuyeux car awstats
analyse access.log et non pas access.log.1.


Disons que je ne sais pas si awstats stocke les anciennes stats
quelquepart, mais tu fausses les logs si tu ne donne pas à awstats _tous_
les logs. Il te faudrait donc ne pas faire de logrotate.

/etc/init.d/apache2 reload suffit à réinitialiser la configuration et
apache réécrit alors dans le bon fichier de config, mais c'est quand
même très curieux. Quelqu'un a une idée ?


Fais nous voir le truc dans logratate.conf qui s'occupe de la rotation des
logs d'apache, s'il te plait.

--
Mirroir de logiciels libres http://www.etud-orleans.fr
Développement de logiciels libres http://aspo.rktmb.org/activites/developpement
Infogerance de serveur dédié http://aspo.rktmb.org/activites/infogerance
(En louant les services de l'ASPO vous luttez contre la fracture numerique)

Avatar
NonSenZ
Le Thu, 02 Jun 2005 13:15:29 +0200, Rakotomandimby (R12y) Mihamina a
écrit :
Disons que je ne sais pas si awstats stocke les anciennes stats
quelquepart, mais tu fausses les logs si tu ne donne pas à awstats
_tous_ les logs. Il te faudrait donc ne pas faire de logrotate.
---

Oui, dans la mesure où j'ai fait un cron pour analyser les logs toutes
les heures, les anciennes données d'awstats sont stockées ailleurs.

Fais nous voir le truc dans logratate.conf qui s'occupe de la rotation
des logs d'apache, s'il te plait.
---

/var/log/apache2/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 644 root adm
sharedscripts
postrotate
if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 restart > /dev/null
fi
endscript
}

Je pense effectivement que ça vient de là. Il ne doit pas faire de
restart d'apache parce qu'il ne trouve pas de pid. En effet,
#/etc/init.d/apache2 restart me renvoie ceci : Forcing reload of web
server: Apache2 ... no pidfile found! not running?httpd (pid 21311)
already running .
Alors qu'apache tourne bien entendu...

# ps aux | grep apache
root 21311 0.0 1.4 9400 4812 ? Ss May27 0:00
/usr/sbin/apache2 -k start -DSSL
www-data 20565 0.0 1.5 9532 4948 ? S 09:32 0:00
/usr/sbin/apache2 -k start -DSSL
www-data 20566 0.0 1.5 9532 4936 ? S 09:32 0:00
/usr/sbin/apache2 -k start -DSSL
www-data 20567 0.0 1.5 9532 4952 ? S 09:32 0:00
/usr/sbin/apache2 -k start -DSSL
www-data 20568 0.0 1.5 9532 4932 ? S 09:32 0:00
/usr/sbin/apache2 -k start -DSSL
www-data 20569 0.0 1.5 9532 4980 ? S 09:32 0:00
/usr/sbin/apache2 -k start -DSSL
www-data 20571 0.0 1.5 9532 4948 ? S 09:32 0:00
/usr/sbin/apache2 -k start -DSSL
www-data 20574 0.0 1.5 9532 4932 ? S 09:32 0:00
/usr/sbin/apache2 -k start -DSSL
www-data 21120 0.0 1.5 9532 4836 ? S 10:59 0:00
/usr/sbin/apache2 -k start -DSSL

Je pense à faire un /etc/init.d/apache2 reload dans tous les cas en
postrotate mais c'est un peu bourin. Il vaudrait mieux trouver pourquoi le
système ne voit pas les processus apache.

--
NSZ

Avatar
TiChou
Dans le message <news:,
*NonSenZ* tapota sur f.c.o.l.configuration :

Bonjour,


Bonjour,

Après un logrotate, il semble qu'apache écrive dans access.log.1, au
lieu de continuer dans access.log. C'est très ennuyeux car awstats
analyse access.log et non pas access.log.1.


Problème classique avec logrotate. Je passe les détails sur l'explication du
problème, une petite recherche dans les archives du groupe vous en dira plus
si vous y tenez.
Il vous faut utiliser l'option copytruncate au lieu de l'option create et
vous n'êtes alors plus obligé de relancer vos services.

--
TiChou

Avatar
Rakotomandimby (R12y) Mihamina
( Thu, 02 Jun 2005 13:51:34 +0200 ) NonSenZ :

Je pense à faire un /etc/init.d/apache2 reload dans tous les cas en
postrotate mais c'est un peu bourin. Il vaudrait mieux trouver pourquoi le
système ne voit pas les processus apache.


Tichou a aussi répondu au problème.

Par contre, j'ai rencontré ce problème de PID:

J'avais lancé apache "à la main" sans passer par le script dans init.d.

Quand j'ai cherché à le killé, j'ai utilisé le script dans init.d.
Mais ça ne marchait pas parceque le script ne trouvait pas le PID.

J'ai juste tué avec kill -9 tous les processes apache en cours, puis j'ai
tout restarté avec le script qu'il faut, et puis tout est rentré dans
l'ordre.


--
Mirroir de logiciels libres http://www.etud-orleans.fr
Développement de logiciels libres http://aspo.rktmb.org/activites/developpement
Infogerance de serveur dédié http://aspo.rktmb.org/activites/infogerance
(En louant les services de l'ASPO vous luttez contre la fracture numerique)

Avatar
NonSenZ
Rakotomandimby (R12y) Mihamina disait...
Tichou a aussi répondu au problème.

Par contre, j'ai rencontré ce problème de PID:

J'avais lancé apache "à la main" sans passer par le script dans init.d.

Quand j'ai cherché à le killé, j'ai utilisé le script dans init.d.
Mais ça ne marchait pas parceque le script ne trouvait pas le PID.

J'ai juste tué avec kill -9 tous les processes apache en cours, puis j'ai
tout restarté avec le script qu'il faut, et puis tout est rentré dans
l'ordre.
---

Moi ça ne résoud pas le pb, et le fichier .pid existe bien dans
/var/run/...
En tous cas merci à vous deux pour vos réponses.

--
NSZ

Avatar
Christophe PEREZ
Le Thu, 02 Jun 2005 14:02:20 +0200, TiChou a écrit:

Il vous faut utiliser l'option copytruncate au lieu de l'option create et
vous n'êtes alors plus obligé de relancer vos services.


Sinon, pour apache2, un apache2ctl graceful, non ?
En tout cas, moi, c'est ce que je fais, ça devait être ça dans le
fichier fourni dans le package apache sous mandrake.

--
Christophe PEREZ
Écrivez moi sans _faute !