Pro Domain ein Logfile

Locked
User avatar
Tobi
Community Moderator
Posts: 2812
Joined: Thu 5. Jan 2017, 13:24

Pro Domain ein Logfile

Post by Tobi »

Hi Zusammen,

ich habe seit über einem Jahr eine eigene Lösung für das Erzeugen domainspezifischer Logfiles.
Ihr benötigt dazu lediglich einen Root-Cronjob, eine kleine Anpassung an "/etc/logrotate.d/" und mein PHP Script.

Zunächst das Script lokal öffnen (am besten mit Notepad++ oder einem anderen UTF-8 / UNIX konformen Editor) und die Zeilen 3 bis 5 am Anfang des Scripts anpassen.

Code: Select all

$vhost_dir = "/etc/apache2/keyhelp/vhosts";
$backup_dir = "/root/CRONJOBS/vhost_conf_files_backup";
$logfile = "/root/CRONJOBS/vhost_cron_logfile.log";

$vhost_dir ==> Pfad zu den Keyhelp V-Hosts Dateien, muss eigentlich nicht angepasst werden
$backup_dir ==> das Verzeichnis muss vorhanden sein. Dort werden Sicherungsdateien der Original V-Hosts Dateien abgelegt. Kein Slash am Ende!
$logfile ==> in dieser Datei werden die Änderungen protokolliert. Die kann auch im Webroot eines anderen Users (Admin) liegen.

Jetzt die Datei auf dem Server ablegen (bei mir /root/CRONJOBS/) und ausführbar (chmod 755) machen.
Dateiendung auf ".php" ändern und anschließend einen Cronjob als root einrichten.
Bei mir läuft der Cronjob einmal stündlich.

Als nächstes ist noch eine Anpassung in der Log-File Rotation nötig.
Details findet ihr dazu hier: viewtopic.php?p=5041#p5041

Tja und das wars auch schon.

Wie funktioniert das Script?
=======================
Bei Aufruf ermittlet das Script zuerst wann es zuletzt gelaufen ist.
Dann scannt es den Ordner $vhost_dir nach neuen oder geänderten V-Host Dateien.
Wird eine solche gefunden, wird die Zeile "CustomLog" angepasst.
Aus "/home/users/username/access.log" wird "/home/users/username/domain.tld.access.log".
  • Alle Subdomains werden in das domainspezifische Logfile geschrieben.
  • Das "ErrorLog" bleibt unverändert.
  • Die geänderte V-Host Datei wird gespeichert und Apache neu gestartet.
  • Es ist keine Datei-Sperre mit "chattr -i" nötig. Keyhelp arbeitet auch mit der angepassten Version.

====================================================================
Für Ideen, Meinungen, Lob, Anregungen, Kritik und Verbesserungsvorschläge sowie Trinkgeld bin ich immer zu haben :lol: .
Einfach hier im Thread melden. Dann wird dir geholfen.

So und nun viel Spass mit den domainspezifischen Logfiles.
Attachments
vhosts_config.php.txt
(3.2 KiB) Downloaded 304 times
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
select name from me;
Posts: 579
Joined: Tue 9. Feb 2016, 16:44

Re: Pro Domain ein Logfile

Post by select name from me; »

Danke für die Anleitung.
Viele Grüße, Christian
DeCysos
Posts: 2
Joined: Tue 17. Dec 2019, 00:34

Re: Pro Domain ein Logfile

Post by DeCysos »

An für sich ist das eine tolle sache...
Ich bin auch nur über die Suchfunktion des Boards hier her gekommen weil ich auch gern möchte das für jede (Sub-)Domain ein extra Logfile angelegt werden sollte.

Jedoch würde ich mir wünschen das dieses auch für die ERROR.LOG passieren würde.

Was für mich noch etwas unklar ist...
Das Script kann/sollte/könnte alle 60 Minuten ausgeführt werden um die vhosts zu scannen und ggf umzuschreiben.
Was passiert wenn ich 10 Minuten nachdem das Script lief eine änderung in Keyhelp vor nehme und die vhosts Datei von Keyhelp neu geschrieben wird. Dann fehlen mir wahrscheinlich 50 Minuten Protokollierung in den Logfiles, oder?

Würde die anzeige der Protokolle noch über Keyhelp funktionieren?
User avatar
Tobi
Community Moderator
Posts: 2812
Joined: Thu 5. Jan 2017, 13:24

Re: Pro Domain ein Logfile

Post by Tobi »

Klar, da fehlen ein paar Minuten.
Ist halt die Frage wie wichtig diese sind.

Du kannst das Skript natürlich auch alle 5 Minuten triggern oder sogar minütlich. Es ist dann halt nur so, dass das Skript in 99,9 % aller Fälle nix zu tun hat. Keine Ahnung ob das viel Last bedeutet.

Wenn du im 5 Minuten Takt neue Domains hinzufügst macht das auch Sinn. Fügst du nur alle paar Tage eine neue Domain hinzu sollte das stündliche Intervall locker reichen und sie Outtakes sollten verschmerzbar sein.
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
DeCysos
Posts: 2
Joined: Tue 17. Dec 2019, 00:34

Re: Pro Domain ein Logfile

Post by DeCysos »

Dieser Ansatz hier war ganz Prima....

Nun gehe ich der Annahme, weil es ja schon eine weile her ist (2018), dass die Einstellungen in Keyhelp -> Domain -> Apache-Einstellungen -> Anweisungen für HTTP/s noch nicht existent waren.

Ich habe es nun so gelöst das ich für jede "Sub-" Domain einen bzw zwei Einträge vornehme.
Cool wäre es natürlich wenn dies bei der Erstellung der jeweiligen vhosts passieren würde.

Eintrag wie folgt (je Domain)

Code: Select all

CustomLog "/home/users/BENUTZERNAME/www/HAUPTDOMAIN.de/logfiles/DOMAIN_access.log" keyhelp_log
ErrorLog "/home/users/BENUTZERNAME/www/HAUPTDOMAIN.de/logfiles/DOMAIN_error.log"
User avatar
space2place
Posts: 486
Joined: Tue 24. Mar 2020, 11:02
Contact:

Re: Pro Domain ein Logfile

Post by space2place »

Das Thema wurde vor kurzem hier behandelt:
viewtopic.php?p=31435#p31435
Locked