1 votes

nginx - enregistrer l'accès et les erreurs dans un tube et utiliser multilog pour enregistrer les rotations.

Ce que j'essaie de faire : Faire tourner le journal des accès et des erreurs de nginx à l'aide de multilog.

Mon approche : Enregistrer l'accès et les erreurs de nginx dans un tuyau, de sorte que je puisse avoir un autre processus qui exécute multilog qui lit à partir de ce tuyau et laisse multilog faire la rotation du journal.

nginx.conf

access_log /var/log/nginx/access/pipe;
error_log /var/log/nginx/access/pipe;

Je m'assure que j'ai créé le tuyau et que j'ai donné la permission à quiconque de faire quelque chose avec.

$ sudo mkfifo /var/log/nginx/access/pipe /var/log/nginx/error/pipe
$ sudo chmod a+rwx /var/log/nginx/access/pipe /var/log/nginx/error/pipe

Cependant, lorsque je démarre nginx, il se bloque comme s'il attendait stdin ou autre. Il se peut que quelque chose m'échappe ici.

J'ai essayé d'envoyer un simple écho au tuyau

$ echo a > /var/log/nginx/access/pipe

et il se bloque également comme s'il attendait plus de données. Mayb

1voto

Mark Stosberg Points 3665

Je pense que multilog doit écouter les pipes avant de démarrer Nginx.

0voto

Hamy Points 111

ce projet résout ce problème en liant correctement svlogd et nginx sémantique, il dispose d'un programme chargen qui simule le comportement de nginx, d'un test de stress et d'un exemple d'intégration runit/runsv/svlogd.

slogan du projet : rotation des logs de nginx avec daemontools/runit (respectivement multilog/svlogd)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X