Citrix ADC

Anpassen der Protokollierung auf dem NSWL-Clientsystem

Sie können die Anmeldung am Citrix ADC Web Logging (NSWL) -Clientsystem anpassen, indem Sie weitere Änderungen an der NSWL-Clientkonfigurationsdatei (log.conf) vornehmen. Verwenden Sie einen Texteditor, um die Konfigurationsdatei log.conf auf dem Clientsystem zu ändern.

Zum Anpassen der Protokollierung verwenden Sie die Konfigurationsdatei, um Filter und Protokolleigenschaften zu definieren.

  • Protokollfilter. Filtern Sie Protokollinformationen anhand der Host-IP-Adresse, des Domänennamens und des Hostnamens der Webserver.
  • Protokollierungseigenschaften. Jeder Filter verfügt über einen Satz von Protokolleigenschaften. Die Protokolleigenschaften legen fest, wie die gefilterten Protokollinformationen gespeichert werden.

Beispielkonfigurationsdatei

Im Folgenden finden Sie eine Beispielkonfigurationsdatei:

##########
# This is the NSWL configuration file
# Only the default filter is active
# Remove leading # to activate other filters
##########
##########
# Default filter (default on)
# W3C Format logging, new file is created every hour or on reaching 10MB file size,
# and the file name is Exyymmdd.log
##########
Filter default
begin default
        logFormat               W3C
        logInterval             Hourly
        logFileSizeLimit        10
        logFilenameFormat       Ex%`{`%y%m%d}t.log
end default
##########
# Citrix ADC caches example
# CACHE_F filter covers all the transaction with HOST name www.netscaler.com and the listed server ip's
##########
#Filter CACHE_F HOST www.netscaler.com IP 192.168.100.89 192.168.100.95 192.168.100.52 192.168.100.53 ON
##########
# netscaler origin server example
# Not interested in Origin server to Cache traffic transaction logging
##########
#Filter ORIGIN_SERVERS IP 192.168.100.64 192.168.100.65 192.168.100.66 192.168.100.67 192.168.100.225 192.168.100.226 192.168.
100.227 192.168.100.228 OFF
##########
# netscaler image server example
# all the image server logging.
##########
#Filter IMAGE_SERVER HOST www.netscaler.images.com IP 192.168.100.71 192.168.100.72 192.168.100.169 192.168.100.170 192.168.10
0.171 ON
##########
# NCSA Format logging, new file is created every day midnight or on reaching 20MB file size,
# and the file name is /datadisk5/netscaler/log/NS<hostname>/Nsmmddyy.log.
# Exclude objects that ends with .gif .jpg .jar.
##########
#begin ORIGIN_SERVERS
#       logFormat               NCSA
#       logInterval             Daily
#       logFileSizeLimit        40
#       logFilenameFormat       /datadisk5/ORGIN/log/%v/NS%`{`%m%d%y}t.log
#       logExclude              .gif .jpg .jar
#end ORIGIN_SERVERS

##########
# NCSA Format logging, new file is created every day midnight or on reaching 20MB file size,
# and the file name is /datadisk5/netscaler/log/NS<hostname>/Nsmmddyy.log with log record timestamp as GMT.
##########
#begin CACHE_F
#       logFormat               NCSA
#       logInterval             Daily
#       logFileSizeLimit        20
#       logFilenameFormat /datadisk5/netscaler/log/%v/NS%`{`%m%d%y}t.log
#       logtime                 GMT
#end CACHE_F

##########
# W3C Format logging, new file on reaching 20MB and the log file path name is
# atadisk6/netscaler/log/server's ip/Exmmyydd.log with log record timestamp as LOCAL.
##########
#begin IMAGE_SERVER
#       logFormat               W3C
#       logInterval             Size
#       logFileSizeLimit        20
#       logFilenameFormat /datadisk6/netscaler/log/%AEx%`{`%m%d%y}t
#       logtime                 LOCAL
#end IMAGE_SERVER

##########
# Virtual Host by Name firm, can filter out the logging based on the host name by,
##########

#Filter VHOST_F IP 10.101.2.151 NETMASK 255.255.255.0
#begin VHOST_F
#       logFormat               W3C
#       logInterval             Daily
#       logFileSizeLimit        10
logFilenameFormat /ns/prod/vhost/%v/Ex%`{`%m%d%y}t
#end VHOST_F

