Logging: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(Kategorien Traffic)
KKeine Bearbeitungszusammenfassung
 
(31 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{HSDoku-Links}}
{{HSDoku-Links}}
== 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. Dieses ist unter dem Namen
Zur Überwachung von [[Traffic]] stehen für ein Paket verschiedene Logdateien zur Verfügung.
/home/pacs/xyz00/var/traffic-YYYY-MM.log
 
== Pakettraffic zur Abrechnung ==
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
<syntaxhighlight lang=output>
/home/pacs/xyz00/var/traffic-iptables-YYYY-MM.log
</syntaxhighlight>
zu finden und enthält mehrere durch ein Semikolon voneinander abgetrennte Felder, zum Beispiel:
zu finden und enthält mehrere durch ein Semikolon voneinander abgetrennte Felder, zum Beispiel:


<pre><nowiki>
<syntaxhighlight lang=output line>
# Datum ; Pac ; Trafficlimit Monat ; Trafficlimit Tag ; Trafficsumme ; HTTP ; FTP ; POP3
# Datum ; Paket ; Monatslimit ; Tageslimit ; Trafficsumme ; IP-Adresse 1 ; Traffic 1 ; IP-Adresse 2 ; Traffic 2
2004-01-01;xyz00;4096;136.533;26.404;25.467;0.225;0.712
2010-04-01;xyz00;2048;68.267;18.810;10.0.0.1;18.810;10.0.0.2;0.000
2004-01-02;xyz00;4096;136.533;76.715;61.936;0.055;14.724
2010-04-02;xyz00;2048;68.267;3.567;10.0.0.1;3.567;;0.000
</nowiki></pre>
</syntaxhighlight>
 
Dabei bedeuten die Spalten im Einzelnen:
Dabei bedeuten die Spalten im Einzelnen:


  1. Datum der Messung im Format YYYY-MM-DD
# Datum der Messung im Format YYYY-MM-DD
  2. Name des Paketes
# Name des Pakets
  3. Gebuchter Gesamttraffic pro Monat in Megabytes
# Gebuchter Gesamttraffic pro Monat in Megabyte
  4. Durchschnittlich möglicher Traffic in Megabytes pro Tag bei einer gleichmäßigen Nutzung
# Tägliches Traffic-Kontingent bei gleichmäßigem Verbrauch, in Megabyte
  5. Trafficverbrauch am angegebenen Tag in Megabytes
# Tatsächlich angefallener Traffic am angegebenen Tag in Megabyte (Summe von Spalte 7 und Spalte 9)
  6. Trafficverbrauch für HTTP in Megabytes
# Primäre IP-Adresse des Pakets am jeweiligen Tag
  7. Trafficverbrauch für FTP in Megabytes
# Über die primäre IP-Adresse angefallener Traffic in Megabyte
  8. Trafficverbrauch für POP3/IMAP in Megabytes
# Sekundäre IP-Adresse des Pakets am jeweiligen Tag (ggf.)
# Über die sekundäre IP-Adresse angefallener Traffic in Megabyte (ggf.)


Auf diesen Zahlen basieren auch die automatisch verschickten Hinweismails zur Trafficnutzung, falls diese an einem Tag einmal über dem rechnerischen Mittelwert liegen sollte.
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-Nummer]] werden die kumulierten Traffic-Zahlen ([[inbound]] und [[outbound]]) 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 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.
== HTTP-Logfiles ==
Das Access-Log des Webservers steht im jeweiligen Paket mit wenigen Minuten Verzögerung zur Verfügung und kann unter
<syntaxhighlight lang=output>
/home/pacs/xyz00/var/web.log
</syntaxhighlight>
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
<syntaxhighlight lang=output>
/home/pacs/xyz00/var/web-www.example.org-YYYYMMDD-HHMI.log.gz
</syntaxhighlight>
und enthält neben aufgerufener Domain und Subdomain auch Datum und Uhrzeit der Generierung.


