2 Stimmen

apache syslog-ng-Fehlerprotokolle und Zugriffsprotokolle

Ich versuche, alle meine Apache-Protokolle an syslog-ng (auf einem entfernten Rechner) zu senden, das wiederum in eine Datei schreibt.

Ich konfiguriere syslog-ng also folgendermaßen

source s_apache {
      unix-stream("/var/log/apache_log.socket" max-connections(512) keep-alive(yes));
};
filter f_apache { match("error"); };
destination df_custom { file("/var/log/custom.log"); };
log {
        source(s_apache);
        filter(f_apache);
        destination(df_custom);
};

und fügen Sie die folgende Zeile in apache2.conf ein

ErrorLog "|/usr/bin/logger -t 'apache'  -u /var/log/apache_log.socket"

aber nur die Protokolle, die in "/var/log/custom.log" geschrieben werden, sind

[Mon Jul 13 17:24:36 2009] [notice] caught SIGTERM, shutting down

y

[Mon Jul 13 17:26:11 2009] [notice] Apache/2.2.11 (Ubuntu) configured -- resuming normal operations

Ich möchte, dass alle Protokolle an custom.log..... gesendet werden. Bitte helfen Sie mir.... wo mache ich etwas falsch?

0voto

lg. Punkte 397

Ich kann Ihnen diesen Link empfehlen: http://httpd.apache.org/docs/2.2/logs.html Hier erfahren Sie mehr über die Anmeldung bei Apache. Wenn Sie alle Logs auf syslog-ng haben wollen, müssen Sie auch die Zugriffsprotokolle mit der CustomLog-Direktive konfigurieren.

Mit freundlichen Grüßen, Lorenzo.

-1voto

rane Punkte 338

Ich hatte das gleiche Problem und fand heraus, dass die Einstellungen ErrorLog und CustomLog von /etc/apache2/sites-available/default überschrieben wurden

Nachdem ich diese auskommentiert hatte, funktionierte es!

Sie können diese Einstellungen auch einfach in < virtualhost > vornehmen, wenn Sie nur bestimmte Domainaufrufe protokollieren möchten

Mit freundlichen Grüßen rane

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X