Logging: Unterschied zwischen den Versionen
(Sprachliche Überarbeitung; <code>-Formatierung) |
K (example.com -> beispiel.com zur leichteren Unterscheidung von example.org) |
||
Zeile 135: | Zeile 135: | ||
http_log_retention = 10 | http_log_retention = 10 | ||
[dom: | [dom:beispiel.com] | ||
http_log_directory = domain | http_log_directory = domain | ||
http_log_generate = yes | http_log_generate = yes | ||
Zeile 181: | Zeile 181: | ||
Nach der Beispielkonfiguration oben werden keine Logfiles über Zugriffe auf die Domain <code>example.org</code> erzeugt, aber doch für die Subdomain <code>www.example.org</code>. Diese Logfiles werden vom System nach 10 Tagen wieder gelöscht, es sei denn, die <code>config.ini</code> des Domainadmins enthält eine andere Einstellung. | Nach der Beispielkonfiguration oben werden keine Logfiles über Zugriffe auf die Domain <code>example.org</code> erzeugt, aber doch für die Subdomain <code>www.example.org</code>. Diese Logfiles werden vom System nach 10 Tagen wieder gelöscht, es sei denn, die <code>config.ini</code> des Domainadmins enthält eine andere Einstellung. | ||
Für die Domain <code> | Für die Domain <code>beispiel.com</code> werden alle Logfiles im <code>var/</code>-Verzeichnis der Domain (also <code>/home/doms/beispiel.com/var/</code>) erzeugt. Diese Logfiles werden nicht mehr vom System automatsich gelöscht. Da kein besonderer Abschnitt für Subdomains von <code>beispiel.com</code> definiert wird, gelten für alle Subdomains von <code>beispiel.com</code> die gleichen Einstellungen. | ||
---- | ---- | ||
[[Kategorie:HSDoku]] | [[Kategorie:HSDoku]] |
Version vom 8. September 2009, 16:13 Uhr
Einstieg |
Hsadmin |
Pakete |
User |
Domains |
Cron |
Logging |
E-Mail |
WWW
Datenbanken |
Backup & Restore |
Installationsanleitungen |
FAQ |
Bugtracker
Allgemeines
Der zur Abrechnung herangezogene Traffic wird pro Tag dem Paketadmin als Logfile zugänglich gemacht. Für jeden Monat wird eine eigene Datei angelegt. Diese ist unter dem Namen /home/pacs/xyz00/var/traffic-YYYY-MM.log zu finden und enthält mehrere durch ein Semikolon voneinander abgetrennte Felder, zum Beispiel:
# Datum ; Pac ; Trafficlimit Monat ; Trafficlimit Tag ; Trafficsumme ; HTTP ; FTP ; POP3 2004-01-01;xyz00;4096;136.533;26.404;25.467;0.225;0.712 2004-01-02;xyz00;4096;136.533;76.715;61.936;0.055;14.724
Dabei bedeuten die Spalten im Einzelnen:
1. Datum der Messung im Format YYYY-MM-DD 2. Name des Pakets 3. Gebuchter Gesamttraffic pro Monat in Megabyte 4. Tägliches Traffic-Kontingent bei gleichmäßigem Verbrauch, in Megabyte 5. Tatsächlich angefallener Traffic am angegebenen Tag in Megabyte 6. Durch HTTP-Nutzung angefallener Traffic in Megabyte 7. Durch FTP-Nutzung angefallener Traffic in Megabyte 8. Durch POP3- oder IMAP-Nutzung angefallener Traffic in Megabyte
Auf diesen Zahlen basieren auch die automatisch verschickten Hinweismails zur Trafficnutzung, falls diese an einem Tag über dem rechnerischen Mittelwert liegen sollte.
Traffic bei eigener IP-Adresse
Bei Paketen mit einer eigenen IP-Adresse werden die kumulierten Traffic-Zahlen (eingehend und abgehend) der IPC-ng-Auswertung für die IP-Nummer des Pakets monatlich in einer Datei mit dem Namen
/home/pacs/xyz00/var/trafficlog.YYYY-MM
täglich aktualisiert. Die Zahlen des aktuellen Tages stehen außerdem in der Datei
/home/pacs/xyz00/var/trafficlog.today
zur Verfügung. Diese werden alle zwei Stunden aktualisiert.
Das Beispiel unten zeigt eine Tagesstatistik vom 14.7.2003 von Mitternacht bis 11:02:54 für eine fiktive IP-Adresse 10.11.12.13. Es wurde in diesem Zeitraum etwa 144 KB eingehender und 246 KB abgehender Traffic für diese IP-Adresse gemessen.
IP accounting summary Host: pima.hostsharing.net / Time created: 2003/07/14 11:02:54 CES Data from 2003/07/14 00:00:00 CES to 2003/07/14 11:02:54 CES 10.11.12.13 in : 147764 10.11.12.13 out : 252910
HTTP-Traffic
Im Moment steht das Access-Log des Webservers im jeweiligen Paket in Echtzeit zur Verfügung und kann unter
/home/pacs/xyz00/var/web.log
eingesehen werden. Kurz nach Mitternacht werden aus dieser Datei einzelne Logfiles für alle abgerufenen Domainnamen generiert und komprimiert abgespeichert. Der Dateiname hat die Form
/home/pacs/xyz00/var/web-www.example.org-YYYYMMDD-HHMI.log.gz
und enthält neben aufgerufener Domain und Subdomain auch Datum und Uhrzeit der Generierung.
Diese Dateien werden normalerweise 48 Tage lang aufgehoben und dann automatisch gelöscht, sofern der Paktet-Admin sie nicht bereits selber gelöscht, umbenannt oder verschoben hat. Siehe aber weiter unten die Möglichkeiten, eine abweichendes Verhalten zu konfigurieren.
Der Webserver vermerkt in der Log-Datei lediglich die Größe der zum Client übertragenen Dokumente. Der tatsächlich entstehende Traffic liegt jedoch über diesem Wert, da die Anforderung hinzugezählt werden muss und auch durch das zur Übertragung verwendete TCP/IP-Protokoll zusätzliche 40 Byte Overhead entstehen. Wir benutzen deshalb die nachfolgende Formel zur Abschätzung des tatsächlich entstandenen Traffics:
- Traffic = 1.15 * ( Größe des gelieferten Dokuments + Größe der Anforderung + 40 )
FTP-Traffic
Das Logfile des FTP-Servers liegt nur zentral vor. Einmal pro Nacht werden die für das jeweilige Paket relevanten Einträge des vergangenen Tages gefiltert und unter dem Namen
/home/pacs/xyz00/var/ftp-YYYYMMDD-HHMI.log.gz
als komprimierte Datei abgelegt. Auch hier werden die Logfiles standardmäßig nach 48 Tagen vom System automatisch gelöscht. Siehe aber weiter unten die Möglichkeiten, eine abweichendes Verhalten zu konfigurieren.
Die Berechnung des tatsächlich genutzten Traffics wird ähnlich wie beim HTTP-Traffic vorgenommen. Die Größe der Anforderung beinhaltet unter anderem den angesprochenen Dateinamen und kompensiert auch einige nicht im Logfile protokollierte Operationen (beispielsweise das Auflisten von Verzeichnisinhalten). Die verwendete Formel lautet:
- Traffic = 1.15 * ( Größe der gelieferten Datei + Größe der Anforderung )
Die Felder (Spalten) sind der Reihe nach:
Felder | Beschreibung |
---|---|
Datum/Zeit | Datum und Uhrzeit des Log-Eintrags auf localhost im Format DDD MMM dd hh:mm:ss:YYYY |
Dauer | Anzahl der angefangenen Sekunden, die die Datei-Übertragung gedauert hat |
Remote | Domain-Name oder IP-Adresse der Gegenstelle des Transfers (bei SSH-Tunnel immer localhost) |
Größe | Anzahl der Bytes in der übertragenen Datei |
Dateiname | Name oder vollständiger Pfad der übertragenen Datei |
Mode | Übertragungsmodus: a - ASCII b - binär |
Format | C - Datei wurde komprimiert U - Datei wurde entkomprimiert T - Datei wurde als tar-Archiv versandt _ - Datei wurde nicht verändert |
Richtung | i - Datei wurde auf localhost hochgeladen (inbound) o - Datei wurde von localhost heruntergeladen (outbound) d - Datei wurde auf localhost gelöscht (delete) |
Zugriff | r - Der folgende User-name ist ein regulärer user g - Der folgende User-name gehört zu einem Gastzugang mit Password a - Der User-name war "anonymous"; das angegebene Passwort folgt |
User-name | Name des users, der den Zugriff oder die Übertragung vornahm, oder das Passwort, falls der Name "anonymous" war. |
Service | Name des Übertragungsdiensts; normalerweise ftp oder fsp. |
Authentifizierung | 0 - keine (Standard) 1 - Authentifizierung nach RFC 931 |
Auth-User-Id | Falls ein authentifizierter User vorliegt, dessen Name oder Id; sonst "*". |
Beendigung | c - Übertragung vollständig i - Übertragung unvollständig |
Mail-Traffic
Ein tägliches Log der POP3- und IMAP-Zugriffe auf Paketuser kann optional bereitgestellt werden. Die Konfiguration wird im nächsten Abschnitt beschrieben. Diese Logfiles werden gegebenenfalls unter dem Namen /home/pacs/xyz00/var/mail-YYYYMMDD-HHMI.log.gz komprimiert abgelegt.
Der Mail-Traffic wird nach der unten angegebene Formel berechnet. Mit den 1500 Bytes pro Verbindung wird das beim Auf- und Abbau der Verbindung ablaufende Protokoll zwischen Mailclient und Server berücksichtigt.
Traffic = 1.15 * ( Größe der Mails + 1500 )
Logs über den Traffic des SMTP-Servers stehen derzeit nur den Hostmastern zur Verfügung. Eine Verteilung der relevanten Einträge auf die Pakete wird angestrebt, ist jedoch durch die vielfältigen Wege einer Mail durch das System (jeweils mit unterschiedlichen Logeinträgen) ein komplexes Problem.
Konfigurationsmöglichkeiten
Die nachfolgende Beschreibung zeigt, wie die automatische Erstellung der Traffic-Logs im Paket beeinflusst werden kann. So lässt sich beispielsweise die Erstellung komplett unterdrücken, wenn man an den Logs nicht interessiert ist, oder die Webserverlogs können alternativ im Verzeichnis der Domain oder des Domainadmins angelegt werden.
Die Konfiguration der Features erfolgt zunächst über eine vom Paketadmin anzulegende Steuerdatei. Die Datei muss den Namen /home/pacs/xyz00/etc/config.ini
haben.
Diese Datei ist in Abschnitte gegliedert, die jeweils durch einen Abschnittsnamen in eckigen Klammern angefürht werden. In jedem Abschnitt gibt es Parameter, denen ein Wert zugewiesen wird. Der Abschnittsnamen legt der Gültigkeitsbereich der darin festgelegten Parameter fest. Derzeit gibt es neben dem Abschnitt [global]
, der die für das gesamte Paket gültige Einstellungen, noch die domainspezifischen Abschnitte. Der Name dieser Abschnitte setzt sich aus dem Prefix dom:
und dem jeweiligen Domainnamen zusammen. Leerzeilen sind erlaubt; Kommentare werden durch ein Semikolon am Zeilenanfang gekennzeichnet. Eine Beispielkonfiguration könnte folgendermaßen aussehen:
; ; config.ini: angepaßtes Logging-Verhalten für das Paket xyz00 ; [global] mail_log_generate = no ftp_log_generate = yes ftp_log_purge = yes http_domaintraffic = yes use_domain_config = http_log_generate, http_log_retention [dom:example.org] http_log_generate = no [dom:www.example.org] http_log_generate = yes http_log_retention = 10 [dom:beispiel.com] http_log_directory = domain http_log_generate = yes http_log_purge = no
Derzeit lassen sich in der Konfigurationsdatei folgende Parameter definieren:
http_log_generate
legt fest, ob für das Paket oder die Domain überhaupt Logfiles generiert werden sollen. Die möglichen Werte für diesen Parameter sindyes
oderno
. Unabhängig davon fließt der produzierte Traffic natürlich in die Abrechnung mit ein. Defaultwert:yes
.http_log_directory
gibt an, wo die Logfiles gesichert werden sollen. Die erlaubten Werte sindpac
(Logfiles im var-Verzeichnis des Paketes),domadmin
(Logfiles im var-Verzeichnis des Domainadmins) oderdomain
(Logfiles im var-Verzeichnis der Domain). Defaultwert:pac
.http_log_purge
ermöglicht eine Kontrolle über das automatische Löschen der Logfiles. Bei der Einstellungyes
werden die Logfiles wie bisher regelmäßig vom System gelöscht. Die Einstellungno
verhindert ein automatisches Löschen. Defaultwert:yes
.http_log_retention
kontrolliert den Zeitraum, nach dem die vorhandenen Logs automatisch gelöscht werden, falls dies durch den vorangegangenen Parameter nicht unterbunden wird. Als Werte sind Ganzzahlen von1
bis10000
möglich, die dann die Aufbewahrungszeit in Tagen angeben. Defaultwert:48
.http_domaintraffic
ermöglicht die zusätzliche Erzeugung eines Logs mit den Trafficdaten der einzelnen Hosts im Paket. Dies kann mityes
ein- und mit NO ausgeschaltet werden. Defaultwert:no
.ftp_log_generate
steuert analog zu http_log_generate die Generierung der FTP-Logs. Defaultwert:yes
.ftp_log_purge
erlaubt die Kontrolle über das Löschen der FTP-Logs. Defaultwert:yes
.ftp_log_retention
ist für die Festlegung der Aufbewahrungsdauer der FTP-Logs zuständig. Defaultwert:48
.mail_log_generate
legt fest, ob Logfiles über den Mailverkehr des Paketes (derzeit nur POP3 und IMAP) angelegt werden sollen. Defaultwert:no
.mail_log_purge
ermöglicht auch hier die Kontrolle über das Löschen der Maillogs. Defaultwert:no
.mail_log_retention
Kontrolliert analog zu den anderen Parametern die Aufbewahrungsdauer der Maillogs. Defaultwert:48
.use_domain_config
ermöglicht dem Paketadmin, die gezielte Weitergabe der Konfigurationsmöglichkeit an den jeweiligen Domainadmin. Die gültigen Werte sindyes
oderall
für die Weitergabe aller Konfigurationsmöglichkeiten oder eine durch Kommata unterteilte Liste der gewünschten Parameternamen. Per Default werden keine Parameter durch Domainkonfiguration bestimmt.
Da die Logfiles für Mail- und FTP-Traffic nur Paketweise generiert werden, sind die entsprechenden Parameter nur im Abschnitt [global]
erlaubt.
Parameter, die in einem allgemeinen Abschnitt gesetzt werden, können domainspezifisch von gleichnamigen Parametern in einem spezielleren Abschnitt überschrieben werden. Das heißt, ein in [dom:www.example.org]
gesetzter Wert gilt für die Domain www.example.org unabhängig von einem Abschnitt [dom:example.org]
definierten Wert des gleichnamigen Parameters, und dieser gilt wiederum für example.org unabhängig von einem in [global]
eingetragenen Wert.
In der oben angegebenen Beispielkonfiguration wird also keine Generierung der Maillogs gewünscht. Dagegen werden die FTP-Logs (im var/
-Verzeichnis des Pakets) generiert und auch wieder automatisch gelöscht. Für die Aufbewahrungsdauer der FTP-Logs ist hier kein Wert festgelegt worden; damit wird der systemweite Default verwendet. Die Defaultwerte sind in der Sektion [pacs]
der Datei /usr/local/etc/config.ini
hinterlegt.
Durch den Parameter http_domaintraffic
wurde die Erzeugung eines zusätzlichen Logfiles mit den Trafficwerten der Einzeldomains aktiviert. Auch dieser Parameter ist nur in der Sektion [global]
erlaubt, da er paketweit gilt. Die so erzeugte Datei wird unter dem Namen
/home/pacs/xyz00/var/domaintraffic-http-YYYY-MM.log
angelegt und hat folgendes Format:
# Datum ; Domain ; Anzahl der Anforderungen ; MB 2003-08-20;xyz00.hostsharing.net;28;0.213 2003-08-20;www.example.net;2;0.001 2003-08-20;www.example.org;147;0.642 2003-08-21;www.example.org;168;0.450 2003-08-22;xyz00.hostsharing.net;75;0.354 2003-08-22;example.net;2;0.001 2003-08-22;www.example.org;64;0.181
Der Parameter use_domain_config
in der config.ini
des Domainadmins erlaubt den im Paket eingerichteten Domainadmins, die Erzeugung und Aufbewahrungsfristen der Logs selber zu steuern. Dazu legen die Domainadmins jeweils eine Datei ~/etc/config.ini
an. Der Paketadmin kann auch den Parameter use_domain_config
innerhalb eines Abschnitts für eine Domain setzen.
Nach der Beispielkonfiguration oben werden keine Logfiles über Zugriffe auf die Domain example.org
erzeugt, aber doch für die Subdomain www.example.org
. Diese Logfiles werden vom System nach 10 Tagen wieder gelöscht, es sei denn, die config.ini
des Domainadmins enthält eine andere Einstellung.
Für die Domain beispiel.com
werden alle Logfiles im var/
-Verzeichnis der Domain (also /home/doms/beispiel.com/var/
) erzeugt. Diese Logfiles werden nicht mehr vom System automatsich gelöscht. Da kein besonderer Abschnitt für Subdomains von beispiel.com
definiert wird, gelten für alle Subdomains von beispiel.com
die gleichen Einstellungen.