Der Apache und seine Log_Files
Hallo, auf meinem Server (Apache) läuft ein Standard Server und mehrere Virtuelle Server. Für die Virtuellen Server habe ich jeweils einen CustomLog angelegt. Jetzt möchte ich aber noch ein LogFile anlegen, welches alles aufzeichnet. Sozusagen ein Tutti aller Virtuellen Server zusammen. Muß ich das irgendwie selbst machen, oder ist das ohnehin standardmäßig irgendwo vorhanden? Oder geht es auch wenn ich in jeden Virtuellen Server so etwas einfüge? CustomLog /home/tuttilog/access_log combined Herzlichen Dank und bis bald Manfred Gnädig http://www.bigspace4you.de
On Son, 10 Jun 2001, Manfred G. wrote:
Für die Virtuellen Server habe ich jeweils einen CustomLog angelegt.
Jetzt möchte ich aber noch ein LogFile anlegen, welches alles aufzeichnet. Sozusagen ein Tutti aller Virtuellen Server zusammen.
Wozu? cat /var/log/*.error_log | sort oder wegen mir auch: LOGFILES="httpd.error_log virtual1.error_log virtual2.error_log" for file in $LOGFILES; do cat "/var/log/${file}"; done | sort -dnh -- The only possible interpretation of any research whatever in the "social sciences" is: some do, some don't. -- Ernest Rutherford
Hallo David, herzlichen Dank für deine Hilfe. Kannst du mir das ein bißchen näher erklären?
Jetzt möchte ich aber noch ein LogFile anlegen, welches alles aufzeichnet. Sozusagen ein Tutti aller Virtuellen Server zusammen.
Wozu?
cat /var/log/*.error_log | sort
oder wegen mir auch:
LOGFILES="httpd.error_log virtual1.error_log virtual2.error_log" for file in $LOGFILES; do cat "/var/log/${file}"; done | sort
Wo soll ich diese Zeilen einfügen? Was kann ich damit machen? Bis bald Manfred Gnädig http://www.bigspace4you.de
On Mon, 11 Jun 2001, Manfred G. wrote:
Hallo David,
cat /var/log/*.error_log | sort Wo soll ich diese Zeilen einfügen?
Nirgends, einfach auf der shell eingeben... ;) Die andere Variante war eher fuer den Einbau in ein script gedacht[1]... Der Punkt war (sollte sein), da apache seine logs mit einem Timestamp an Zeilenanfang anlegt, hat ein 'cat *_log | sort' fast den gleichen Effekt wie ein "globales" Logfile... Fuer ein "echtes" globales log muesste man zwar die Felder (z.B. mit awk) umsortieren, aber fuer die meisten Zwecke sollte es reichen... Evtl. kann man aber auch das Format des Timestamps aendern.. -dnh [1] Und wenn du nix damit anfangen kannst, dann brauchst du's wohl vorerst nicht ;) -- Paranoid schizophrenics outnumber their enemies at least two to one. -- from the fortune file
Hallo David, herzlichen Dank für deine Hilfe.
Hallo David,
cat /var/log/*.error_log | sort Wo soll ich diese Zeilen einfügen?
Nirgends, einfach auf der shell eingeben... ;)
Bei mir sieht das dann so aus: root@linux01:/ > cat /var/log/*.error_log | sort root@linux01:/ > Da passiert überhaupt nichts. Was mache ich falsch? Bis bald Manfred Gnädig
On Mon, 11 Jun 2001, Manfred G. wrote:
cat /var/log/*.error_log | sort Wo soll ich diese Zeilen einfügen?
Nirgends, einfach auf der shell eingeben... ;)
Bei mir sieht das dann so aus: root@linux01:/ > cat /var/log/*.error_log | sort root@linux01:/ >
Da passiert überhaupt nichts. Was mache ich falsch?
Nix, vermutlich. 1. Du musst in /etc/httpd/httpd.conf die Logfiles enstprechend setzen. Bei mir z.B.: ErrorLog /var/log/httpd.error_log CustomLog /var/log/httpd.access_log ErrorLog /var/log/www.slarty.dhaller.de-error_log CustomLog /var/log/www.slarty.dhaller.de-access_log (letztere beiden sind von einem Virtual host). 2. Muss in den logs auch was drinstehen... ls -l /var/log/*_log Nochmal zur Erklaerung: Das cat gibt alle angegebenen Dateien (nacheinander) auf stdout aus, durch das sort und da der apache mit einem (sinnvoll sortierbaren) timestamp loggt, bekommst du durch das pipen durch sort ein "gemeinsames" Log... Ggfs. musst du halt noch ein wenig tricksen ;) -dnh -- SprintLINK makes proton decay look fast. -- Jude Charles Giampaolo
Hallo David, herzlichen Dank für deine Hilfe. Bei mir ist die CustomLog hier: CustomLog /var/log/httpd/access_log
root@linux01:/ > cat /var/log/*.error_log | sort
Demnach habe ich einfach mal cat /var/log/httpd/access_log | sort eingegeben. Jetzt rattert es die ganze Zeit eine Liste herrunter und es scheint kein Ende zu nehmen. Ist das richtig so? Hoppsa, jetzt hat es doch ein Ende genommen (;-))
Das cat gibt alle angegebenen Dateien (nacheinander) auf stdout aus, durch das sort und da der apache mit einem (sinnvoll sortierbaren) timestamp loggt, bekommst du durch das pipen durch sort ein "gemeinsames" Log... Ggfs. musst du halt noch ein wenig tricksen ;)
Wo ist denn dann das gemeinsame Log? Ist es dieses? CustomLog /var/log/httpd/access_log Funktioniert das auch wenn meine Virtualhosts auch eigene CustomLog /home/irgendwas/access_log haben? Wie geht es jetzt weiter? Wie kann ich feststellen welcher VirtualHost wie viel Trafic / Monat verbraucht? Herzlichen Dank für alles und bis bald Manfred Gnädig
Hallo Was ist eigentlich der Unterschied zwischen CustomLog und TransferLog ??? Herzlichen Dank und bis bald. Manfred Gnädig
On Mit, 13 Jun 2001, Manfred G. wrote:
Was ist eigentlich der Unterschied zwischen
CustomLog und TransferLog ???
http://localhost/manual/mod/mod_log_config.html#customlog http://localhost/manual/mod/mod_log_config.html#transferlog Syntax: TransferLog file-pipe Syntax: CustomLog file-pipe format-or-nickname Bei CustomLog kannst du ein eigenes Format definiere, siehe: http://localhost/manual/mod/mod_log_config.html#logformat -dnh -- I ask you lot, as experts in kicking people in the nuts, do you ever pause in the middle of doing so and ask the victim for a favour? Do you get indignant if they are somewhat less than ethusiastic about performing that favour seeing as how you asked for it right after savaging them once and and right before savaging them again? -- Paul Tomblin
On Die, 12 Jun 2001, Manfred G. wrote: [Vorredner war ich] [eine Kopie (Liste oder PM) reicht]
Demnach habe ich einfach mal cat /var/log/httpd/access_log | sort
Naja, bei einer Datei ist das eher unproduktiv... [..]
Das cat gibt alle angegebenen Dateien (nacheinander) auf stdout aus, durch das sort und da der apache mit einem (sinnvoll sortierbaren) timestamp loggt, bekommst du durch das pipen durch sort ein "gemeinsames" Log... Ggfs. musst du halt noch ein wenig tricksen ;)
Wo ist denn dann das gemeinsame Log? Ist es dieses? CustomLog /var/log/httpd/access_log
Nein. Das ist AFAIK nur das log von "localhost". Steht in deiner /etc/httpd/httpd.conf (und den darin per include eingebundenen Dateien).
Funktioniert das auch wenn meine Virtualhosts auch eigene CustomLog /home/irgendwas/access_log haben?
Ja. Durch das cat machst du aus allen log eine Datei, die du dann eben weiterverarbeiten musst. Du musst halt alle Logdateien angeben.
Wie geht es jetzt weiter? Wie kann ich feststellen welcher VirtualHost wie viel Trafic / Monat verbraucht?
Weise jedem VirtualHost ein eigenes Logfile zu (mit {Transfer,Custom}Log in der <VirtualHost> Direktive) und werte dann (in einer Schleife) die einzelnen logs aus. Die Summe ueber alle Logs kannst du dann durch das aneinanderfuegen (und ggfs. sortieren) der Logs aller hosts erstellen... -dnh -- 116: Programm Sobald eine Datei von einem Virus infiziert werden kann, ist es ein Programm. (Markus Kuhn)
participants (2)
-
David Haller
-
Manfred G.