Nginx log nach stderr
Ich will redirect nginx access logs zu stdout
in der Lage sein, um Sie zu analysieren, durch journalctl
(systemd).
Es ist die gleiche Frage mit Antwort genehmigt.
Haben nginx access_log und error_log-log an STDOUT und STDERR des master-Prozess
Aber es funktioniert nicht für mich. Mit /dev/stderr
bekomme ich open() "/dev/stderr" failed (6: No such device or address)
. Mit /dev/stdout
bekomme ich keine access-logs in journalctl -u nginx
.
nginx.conf
daemon off;
http {
access_log /dev/stdout;
error_log /dev/stdout;
...
}
...
sitename.conf
server {
server_name sitename.com;
root /home/username/sitename.com;
location /{
proxy_pass http://localhost:3000/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log on;
}
}
nginx.service
[Service]
Type=forking
PIDFile=/run/nginx.pid
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nginx
ExecStartPre=/usr/sbin/nginx -t -q -g 'master_process on;'
ExecStart=/usr/sbin/nginx -g 'master_process on;'
ExecReload=/usr/sbin/nginx -g 'master_process on;' -s reload
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
TimeoutStopSec=5
Ich habe mein bestes versucht, um dieses Problem zu umgehen, durch ändern Sie jeden möglichen parameter in den obigen code und mit unterschiedlichen nginx-Versionen (1.2, 1.6), aber ohne Erfolg.
Ich bin wirklich, wirklich interessiert, wie diese Arbeit zu machen, so Hebe ich diese Frage noch einmal in einem anderen thread wie halte ich Vorherige Antwort ist falsch, spekulative oder Umgebung.
$ journalctl -u nginx
enthält nur Zeilen wie
Feb 08 13:05:23 Username systemd[1]: Started A high performance web server and a reverse proxy server.
und kein Zeichen von access logs 🙁
InformationsquelleAutor Ivan Kleshnin | 2015-02-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entsprechend der nginx-Dokumentation, die
error_log
Richtlinie unterstütztstderr
als argument. Die folgende Konfiguration sollte daher log Fehlermeldungen auf stderr:Leider
access_log
nicht unterstützenstdout
als argument. Es sollte jedoch möglich sein, um es zusyslog
(Dokumentation) und systemd zu gehören syslog-Aufrufe in Ihrer Zeitschrift.InformationsquelleAutor hedgie
Standard-journald-Konfiguration (ich bin mit Ubuntu 15.04) liest aus dem syslog, also in dieser config ist alles, das es nimmt, um über Protokolle angezeigt werden, die mit
journalctl -u nginx
InformationsquelleAutor m.kocikowski