########## END FILTER CONFIGURATION ##########
<!--NeedCopy-->

Erstellen von Filtern

Sie können die Standardfilterdefinition in der Konfigurationsdatei (log.conf) verwenden oder den Filter ändern oder einen Filter erstellen. Sie können mehrere Protokollfilter erstellen.

Hinweis:

Die konsolidierte Protokollierung, die Transaktionen protokolliert, für die kein Filter definiert ist, verwendet den Standardfilter, wenn er aktiviert ist. Die konsolidierte Protokollierung aller Server kann nur durch Definition des Standardfilters erfolgen.

Wenn der Server mehrere Websites hostet und jede Website einen eigenen Domänennamen hat und jede Domäne einem virtuellen Server zugeordnet ist, können Sie die Webserver-Protokollierung so konfigurieren, dass für jede Website ein separates Protokollverzeichnis erstellt wird. In der folgenden Tabelle werden die Parameter zum Erstellen eines Filters angezeigt.

Parameter Gibt an
filterName Name des Filters. Der Filtername kann alphanumerische Zeichen enthalten und darf nicht länger als 59 Zeichen sein. Filternamen, die länger als 59 Zeichen sind, werden auf 59 Zeichen abgeschnitten.
Hostname Hostname des Servers, für den die Transaktionen protokolliert werden.
IP ip IP-Adresse des Servers, für den Transaktionen protokolliert werden sollen (z. B. wenn der Server mehrere Domänen mit einer IP-Adresse hat).
IP ip 2...ip n: Mehrere IP-Adressen (z. B. wenn die Serverdomäne über mehrere IP-Adressen verfügt).
ip6 IP IPv6-Adresse des Servers, für den Transaktionen protokolliert werden sollen.
IP ip NETMASK mask IP-Adressen und Netzmaskenkombination, die in einem Subnetz verwendet werden sollen.
ON | OFF Aktivieren oder deaktivieren Sie den Filter, um Transaktionen zu protokollieren. Wenn kein Argument ausgewählt ist, ist der Filter aktiviert (ON).

Tabelle 1. Parameter zum Erstellen eines Filters

So erstellen Sie einen Filter

Um einen Filter zu erstellen, geben Sie den folgenden Befehl in der Datei log.conf ein:

  • filter <filterName> <HOST name> | [IP<ip> ] | [IP<ip 2...ip n> ] | <IP ip NETMASK mask> [ON | OFF]

  • filter <filterName> <HOST name> | [IP6 ip/<prefix length>] [ON | OFF]

So erstellen Sie einen Filter für einen virtuellen Server

Um einen Filter für einen virtuellen Server zu erstellen, geben Sie den folgenden Befehl in der Datei log.conf ein:

filter <filterName> <VirtualServer IP address>

Beispiel

Im folgenden Beispiel geben Sie die IP-Adresse 192.168.100.0 und die Netzmaske 255.255.255.0 an. Der Filter gilt für IP-Adressen 192.168.100.1 bis 192.168.100.254.

Filter F1 HOST www.netscaler.com ON
Filter F2 HOST www.netscaler.com IP 192.168.100.151 ON
Filter F3 HOST www.netscaler.com IP 192.168.100.151 192.165.100.152 ON
Filter F4 IP 192.168.100.151
Filter F5 IP 192.168.100.151 HOST www.netscaler.com OFF
Filter F6 HOST www.netscaler.com HOST www.xyz.com HOST www.abcxyz.com IP 192.168.100.200 ON
Filter F7 IP 192.250.100.0 NETMASK 255.255.255.0
Filter F8 HOST www.xyz.com IP 192.250.100.0 NETMASK 255.255.255.0 OFF
For creating filters for servers having IPv6 addresses.
Filter F9 2002::8/112 ON
Filter F10 HOST www.abcd.com IP6 2002::8 ON

<!--NeedCopy-->

Festlegen von Protokolleigenschaften

Die Protokolleigenschaften werden auf alle Protokolleinträge angewendet, die dem Filter zugeordnet sind. Die Definition der Log -Eigenschaft beginnt mit dem Schlüsselwort BEGIN und endet mit END, wie im folgenden Beispiel dargestellt:

BEGIN <filtername>
 logFormat ...
 logFilenameFormat ...
 logInterval ...
 logFileSize ....
 logExclude ....
 logTime ….
 END
<!--NeedCopy-->

Einträge in der Definition können Folgendes umfassen:

  • LogFormat gibt die Webserverprotokollierungsfunktion an, die NCSA, W3C Extended und benutzerdefinierte Protokolldateiformate unterstützt.

    Standardmäßig ist die logformat Eigenschaft w3c. Geben Sie zum Überschreiben custom oder NCSA in die Konfigurationsdatei ein, z. B.:

     LogFormat NCSA
<!--NeedCopy-->

Hinweis:

Für die NCSA- und benutzerdefinierten Protokollformate wird die Ortszeit verwendet, um Transaktionen zu zeitstempeln und für die Dateirotation.

  • LogInterval gibt die Intervalle an, in denen neue Protokolldateien erstellt werden. Verwenden Sie einen der folgenden Werte:

    • Stündlich: Jede Stunde wird eine Datei erstellt.
    • Täglich: Jeden Tag um Mitternacht wird eine Datei erstellt. Standardwert.
    • Wöchentlich: Jeden Sonntag um Mitternacht wird eine Datei erstellt.
    • Monatlich: Eine Datei wird am ersten Tag des Monats um Mitternacht erstellt.
    • Keine: Eine Datei wird nur einmal erstellt, wenn die Webserver-Protokollierung beginnt.</span>

Beispiel:

LogInterval Daily
<!--NeedCopy-->

LogFileSizeLimit gibt die maximale Größe der Protokolldatei in MB an. Es kann mit jedem Protokollintervall (wöchentlich, monatlich usw.) verwendet werden. Eine Datei wird erstellt, wenn die maximale Dateigröße erreicht ist oder wenn die definierte Protokollintervall-Zeit verstrichen ist.

Um dieses Verhalten zu überschreiben, geben Sie die Größe als loginterval Eigenschaft an, damit eine Datei nur erstellt wird, wenn die Größenbeschränkung der Protokolldatei erreicht ist.

Die Standardeinstellung LogFileSizeLimit ist 10 MB.

Beispiel:

LogFileSizeLimit 35
<!--NeedCopy-->
  • LogFilenameFormat gibt das Dateinamenformat der Protokolldatei an. Der Name der Datei kann von den folgenden Typen sein:

    • Statisch: Gibt eine konstante Zeichenfolge an, die den absoluten Pfad und Dateinamen enthält.

      Dynamisch: Gibt einen Ausdruck an, der das folgende Format enthält:

      • IP-Adresse des Servers
      • Datum (% {format} t)
      • URL-Suffix (%x)
      • Hostname (%v)

Beispiel:

LogFileNameFormat Ex%`{`%m%d%y}t.log
<!--NeedCopy-->

Dieser Befehl erstellt den ersten Dateinamen als Exmmddyy.log und erstellt dann jede Stunde eine Datei mit einem Dateinamen: ExmmDdyy.log.0, ExmmDdyy.Log.1,…, Exmmddyy.log.n.

Beispiel:


     LogInterval size
     LogFileSize 100
     LogFileNameFormat Ex%`{`%m%d%y}t
<!--NeedCopy-->

Achtung

Das im Befehl LogFileNameFormat angegebene Datumsformat%t überschreibt die Protokollintervall-Eigenschaft für diesen Filter. Um zu verhindern, dass täglich eine neue Datei erstellt wird, anstatt wenn die angegebene Protokolldateigröße erreicht ist, verwenden Sie nicht %t im LogFileNameFormat.

  • LogexClude verhindert das Protokollieren von Transaktionen mit den angegebenen Dateinamenerweiterungen.

Beispiel:

     LogExclude .html
<!--NeedCopy-->

Mit diesem Befehl wird eine Protokolldatei erstellt, die Protokolltransaktionen für *.html Dateien ausschließt.

LogTime gibt die Protokollzeit entweder als GMT oder LOCAL an.

Die Standardwerte sind:

  • NCSA-Protokolldateiformat: LOKAL
  • W3C-Protokolldateiformat: GMT.