<pre><nowiki>
Diese Dateien werden normalerweise 48 Tage lang aufgehoben und dann automatisch gelöscht, sofern der Paket-Admin sie nicht bereits selber gelöscht, umbenannt oder verschoben hat. Siehe aber [[#Konfigurationsmöglichkeiten|weiter unten]] die Möglichkeiten, eine abweichendes Verhalten zu konfigurieren.
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
</nowiki></pre>


== HTTP-Traffic ==
Diejenigen Einträge des Error-Logfiles des Webservers, die automatisch einem Hostsharing-Paket zugeordnet werden können, stehen im jeweiligen Paket ebenfalls mit wenigen Minuten Verzögerung zur Verfügung und können unter
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 entsprechend dem abgerufenen Domainnamen generiert und komprimiert abgespeichert. Der Dateiname lautet
/home/pacs/xyz00/var/web-www.example.org-YYYYMMDD-HHMI.log.gz
enthält neben aufgerufener Domain und Subdomain auch Datum und Uhrzeit der Generierung.


Die Dateien werden [[#Konfigurationsmöglichkeiten|normalerweise]] 48 Tage lang aufgehoben und dann automatisch gelöscht, sofern der Paktet-Admin sie nicht bereits selber gelöscht, umbenannt oder verschoben hat.
<syntaxhighlight lang=output>
/home/pacs/xyz00/var/web.err
</syntaxhighlight>


Vom Webserver wird lediglich die Größe des zum Client übertragenen Dokumentes im Logfile vermerkt. Der tatsächlich entstehende Traffic liegt jedoch über diesem Wert, da der Request zur Anforderung hinzugezählt werden muss und auch durch das zur Übertragung verwendete TCP/IP-Protokoll zusätzliche 40 Bytes Overhead entstehen. Wir benutzen deshalb die nachfolgende Formel zur Abschätzung des tatsächlich entstandenen Traffics:
eingesehen werden.


:Traffic = 1.15 * ( Documentsize + Requestsize + 40 )
== FTP-Logfiles ==
 
== 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
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
<syntaxhighlight lang=output>
als komprimierte Datei abgelegt. Auch hier werden vom System die Logfiles nach 48 Tagen automatisch gelöscht, wenn der [[PaketAdmin]]  oder [[DomainAdmin]] nichts anderes [[#Konfigurationsmöglichkeiten|eingestellt]] hat.
/home/pacs/xyz00/var/ftp-YYYYMMDD-HHMI.log.gz
 
</syntaxhighlight>
Die Berechnung des tatsächlich genutzten Traffics wird ähnlich wie beim HTTP-Traffic vorgenommen. Die Größe des Requests beinhaltet unter anderem den angesprochenen Dateinamen und kompensiert auch einige nicht im Logfile protokollierte Operationen (beispielsweise das Auflisten von Verzeichnisinhalten). Die verwendete Formel lautet:
als komprimierte Datei abgelegt. Auch hier werden die Logfiles standardmäßig nach 48 Tagen vom System automatisch gelöscht. Siehe aber [[#Konfigurationsmöglichkeiten|weiter unten]] die Möglichkeiten, eine abweichendes Verhalten zu konfigurieren.
 
:Traffic = 1.15 * ( Filesize + Requestsize)


Die Felder (Spalten) sind der Reihe nach:
Die Felder (Spalten) sind der Reihe nach:
Zeile 69: Zeile 66:
! Felder !! Beschreibung
! Felder !! Beschreibung
|-
|-
| Datum/Zeit ||aktuelles Datum und aktuelle Zeit auf localhost im Format DDD MMM dd hh:mm:ss:YYYY
| 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
| Dauer||Anzahl der angefangenen Sekunden, die die Datei-Übertragung gedauert hat
|-
|-
| Remote||Domain-Name oder IP-Nummer der Gegenstelle des Transfers (immer localhost bei ssh Tunnel)
| Remote||Domain-Name oder IP-Adresse der Gegenstelle des Transfers (bei SSH-Tunnel immer localhost)
|-
|-
| Größe||Anzahl der Bytes in der übertragenen Datei
| Größe||Anzahl der Bytes in der übertragenen Datei
Zeile 79: Zeile 76:
| Dateiname||Name oder vollständiger Pfad der übertragenen Datei
| Dateiname||Name oder vollständiger Pfad der übertragenen Datei
|-
|-
| Mode||a - ASCII Transfer Type<br> b - Binäre Dateiübertragung
| Mode||Übertragungsmodus: a - ASCII<br> b - binär
|-
|-
| Format|| C - Datei wurde komprimiert (compress)<br> U - Datei wurde entkomprimiert (uncompressed)<br> T - Datei wurde als tarball versandt (tarred)_ - Datei blieb unverändertRichtung<br> i - Datei wurde auf localhost hochgeladen (input)<br> o - Datei wurde von localhost heruntergeladen (output)<br> d - Datei wurde auf localhost gelöscht (delete)
| Format|| C - Datei wurde komprimiert<br> U - Datei wurde entkomprimiert<br> T - Datei wurde als tar-Archiv versandt<br>_ - Datei wurde nicht verändert
|-
|-
| Zugriff||   r - Der folgende User-name ist ein regulärer user (real)<br> g - Der folgende User-name gehört zu einem Gastzugang mit Password (guest)<br> a - Der folgende User-name ist ein Passwort (anonymous)
| Richtung|| i - Datei wurde auf localhost hochgeladen (inbound)<br> o - Datei wurde von localhost heruntergeladen (outbound)<br> d - Datei wurde auf localhost gelöscht (delete)
|-
|-
| User-name||Name des users, unter dem der Zugriff bzw. die Übertragung erfolgte, sofern er sich angemeldet hat, oder das Passwort bei anonymen Usern.
| Zugriff||  r - Der folgende User-name ist ein regulärer user <br> g - Der folgende User-name gehört zu einem Gastzugang mit Password <br> a - Der User-name war "anonymous"; das angegebene Passwort folgt
|-
|-
| Service||Name des Service der Übertragung, normalerweise ftp oder fsp.
| User-name||Name des users, der den Zugriff oder die Übertragung vornahm, oder das Passwort, falls der Name "anonymous" war.
|-
|-
| Authentifizierung|| 0 - keine / standard<br> 1 - RFC 931 Authentifizierung
| Service||Name des Übertragungsdiensts; normalerweise ftp oder fsp.
|-
|-
| Auth-User-Id|| Wenn ein authentifizierter User vorliegt, dessen Name oder Id, ansonsten wird "*" ausgegeben.
| Authentifizierung|| 0 - keine (Standard)<br> 1 - Authentifizierung nach RFC 931
|-
|-
| Beendigung||  c - Transfer beendet (complete)<br> i - Übertragung unvollständig (incomplete)
| Auth-User-Id|| Falls ein authentifizierter User vorliegt, dessen Name oder Id; sonst "*".
|-
| Beendigung||  c - Übertragung vollständig<br> i - Übertragung unvollständig
|}
|}


== Mail-Traffic ==
== Mail-Logfiles ==


Eine Bereitstellung der täglichen Logs über POP3- und IMAP-Zugriffe auf Paketuser ist optional möglich und wird im nächsten Abschnitt beschrieben. Die Logfiles werden dann unter dem Namen /home/pacs/xyz00/var/mail-YYYYMMDD-HHMI.log.gz als komprimierte Datei abgelegt.
Ein tägliches Log der POP3- und IMAP-Zugriffe auf Paketuser kann optional bereitgestellt werden. Die [[#Konfigurationsmöglichkeiten|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.


Für die Berechnung des Traffics wird die unten angegebene Formel benutzt. Mit den 1500 Bytes pro Verbindung wird das beim Auf- und Abbau der Verbindung ablaufende Protokoll zwischen Mailclient und Server berücksichtigt.
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. Sollten im Einzelfall Auszüge aus den SMTP-Logfiles benötigt werden, bitte per E-Mail bei service@hostsharing.net melden.


Traffic = 1.15 * ( Mailsize + 1500 )
Summe des Traffic pro Paket anzeigen:


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 größeres Problem.
<syntaxhighlight lang=shell>
zcat /home/pacs/xyz00/var/mail-YYYYMMDD-HHMI.log.gz | grep xyz00 | grep "size=" | awk -F "size=" '{print $2}' | awk -F "/" '{s+=$1} END {printf "size: %d\n", s}'
</syntaxhighlight>


== Konfigurationsmöglichkeiten ==
== Konfigurationsmöglichkeiten ==
=== für Paket- und Domainadmins ==?


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 werden alternativ im Verzeichnis der Domain- oder des Domainadmins angelegt.
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 unter dem Namen /home/pacs/xyz00/etc/config.ini erstellt werden.
Die Konfiguration der Features erfolgt zunächst über eine vom Paketadmin anzulegende Steuerdatei. Die Datei muss den Namen <code>/home/pacs/xyz00/etc/config.ini</code> haben.


Das Format dieser Datei ist das bekannte Inifile-Format, d.h. es gibt sogenannte Sektionen (in eckigen Klammern) und darin Parameter, denen ein Wert zugewiesen wird. Durch die Sektionen wird der Gültigkeitsbereich der darin festgelegten Parameter bestimmt. Derzeit gibt es neben der Sektion [global], die Parameter für das komplette Paket enthält, noch die domainspezifischen Sektionen. Der Name dieser Sektionen setzt sich aus einem Prefix dom: und dem jeweiligen Domainnamen zusammen. Eine Beispielkonfiguration könnte folgendermaßen aussehen:
Diese Datei ist in Abschnitte gegliedert, die jeweils durch einen Abschnittsnamen in eckigen Klammern angeführt 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 <code>[global]</code>, der die für das gesamte Paket gültige Einstellungen, noch die domainspezifischen Abschnitte. Der Name dieser Abschnitte setzt sich aus dem Prefix <code>dom:</code> und dem jeweiligen Domainnamen zusammen. Leerzeilen sind erlaubt; Kommentare werden durch ein Semikolon am Zeilenanfang gekennzeichnet. Eine Beispielkonfiguration könnte folgendermaßen aussehen:


<pre><nowiki>
<syntaxhighlight lang=ini line>
;
;
; Config
; config.ini: angepaßtes Logging-Verhalten für das Paket xyz00
;
;
[global]
[global]
Zeile 125: Zeile 125:
http_domaintraffic      = yes
http_domaintraffic      = yes
use_domain_config      = http_log_generate, http_log_retention
use_domain_config      = http_log_generate, http_log_retention
[dom:example.org]
[dom:example.org]
http_log_generate      = no
http_log_generate      = no
[dom:www.example.org]
[dom:www.example.org]
http_log_generate      = yes
http_log_generate      = yes
http_log_retention      = 10
http_log_retention      = 10
[dom:example.com]
 
[dom:beispiel.com]
http_log_directory      = domain
http_log_directory      = domain
http_log_generate      = yes
http_log_generate      = yes
http_log_purge          = no
http_log_purge          = no
</nowiki></pre>
</syntaxhighlight>
 
Derzeit lassen sich in der Konfigurationsdatei folgende Parameter definieren:


Derzeit lassen sich in der Konfigurationsdatei die nachfolgenden Parameter definieren:
* <code>http_log_generate</code> legt fest, ob für das Paket oder die Domain überhaupt Logfiles generiert werden sollen. Die möglichen Werte für diesen Parameter sind <code>yes</code> oder <code>no</code>. Unabhängig davon fließt der produzierte Traffic natürlich in die Abrechnung mit ein. Defaultwert: <code>yes</code>.
* <code>http_log_directory</code> gibt an, wo die Logfiles gesichert werden sollen. Die erlaubten Werte sind <code>pac</code> (Logfiles im var-Verzeichnis des Paketes), <code>domadmin</code> (Logfiles im var-Verzeichnis des Domainadmins) oder <code>domain</code> (Logfiles im var-Verzeichnis der Domain). Defaultwert: <code>pac</code>.
* <code>http_log_purge</code> ermöglicht eine Kontrolle über das automatische Löschen der Logfiles. Bei der Einstellung <code>yes</code> werden die Logfiles wie bisher regelmäßig vom System gelöscht. Die Einstellung <code>no</code> verhindert ein automatisches Löschen. Defaultwert: <code>yes</code>.
* <code>http_log_retention</code> 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 von <code>1</code> bis <code>10000</code> möglich, die dann die Aufbewahrungszeit in Tagen angeben. Defaultwert: <code>48</code>.
* <code>http_domaintraffic</code> ermöglicht die zusätzliche Erzeugung eines Logs mit den Trafficdaten der einzelnen Hosts im Paket. Dies kann mit <code>yes</code> ein- und mit NO ausgeschaltet werden. Defaultwert: <code>no</code>.
* <code>ftp_log_generate</code> steuert analog zu http_log_generate die Generierung der FTP-Logs. Defaultwert: <code>yes</code>.
* <code>ftp_log_purge</code> erlaubt die Kontrolle über das Löschen der FTP-Logs. Defaultwert: <code>yes</code>.
* <code>ftp_log_retention</code> ist für die Festlegung der Aufbewahrungsdauer der FTP-Logs zuständig. Defaultwert: <code>48</code>.
* <code>mail_log_generate</code> legt fest, ob Logfiles über den Mailverkehr des Paketes (derzeit nur POP3 und IMAP) angelegt werden sollen. Defaultwert: <code>no</code>.
* <code>mail_log_purge</code> ermöglicht auch hier die Kontrolle über das Löschen der Maillogs. Defaultwert: <code>no</code>.
* <code>mail_log_retention</code> Kontrolliert analog zu den anderen Parametern die Aufbewahrungsdauer der Maillogs. Defaultwert: <code>48</code>.
* <code>use_domain_config</code> ermöglicht dem Paketadmin, die gezielte Weitergabe der Konfigurationsmöglichkeit an den jeweiligen Domainadmin. Die gültigen Werte sind <code>yes</code> oder <code>all</code> 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.


* 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 sind YES oder NO. Unabhängig davon fließt der produzierte Traffic natürlich in die Abrechnung mit ein. Defaultwert: YES.
Da die Logfiles für Mail- und FTP-Traffic nur Paketweise generiert werden, sind die entsprechenden Parameter nur im Abschnitt <code>[global]</code> erlaubt.
* http_log_directory gibt an, wo die Logfiles gesichert werden sollen. Die erlaubten Werte sind PAC (Logfiles im var-Verzeichnis des Paketes), DOMADMIN(Logfiles im var-Verzeichnis des Domainadmins) oder DOMAIN (Logfiles im var-Verzeichnis der Domain). Defaultwert: PAC.
* http_log_purge ermöglicht eine Kontrolle über das automatische Löschen der Logfiles. Bei der Einstellung YES werden die Logfiles wie bisher regelmäßig vom System gelöscht. Die Einstellung NO 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 von 1 bis 10000 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 mit YES 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 sind YES oder ALL für die Weitergabe aller Konfigurationsmöglichkeiten oder eine durch Kommata unterteilte Liste der gewünschten Parameternamen. Dies ist per Default nicht aktiviert.  


Bei der Ermittlung eines Parameters gilt der Grundsatz, dass eine allgemeine Sektion von einer spezielleren Sektion überschrieben wird. Der in [dom:www.example.org] gesetzte Parameter gilt also vor dem in [dom:example.org] hinterlegten Wert und dieser wird wiederum vor dem in [global] eingetragenen Wert verwendet.
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 <code>[dom:www.example.org]</code> gesetzter Wert gilt für die Domain www.example.org unabhängig von einem Abschnitt <code>[dom:example.org]</code> definierten Wert des gleichnamigen Parameters, und dieser gilt wiederum für example.org unabhängig von einem in <code>[global]</code> eingetragenen Wert.


In der angegebenen Beispielkonfiguration wird also keine Generierung der Maillogs gewünscht. Dagegen werden die FTP-Logs im Paket generiert und auch wieder automatisch gelöscht. Da die Logfiles für Mail- und FTP-Traffic nur Paketweise generiert werden, sind diese Parameter auch nur in der Sektion [global] erlaubt. Für die Aufbewahrungsdauer der FTP-Logs ist hier kein Wert festgelegt worden und damit wird der systemweite Default genommen. Die Defaultwerte sind in der Sektion [pacs] der Datei /usr/local/etc/config.ini hinterlegt.
In der oben angegebenen Beispielkonfiguration wird also keine Generierung der Maillogs gewünscht. Dagegen werden die FTP-Logs (im <code>var/</code>-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 <code>[pacs]</code> der Datei <code>/usr/local/etc/config.ini</code> 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 nachfolgendes Format:
Durch den Parameter <code>http_domaintraffic</code> wurde die Erzeugung eines zusätzlichen Logfiles mit den Trafficwerten der Einzeldomains aktiviert. Auch dieser Parameter ist nur in der Sektion <code>[global]</code> erlaubt, da er paketweit gilt. Die so erzeugte Datei wird unter dem Namen  
<syntaxhighlight lang=output>
/home/pacs/xyz00/var/domaintraffic-http-YYYY-MM.log  
</syntaxhighlight>
angelegt und hat folgendes Format:


<pre><nowiki>
<syntaxhighlight lang=output line>
# Datum ; Domain ; Requests ; MB
# Datum ; Domain ; Anzahl der Anforderungen ; MB
2003-08-20;xyz00.hostsharing.net;28;0.213
2003-08-20;xyz00.hostsharing.net;28;0.213
2003-08-20;www.example.net;2;0.001
2003-08-20;www.example.net;2;0.001
Zeile 166: Zeile 175:
2003-08-22;example.net;2;0.001
2003-08-22;example.net;2;0.001
2003-08-22;www.example.org;64;0.181
2003-08-22;www.example.org;64;0.181
</nowiki></pre>
</syntaxhighlight>
 
Über den Parameter use_domain_config erlaubt der Domainadmin, dass die im Paket eingerichteten Domainadmins jeweils auch eine Datei </code>~/etc/config.ini</code> anlegen können, wo sie die Parameter für die Erzeugung und Aufbewahrungsfristen der Logs selber steuern können. Der Parameter kann auch innerhalb einer Sektion für eine Domain gesetzt werden und erlaubt dies dann nur für die jeweilige Domain.
 
Für Zugriffe auf die Domain example.org werden laut Konfiguration keine Logfiles erzeugt, während dies für die Subdomain <code>www.example.org</code> durchaus gemacht wird. Diese Logfiles werden vom System auch nach 10 Tagen wieder gelöscht, wenn nichts andere [[#Einstellungen|eingestellt <code>]].


Für die Domain example.com werden alle Logfiles im var-Verzeichnis der Domain (also <code>/home/doms/example.com/var</code>) erzeugt. Da keine Sektionen für irgendwelche Subdomains angelegt sind, gilt dies auch für alle Subdomains. Ein automatisches Löschen dieser Logs wird vom System nicht mehr vorgenommen.
Der Parameter <code>use_domain_config</code> in der <code>config.ini</code> des Domainadmins erlaubt den im Paket eingerichteten Domainadmins, die Erzeugung und Aufbewahrungsfristen der Logs selber zu steuern. Dazu legen die Domainadmins jeweils eine Datei <code>~/etc/config.ini</code> an. Der Paketadmin kann auch den Parameter <code>use_domain_config</code> innerhalb eines Abschnitts für eine Domain setzen.


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>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]]
[[Kategorie:Logging]]
[[Kategorie:Logfile]]
[[Kategorie:Traffic]]
[[Kategorie:Traffic]]
[[Kategorie:WebStatistik]]

Aktuelle Version vom 1. Juli 2024, 12:23 Uhr

Zur Überwachung von Traffic stehen für ein Paket verschiedene Logdateien zur Verfügung.

Pakettraffic zur Abrechnung

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-iptables-YYYY-MM.log

zu finden und enthält mehrere durch ein Semikolon voneinander abgetrennte Felder, zum Beispiel:

# Datum ; Paket ; Monatslimit ; Tageslimit ; Trafficsumme ; IP-Adresse 1 ; Traffic 1 ; IP-Adresse 2 ; Traffic 2
2010-04-01;xyz00;2048;68.267;18.810;10.0.0.1;18.810;10.0.0.2;0.000
2010-04-02;xyz00;2048;68.267;3.567;10.0.0.1;3.567;;0.000

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 (Summe von Spalte 7 und Spalte 9)
  6. Primäre IP-Adresse des Pakets am jeweiligen Tag
  7. Über die primäre IP-Adresse angefallener Traffic in Megabyte
  8. Sekundäre IP-Adresse des Pakets am jeweiligen Tag (ggf.)
  9. Über die sekundäre IP-Adresse angefallener Traffic in Megabyte (ggf.)

Auf diesen Zahlen basieren auch die automatisch verschickten Hinweismails zur Trafficnutzung, falls diese an einem Tag über dem rechnerischen Mittelwert liegen sollte.


HTTP-Logfiles

Das Access-Log des Webservers steht im jeweiligen Paket mit wenigen Minuten Verzögerung 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 Paket-Admin sie nicht bereits selber gelöscht, umbenannt oder verschoben hat. Siehe aber weiter unten die Möglichkeiten, eine abweichendes Verhalten zu konfigurieren.

Diejenigen Einträge des Error-Logfiles des Webservers, die automatisch einem Hostsharing-Paket zugeordnet werden können, stehen im jeweiligen Paket ebenfalls mit wenigen Minuten Verzögerung zur Verfügung und können unter

/home/pacs/xyz00/var/web.err

eingesehen werden.

FTP-Logfiles

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 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-Logfiles

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.

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. Sollten im Einzelfall Auszüge aus den SMTP-Logfiles benötigt werden, bitte per E-Mail bei service@hostsharing.net melden.

Summe des Traffic pro Paket anzeigen:

zcat /home/pacs/xyz00/var/mail-YYYYMMDD-HHMI.log.gz | grep xyz00 | grep "size=" | awk -F "size=" '{print $2}' | awk -F "/" '{s+=$1} END {printf "size: %d\n", s}'

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ührt 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 sind yes oder no. 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 sind pac (Logfiles im var-Verzeichnis des Paketes), domadmin (Logfiles im var-Verzeichnis des Domainadmins) oder domain (Logfiles im var-Verzeichnis der Domain). Defaultwert: pac.
  • http_log_purge ermöglicht eine Kontrolle über das automatische Löschen der Logfiles. Bei der Einstellung yes werden die Logfiles wie bisher regelmäßig vom System gelöscht. Die Einstellung no 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 von 1 bis 10000 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 mit yes 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 sind yes oder all 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.