
Wir haben keine Protokollverwaltung, abgesehen davon, dass wir ab und zu reingehen und sie löschen. Wir haben einen Server, auf dem nicht viel Verkehr herrscht (die meisten Protokolle stammen von unserem Live-Chat). Aber ich habe mich gefragt, welche Art von Protokollverwaltungsverfahren vorhanden sein sollten, um Protokolle richtig zu verwalten? Richten Sie es so ein, dass nur bestimmte Dinge protokolliert werden und dass Protokolle nach einer bestimmten Anzahl von Tagen gelöscht werden? Wie lange sollten Zugriffsprotokolle aufbewahrt werden? Wie lange sollten andere Protokolle aufbewahrt werden?
Antwort1
Sogar meine Protokolldateien werden dadurch groß. Ich verwende das Standard-Logrotate, das in fast jeder Linux-Distribution verfügbar ist.
Ich habe es so konfiguriert, dass die Sachen, die zu groß werden, täglich und die anderen wöchentlich usw. protokolliert werden.
Probieren Sie es aus. Ich komprimiere sie sogar mit xz, sodass die Datei relativ klein ist und zur Prüfung ohne großen Bandbreitenverlust auf beiden Seiten auf Ihre persönliche Box heruntergeladen werden kann.
Weitere Informationen finden Sie unter man logrotate und man logrotate.conf.
Antwort2
Verstehen Sie zunächst, dass Ihr Webserver an Ihr access.log anhängt, also sollten Sie dessen Größe wirklich auf ein Minimum beschränken. Meine Apache-Server beginnen, Seiten langsamer zu laden, wenn sie Protokolldateien haben, die größer als 4 GB sind (ich bin wahrscheinlich der Einzige, dem das auffällt).
Probieren Sie awstats aus. Es erstellt HTML-basierte Dateien, die Ihnen einen guten Überblick über Ihren Datenverkehr geben, und löscht außerdem die riesige access.log-Datei, die Sie haben. Wenn Sie diese App zum ersten Mal ausführen, wird es sehr lange dauern, da die access.log-Datei so groß ist.
Wenn awstats oder logrotate für Sie nicht ausreichen, können Sie Ihr access.log immer einmal täglich mit einem Cron löschen:
echo "" > Zugriff.log
Ich persönlich verwende dies jedoch nur, wenn ich eine riesige Protokolldatei habe, die ich wirklich schnell kürzen muss. Es ist wirklich eine Verschwendung von Protokollen, sie auf diese Weise zu kürzen.
Antwort3
VerwendenChronologum eine stündliche oder tägliche Protokolldatei zu erstellen. Erfahren Sie, wie Sie es verwenden.
TransferLog "|/usr/sbin/cronolog /web/logs/%Y/%m/%d/access.log"
ErrorLog "|/usr/sbin/cronolog /web/logs/%Y/%m/%d/errors.log"
Durch die Verwendung eines Cronjobs werden die obigen Protokolle komprimiert, um eine Überlastung der Festplatte zu verhindern und die Daten einige Tage (möglicherweise einen Monat) aufzubewahren.
oder verwenden Sie logrotate, um die Protokolle zu rotieren (wie in der Antwort oben erklärt)