Grundlegendes zu NCSA- und W3C-Protokollformaten

Citrix ADC unterstützt die folgenden Standard-Protokolldateiformate:

  • Gemeinsames NCSA-Protokollformat
  • Erweitertes W3C-Protokollformat

Gemeinsames NCSA-Protokollformat

Wenn das Protokolldateiformat NCSA ist, werden in der Protokolldatei Protokollinformationen im folgenden Format angezeigt:

Client_IP_address -User_Name [Date:Time -TimeZone] "Method Object HTTP_version" HTTP_StatusCode BytesSent
<!--NeedCopy-->

Wenn Sie das NCSA Common Protokollformat verwenden möchten, geben Sie NCSA in das Argument LogFormat in der Datei log.conf ein.

In der folgenden Tabelle wird das NCSA Common Protokollformat beschrieben.

Argument Gibt an
Client_IP_Adresse Die IP-Adresse des Clientcomputers.
Benutzername Der Benutzername.
Datum Das Datum der Transaktion.
Zeit Der Zeitpunkt, zu dem die Transaktion abgeschlossen wurde.
Zeitzone Die Zeitzone (Greenwich Mean Time oder Ortszeit).
Methode Die Anforderungsmethode (z. B. GET, POST).
Objekt Die URL.
HTTP_version Die vom Client verwendete HTTP-Version.
HTTP_StatusCode Der Statuscode in der Antwort.
Gesendete Bytes Die Anzahl der vom Server gesendeten Bytes.

Erweitertes W3C-Protokollformat

Eine erweiterte Protokolldatei enthält eine Sequenz von Zeilen, die ASCII-Zeichen enthalten, die entweder durch einen Zeilenvorschub (LF) oder die Sequenz Carriage Return Line Feed (CRLF) beendet werden. Protokolldateigeneratoren müssen der Zeilenbeendungskonvention für die Plattform folgen, auf der sie ausgeführt werden.

Protokollanalysatoren müssen entweder LF- oder CRLF-Formular akzeptieren. Jede Zeile kann entweder eine Direktive oder einen Eintrag enthalten. Wenn Sie das W3C Extended Logformat verwenden möchten, geben Sie W3C als Log-Format Argument in der Datei log.conf ein.

Standardmäßig wird das standardmäßige W3C-Protokollformat intern als benutzerdefiniertes Protokollformat definiert, das wie folgt dargestellt wird:

%`{`%Y-%m-%d%H:%M:%S}t %a %u %S %A %p %m %U %q %s %j %J %T %H %+{user-agent}i %+{cookie} i%+{referer}i
<!--NeedCopy-->

Sie können auch die Reihenfolge ändern oder einige Felder in diesem W3C-Protokollformat entfernen. Beispiel:

logFormat W3C %`{`%Y-%m-%d%H:%M:%S}t %m %U
<!--NeedCopy-->

W3C-Protokolleinträge werden im folgenden Format erstellt:

#Version: 1.0 #Fields: date time cs-method cs-uri #Date: 12-Jun-2001 12:34 2001-06-12 12:34:23 GET /sports/football.html 2001-06-12 12:34:30 GET /sports/football.html
<!--NeedCopy-->

Einträge

Einträge bestehen aus einer Folge von Feldern, die sich auf eine einzelne HTTP-Transaktion beziehen. Felder sind durch Leerzeichen getrennt. Citrix empfiehlt die Verwendung von Tabulatorzeichen. Wenn ein Feld in einem bestimmten Eintrag nicht verwendet wird, markiert ein Bindestrich (-) das ausgelassen Feld.

Richtlinien

