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.

Um die Protokollierung anzupassen, verwenden Sie die Konfigurationsdatei, um Filter und Protokolleigenschaften zu definieren.

  • Filter protokollieren. Filtern Sie Protokollinformationen basierend auf der Host-IP-Adresse, dem Domänennamen und dem Hostnamen der Webserver.
  • Eigenschaften protokollieren. Jeder Filter hat einen zugehörigen Satz von Protokolleigenschaften. Protokolleigenschaften definieren, wie die gefilterten Protokollinformationen gespeichert werden.

Beispiel für eine Konfigurationsdatei

Es folgt ein Beispiel für eine Konfigurationsdatei:

##########
# 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 Spezifiziert
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-Maske In einem Subnetz zu verwendende Kombination aus IP-Adressen und Netzwerkmasken.
ON | OFF Aktivieren oder Deaktivieren des Filters zur Protokollierung von Transaktionen Wenn kein Argument ausgewählt ist, ist der Filter aktiviert (EIN).

Tabelle 1. Parameter zum Erstellen eines Filters

So erstellen Sie einen Filter

Um einen Filter zu erstellen, geben Sie in der Datei log.conf den folgenden Befehl 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 in der Datei log.conf den folgenden Befehl ein:

filter <filterName> <VirtualServer IP address>

Beispiel

Im folgenden Beispiel geben Sie eine IP-Adresse von 192.168.100.0 und eine Netzmaske von 255.255.255.0 an. Der Filter gilt für die 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

Protokolleigenschaften werden auf alle Protokolleinträge angewendet, die mit dem Filter verknüpft sind. Die Definition der Logeigenschaft 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 enthalten:

- LogFormat gibt die Webserver-Protokollierungsfunktion an, die NCSA-, W3C Extended- und benutzerdefinierte Protokolldateiformate unterstützt.

By default, the `logformat` property is w3c. To override, enter custom or NCSA in the configuration file, for example:
     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 Web-Server-Protokollierung gestartet wird.</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 Eigenschaft loginterval 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 Format des Dateinamens der Protokolldatei an. Der Name der Datei kann aus folgenden Typen bestehen:

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

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

      • Server-IP-Adresse
      • 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 Standardeinstellungen sind:

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

NCSA- und W3C-Protokollformate verstehen

Der Citrix ADC unterstützt die folgenden Standardprotokolldateiformate:

  • Allgemeines NCSA-Protokollformat
  • Erweitertes W3C-Protokollformat

Allgemeines NCSA-Protokollformat

Wenn das Protokolldateiformat NCSA ist, zeigt die Protokolldatei Protokollinformationen im folgenden Format an:

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

Um das NCSA Common Protokollformat zu verwenden, geben Sie NCSA in das Argument LogFormat in der Datei log.conf ein.

In der folgenden Tabelle wird das Protokollformat von NCSA Common beschrieben.

Argument Spezifiziert
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.
Byte gesendet Die Anzahl der vom Server gesendeten Byte.

W3C erweitertes Protokollformat

Eine erweiterte Protokolldatei enthält eine Folge von Zeilen mit ASCII-Zeichen, die entweder durch einen Line Feed (LF) oder die Sequenz Carriage Return Line Feed (CRLF) abgeschlossen sind. Protokolldateigeneratoren müssen die Konvention für die Leitungsbeendigung für die Plattform einhalten, 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 ist das Standard-W3C-Protokollformat intern als benutzerdefiniertes Protokollformat definiert, wie folgt dargestellt:

%`{`%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 mit dem 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-Protokollformat:

#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.
  • prefix-identifier: Bezieht sich auf Informationsübertragung zwischen Parteien, die durch das Wertpräfix definiert sind.
  • Präfix (Header): Gibt den Wert des HTTP-Header-Feld-Headers für die Übertragung zwischen Parteien an, die durch das Wertpräfix definiert Auf diese Weise angegebene Felder haben immer den Typ.

In der folgenden Tabelle werden definierte Präfixe beschrieben.

Präfix Spezifiziert
c Client
s Server
r Remote
cs Client zum Server
Sc Server zum Client
sr Server zum Remoteserver (von Proxys verwendetes Präfix)
rs Remote-Server zum Server (von Proxys verwendetes Präfix)
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 Feld Referer in der Antwort.

c-ip: Die IP-Adresse des Clients.

Identifikatoren

In der folgenden Tabelle werden die Bezeichner des erweiterten W3C-Protokollformats beschrieben, die kein Präfix benötigen.

Identifier Beschreibung
Datum Das Datum, an dem die Transaktion abgeschlossen wurde.
Zeit Der Zeitpunkt, zu dem die Transaktion abgeschlossen ist.
Zeit in Anspruch genommen Die für den Abschluss der Transaktion benötigte Zeit (in Sekunden).
Bytes Die Anzahl der übertragenen Byte.
zwischengespeichert Zeichnet auf, ob ein Cache-Treffer aufgetreten ist. Eine Null zeigt einen Cache-Fehler an.

Tabelle 5. Bezeichner für das erweiterte W3C-Protokollformat (kein Präfix erforderlich)

In der folgenden Tabelle werden die Bezeichner des erweiterten W3C-Protokollformats beschrieben, die ein Präfix erfordern.

Identifier 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.
url Die URL.
url-Stamm Der Stammteil der URL.
url-Abfrage Der Abfrageteil der URL.

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

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

Feld Beschreibung
Datum Das Datum, an dem die Transaktion abgeschlossen ist.
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 Server-IP-Adresse.
Serverport Die Server-Portnummer
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.
Byte gesendet Die Anzahl der an den Server gesendeten Byte (Anforderungsgröße, einschließlich HTTP-Header).
Bytes empfangen Die Anzahl der vom Server empfangenen Byte (Größe der Antwort, 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 Feld Referer des HTTP-Protokolls.

Tabelle 7. W3C Erweitertes Protokolldateiformat (Erlaubt Protokollfelder)

Erstellen eines benutzerdefinierten Protokollformats

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

Erstellen eines benutzerdefinierten Protokollformats mithilfe 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-Bibliothek zu bilden.

  4. Fügen Sie am Ende der LogFormat-Zeichenfolge in der Konfigurationsdatei (log.conf) eine %d Zeichenfolge 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 Merkmale der Anforderung werden protokolliert, indem %-Direktiven in die Formatzeichenfolge eingefügt 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 Wertebereich an, der angezeigt wird. Beispielsweise zeigt [1,31] in der %d Beschreibung in der folgenden Tabelle %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 den geänderten Konvertierungen %OU und %OW) ist der Tag, der als erster Tag der Woche betrachtet wird. Woche Nummer 1 ist die erste Januarwoche (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 in der Konsole mit Filtern mit logfilenameformat als STDOUT an.