Informationen zum Protokollierungsprozess finden Sie in der Tabelle Richtlinien . Zeilen, die mit dem Pfundzeichen (#) beginnen, enthalten Anweisungen.

Beispiel:

Die folgende Beispielprotokolldatei zeigt die Protokolleinträge im W3C Extended Logformat:

#Version: 1.0 #Fields: time cs-method cs-uri #Date: 12-Jan-1996 00:00:00 00:34:23 GET /sports/football.html 12:21:16 GET /sports/football.html 12:45:52 GET /sports/football.html 12:57:34 GET /sports/football.html
<!--NeedCopy-->

Felder

Die Fields Direktive listet eine Sequenz von Feldbezeichnern auf, die die in jedem Eintrag aufgezeichneten Informationen angeben. Feldbezeichner haben möglicherweise eine der folgenden Formen:

  • Bezeichner: Bezieht sich auf die Transaktion als Ganzes.
  • Präfix-Identifier: Bezieht sich auf den Informationsaustausch zwischen Parteien, die durch das Wertpräfix definiert sind.
  • Präfix (Header): Gibt den Wert des HTTP-Header-Feldheaders für die Übertragung zwischen Parteien durch das Wertpräfix definiert. Felder, die auf diese Weise angegeben werden, haben immer den Typ.

In der folgenden Tabelle werden definierte Präfixe beschrieben.

Prefix Gibt an
c Client
s Server
r Remote
cs Client zu Server
Sc Server zum Client
sr Server zu Remote-Server (Präfix, das von Proxies verwendet wird)
rs Remoteserver-zu-Server (Präfix, das von Proxies verwendet wird)
x Anwendungsspezifischer Bezeichner

Beispiele:

Die folgenden Beispiele sind definierte Bezeichner, die Präfixe verwenden:

cs-method: Die Methode in der Anforderung, die vom Client an den Server gesendet wird.

sc (Referer): Das Referer Feld in der Antwort.

c-ip: Die IP-Adresse des Clients.

Bezeichner

In der folgenden Tabelle werden die Kennungen des erweiterten W3C-Protokollformats beschrieben, für die kein Präfix erforderlich ist.

ID Beschreibung
Datum Das Datum, an dem die Transaktion durchgeführt wurde.
Zeit Der Zeitpunkt, zu dem die Transaktion abgeschlossen ist.
Zeitaufwand Die Zeit, die (in Sekunden) für den Abschluss der Transaktion benötigt wird.
Bytes Die Anzahl der übertragenen Bytes.
zwischengespeichert Zeichnet auf, ob ein Cache-Treffer aufgetreten ist. Eine Null gibt einen Cache-Fehler an.

Tabelle 5. W3C Extended Log-Format-Bezeichner (kein Präfix erforderlich)

In der folgenden Tabelle werden die Kennungen des erweiterten W3C-Protokollformats beschrieben, für die ein Präfix erforderlich ist.

ID Beschreibung
IP Die IP-Adresse und die Portnummer.
DNS Der DNS-Name.
Status Der Statuscode.
comment Der Kommentar wurde mit einem Statuscode zurückgegeben.
method Die Methode.
haben, Die URL.
url-stem Der Stammteil der URL.
url-query Der Abfrageteil der URL.

Tabelle 6. W3C Extended Log-Format-Bezeichner (erfordert ein Präfix)

Mit dem W3C Extended Log-Dateiformat können Sie Protokollfelder auswählen. Diese Felder sind in der folgenden Tabelle dargestellt.

Feld Beschreibung
Datum Das Datum, an dem die Transaktion ausgeführt wird.
Zeit Der Zeitpunkt, zu dem die Transaktion abgeschlossen ist.
Client-IP Die IP-Adresse des Clients.
Benutzername Der Benutzername.
Dienstname Der Dienstname, der immer HTTP ist.
Server-IP Die IP-Adresse des Servers.
Serverport Die Serverportnummer
Methode Die Anforderungsmethode (z. B. GET, POST).
URL-Stamm Der URL-Stamm.
URL-Abfrage Der Abfrageteil der URL.
HTTP-Status Der Statuscode in der Antwort.
Gesendete Bytes Die Anzahl der an den Server gesendeten Bytes (Anforderungsgröße, einschließlich HTTP-Header).
Empfangene Bytes Die Anzahl der vom Server empfangenen Bytes (Antwortgröße, einschließlich HTTP-Header).
Zeitaufwand Die Zeit, die für den Abschluss einer Transaktion in Sekunden gebraucht wird.
Protokollversion Die Versionsnummer von HTTP, die vom Client verwendet wird.
Benutzeragent Das Feld User-Agent im HTTP-Protokoll.
Cookie Das Cookie-Feld des HTTP-Protokolls.
Referer Das Referer Feld des HTTP-Protokolls.

Tabelle 7. Erweitertes W3C-Protokolldateiformat (Erlaubt Protokollfelder)

Erstellen eines benutzerdefinierten Protokollformats

Sie können das Anzeigeformat der Protokolldateidaten manuell oder mit der NSWL-Bibliothek anpassen. Mithilfe des benutzerdefinierten Protokollformats können Sie die meisten Protokollformate ableiten, die Apache derzeit unterstützt.

Erstellen eines benutzerdefinierten Protokollformats mit der NSWL-Bibliothek

Verwenden Sie eine der folgenden NSWL-Bibliotheken, je nachdem, ob die ausführbare NSWL-Datei auf einem Windows- oder Solaris-Hostcomputer installiert wurde:

  • Windows: Die nswl.lib-Bibliothek im Verzeichnis\ ns\ bin auf dem Host-Computer des Systemmanagers.
  • Solaris: Die libnswl.a-Bibliothek in /usr/local/netscaler/bin.

So erstellen Sie das benutzerdefinierte Protokollformat mit der NSWL-Bibliothek

  1. Fügen Sie die folgenden zwei vom System definierten C-Funktionen in einer C-Quelldatei hinzu:

    ns_userdeffieldName (): Diese Funktion gibt die Zeichenfolge zurück, die als benutzerdefinierter Feldname im Protokolldatensatz hinzugefügt werden muss.

    ns_userdeffieldVal (): Diese Funktion implementiert den Wert des benutzerdefinierten Feldes und gibt ihn dann als String zurück, der am Ende des Protokolldatensatzes hinzugefügt werden muss.

  2. Kompilieren Sie die Datei in eine Objektdatei.

  3. Verknüpfen Sie die Objektdatei mit der NSWL-Bibliothek (und optional mit Bibliotheken von Drittanbietern), um eine neue ausführbare NSWL-Datei zu bilden.

  4. Fügen Sie eine Zeichenfolge am Ende der LogFormat-Zeichenfolge in der Konfigurationsdatei (log.conf) hinzu.

Beispiel:

########## # A new file is created every midnight or on reaching 20MB file size, # and the file name is /datadisk5/netscaler/log/NS<hostname>/Nsmmddyy.log and create digital #signature field for each record. BEGIN CACHE_F logFormat custom "%a - "%{user-agent}i" [%d/%B/%Y %T -%g] "%x" %s %b%{referrer}i "%{user-agent}i" "%{cookie}i" %d " logInterval Daily logFileSizeLimit 20 logFilenameFormat /datadisk5/netscaler/log/%v/NS%`{`%m%d%y}t.log END CACHE_F
<!--NeedCopy-->

Manuelles Erstellen eines benutzerdefinierten Protokollformats

Um das Format anzupassen, in dem Protokolldateidaten erscheinen müssen, geben Sie eine Zeichenkette als Argument der LogFormat-Log-Eigenschaftsdefinition an. Im Folgenden finden Sie ein Beispiel, in dem Zeichenfolgen verwendet werden, um ein Protokollformat zu erstellen:

LogFormat Custom ""%a - "%{user-agent}i" %[%d/%m/%Y]t %U %s %b %T"
<!--NeedCopy-->
  • Die Zeichenfolge kann die Steuerzeichen vom Typ “c”\ n und\ t enthalten, um neue Zeilen und Registerkarten darzustellen.
  • Verwenden Sie die Esc-Taste mit literalen Anführungszeichen und umgekehrten Schrägstrichen.

Die Eigenschaften der Anforderung werden protokolliert, indem in% Direktiven in die Formatzeichenfolge platziert werden, die in der Protokolldatei durch die Werte ersetzt werden.

Wenn der Formatbezeichner %v (Hostname) oder %x (URL-Suffix) in einer Protokolldateinamenformatzeichenfolge vorhanden ist, werden die folgenden Zeichen im Dateinamen durch einen Unterstreichungsstrich im Namen der Protokollkonfigurationsdatei ersetzt:

” *. /: < > ? \

Zeichen, deren ASCII-Werte im Bereich von 0-31 liegen, werden wie folgt ersetzt:

%<ASCII value of character in hexadecimal>.

Beispielsweise wird das Zeichen mit dem ASCII-Wert 22 durch %16 ersetzt.

Achtung

Wenn der Formatbezeichner%v in einer Protokolldateinamen-Formatzeichenfolge vorhanden ist, wird für jeden virtuellen Host eine separate Datei geöffnet. Um eine kontinuierliche Protokollierung sicherzustellen, muss die maximale Anzahl von Dateien, die ein Prozess geöffnet haben kann, ausreichend groß sein. Eine Vorgehensweise zum Ändern der Anzahl der Dateien, die geöffnet werden können, finden Sie in der Dokumentation des Betriebssystems.

Erstellen von Apache-Protokollformaten

Sie können aus den benutzerdefinierten Protokollen die meisten Protokollformate ableiten, die Apache derzeit unterstützt. Die benutzerdefinierten Protokollformate, die den Apache-Protokollformaten entsprechen, sind:

NCSA/Combined: LogFormat custom%h%l%u [%t] “%r” %s%b “% {referer} i” “% {useragent} i”

NCSA/Common: LogFormat custom %h %l %u [%t] “%r” %s %B

Referer Log: LogFormat benutzerdefiniert “% {referer} i” ->%U

Benutzeragent: LogFormat custom% {user-agent} i

Ebenso können Sie die anderen Serverprotokollformate aus den benutzerdefinierten Formaten ableiten.

Argumente zum Definieren eines benutzerdefinierten Protokollformats

Weitere Informationen zum Definieren eines benutzerdefinierten Protokollformats finden Sie in der PDF-Tabelle Benutzerdefiniertes Protokollformat.

Hinweis:

Anweisungen zum Exportieren benutzerdefinierter HTTP-Header finden Sie unter Konfigurieren des Citrix ADC für die Webserver-Protokollierung

Wenn Sie beispielsweise das Protokollformat als %+{user-agent}i definieren und der Benutzeragent Wert Citrix ADC System Web Client ist, werden die Informationen als Citrix ADC System+Web+Client protokolliert. Eine Alternative besteht darin, doppelte Anführungszeichen zu verwenden. Zum Beispiel protokolliert “% {user-agent} i” es als “Citrix ADC System Web Client. “ Verwenden Sie die <Esc> Taste nicht für Zeichenfolgen von %.. .r,%. .i und %. . .o. Es entspricht den Anforderungen des Common Log Formats. Clients können Steuerzeichen in das Protokoll einfügen. Daher müssen Sie vorsichtig sein, wenn Sie mit rohen Logfiles arbeiten.

Zeitformatdefinition

In der Definitionstabelle des Zeitformats erfahren Sie mehr über den Formatteil der Zeichenfolge% {format} t, der in der Tabelle Benutzerdefiniertes Protokollformat beschrieben wird. Werte in Klammern ([ ]) zeigen den angezeigten Wertebereich an. Beispielsweise zeigt [1,31] in der%d Beschreibung in der folgenden Tabelle an%d Bereiche von 1 bis 31.

Hinweis:

Wenn Sie eine Konvertierung angeben, die keiner der in der vorhergehenden Tabelle beschriebenen Konvertierungsspezifikationen entspricht, oder einer der im nächsten Absatz aufgeführten geänderten Konvertierungsspezifikationen entspricht, ist das Verhalten nicht definiert und gibt 0 zurück.

Der Unterschied zwischen%U und%W (und auch zwischen geänderten Konversionen%OU und%OW) ist der Tag, der als erster Tag der Woche angesehen wird. Woche Nummer 1 ist die erste Woche im Januar (beginnend mit einem Sonntag für%U oder einem Montag für%W). Woche 0 enthält die Tage vor dem ersten Sonntag oder Montag im Januar für%U und%W.

Anzeigen von Serverprotokollen

Sie können eine NSWL-Funktion so konfigurieren, dass Serverprotokolle auf der Konsole angezeigt werden oder Serverprotokolle in ein Verzeichnis auf der Citrix ADC Appliance umleiten.

Es gibt zwei Möglichkeiten, Protokolle auf der Konsole anzuzeigen (Standardausgabe): Option 1: Alle Protokolle auf der Konsole anzeigen. Option 2: Zeigt nur ausgewählte Protokolle auf der Konsole mit Filtern mit logfilenameformat als STDOUT an.

Anpassen der Protokollierung auf dem NSWL-Clientsystem