# Einstellungen des Erstellungsprogramms für Unterausdrücke

Verwenden Sie das Erstellungsprogramm für Unterausdrücke, um mit AND, OR, NOT und Gruppierungen in Klammern komplexe Regelbedingungen aus Unterausdrücken zu erstellen. Das Regelerstellungsprogramm validiert die Regeln, wenn Sie die Änderungen anwenden, und gibt Warnungen aus, wenn Klammern nicht korrekt gesetzt sind oder nicht unterstützte logische Operationen verwendet werden.

Klicken Sie zum Anzeigen dieser Seite auf Server > Servertyp > Web-Server > Name_des_Web-Servers > Intelligent Management > Tracespezifikation > Erstellungsprogramm für Unterausdrücke.

## Logischer Operator

In der folgenden Liste sind die auswählbaren logischen Operatoren beschrieben:

Tabelle 1. Logischer Operator für Traces
Operator | Beschreibung
--- | ---
`OR` | Operator für logisches `ODER`.
`AND` | Der Operator für logisches `UND`.
`NOT` | Der Operator für logisches `NICHt`.

## Operanden auswählen

Der Operand ist Teil der Klassifikationsregel, die die Laufzeitumgebung verwendet, um einem Job eine Regel zuzuordnen. Wenn Sie beispielsweise den Protokolltyp `HTTP` angeben, sucht die Laufzeitumgebung einen Job mit dem Protokolltyp `HTTP`. Die folgende Liste enthält eine Auswahl von Operanden:

Tabelle 2. Operanden für HTTP-Anforderungen
Operand | Syntax | Beschreibung
--- | --- | ---
Virtueller Host | `virtualhost` | Das virtuelle Hostziel der Anforderung, das für die Konfiguration von Webanwendungen für einen bestimmten Hostnamen verwendet wird.
Virtueller Port | `numeric` | Das virtuelle Portziel der Anforderung, das für die Konfiguration von Webanwendungen für einen bestimmten Port verwendet wird.
URI | `uri` | Uniform Resource Identifier Dieser Operand hilft Ihnen, den Pfad der Anforderung zu identifizieren. Wenn der URL http://host:port/path?p1=v1 lautet, ist der Pfad `path`.
Benutzer-ID | `userid` | Gibt die Benutzer-ID für den authentifizierten Benutzer zurück, der die Anforderung gesendet hat.
Gruppen-ID | `groupingid` | Gibt eine Liste mit Gruppennamen für den authentifizierten Benutzer zurück, der die Anforderung gesendet hat.
Name des Anforderungsabfrageparameters | `queryparm$<Name>` | Ein Headername und ein Headerwert. Beispielsweise können Sie mit dem Ausdruck `queryparm$timezone='EST'` eine Anforderung daraufhin prüfen, ob sie einen HTTP-Abfrageparameter mit dem Namen `timezone` und dem Wert `EST` enthält. Verwenden Sie eines der folgenden Formate, um festzustellen, ob ein bestimmter Abfrageparameter vorhanden ist oder nicht:
    queryparm$timezone IS NOT NULL
    queryparm$timezone IS NULL
Name des Anforderungsheaders | `header$<Name>` | Ein Headername und ein Headerwert. Mit dem Ausdruck `header$Host='localhost'` wird beispielsweise geprüft, ob eine Anforderung einen HTTP-Host-Header mit dem Wert `localhost` enthält. Verwenden Sie einen der folgenden Ausdrücke, um festzustellen, ob der Host-Header vorhanden ist oder nicht:
    header$Host IS NOT NULL
    header$Host IS NULL
Name des Cookie-Headers | `cookie$<Name>` | Ein Cookiename. Der Ausdruck `cookie$My_Cookie_Name='My_Cookie_Value'` prüft beispielsweise eine Anforderung, um festzustellen, ob sie ein Cookie mit dem Namen `My_Cookie_Name` und dem Wert `My_Cookie_Value` enthält. Mit den folgenden Ausdrücken können Sie prüfen, ob ein bestimmtes Cookie vorhanden ist bzw. fehlt:
    cookie$MyCookieName IS NOT NULL
    cookie$MyCookieName IS NULL
HTTP-Methode | `HTTPMethod` | Die HTTP-Methode für die Anforderung. Die gültigen Werte sind POST, GET, PUT und DELETE.
Clienthost | `clienthost` | Der vollständig qualifizierte Hostname des Clients. Dieser Wert ist der Hostname des IP-Befehls (Internet Protocol). Dieser Operand unterstützt keine numerischen Operatoren wie `>, >=, <, <=`.
Client-IPV4 | `clientipv4` | Die IP-Adresse des Clients, der den Adresstyp Internet Protocol Version 4 (IPv4), d. h. Quadrupel mit Punkten als Trennzeichen (`n.n.n.n`) verwendet.
Client-IPV6 | `clientipv6` | Die IP-Adresse des Clientcomputers im 128-Bit-IPv6-Adressformat (Internet Protocol Version 6) `x:x:x:x:x:x:x:x` gemäß RFC 1924 (Request for Comments).
Serverhost | `serverhost` | Der vollständig qualifizierte Hostname des Servers. Dieser Operand unterstützt keine numerischen Operatoren wie `>, >=, <, <=`.
Server-IPV4 | `serveripv4` | Die IP-Adresse des Servercomputers im IPv4-Adressformat `n.n.n.n`.
Server-IPV6 | `serveripv6` | Die IP-Adresse des Servercomputers im 128-Bit-IPv6-Adressformat `x:x:x:x:x:x:x:x` gemäß RFC 1924.
Port | `port` | Der Empfangsport, an dem die Anforderung empfangen wurde.
Protokoll | `protocol` | Das Kommunikationsprotokoll, mit dem die Anforderung übertragen wird. Die derzeit unterstützten Protokolle sind HTTP, HTTPS, SOAP und SOAPS.
Zeit | `time` | Wird verwendet, um das Datum inklusive Tageszeit zu definieren, an dem eine bestimmte Anforderung bearbeitet werden muss. Zwei optionale Felder sind `StartTime` und `EndTime`. Wenn eine Anforderung außerhalb des definierten Fensters empfangen wird, wird die Anforderung nicht verarbeitet. Die Felder "Startzeit" und "Endzeit" haben das folgende Format: `Tag_der_Woche/Tag_des_Monats/Monat/Jahr::Stunde:Minute:Sekunde`. Donnerstag, der 11. April des Jahres 2007, 1:03:45 PM wird beispielsweise wie folgt angegeben: Thu/11/Apr/2007::13:03:45 In allen Feldern kann ein Platzhalterzeichen mit dem Stern (*) verwendet werden. Der 1. jedes Monats wird beispielsweise mit `*/1` angegeben. Die Werte für `dayofWeek` sind Sun, Mon, Tue, Wed, Thu, Fri, Sat,, und die Werte für `dayOfMonth` sind 1-31. Die gültigen Werte für `month` sind alle numerischen Werte, die die 12 Monate darstellen: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec. Der Wert für `year` setzt sich aus den vier Stellen des Jahres zusammen, z. B. 2007. Der Wert für `hour` ist die Stunde des Tages im 24-Stunden-Format. 8 Uhr morgens wird beispielsweise mit ::8 dargestellt. Die Werte für `minute` and `second` sind ganze Zahlen von 0-59. Der Schrägstrich (/) wird verwendet, um Datumsparameter zu trennen, der doppelte Doppelpunkt (::), um die Datumsparameter zu trennen, und der Doppelpunkt (:), um die Uhrzeitparameter zu trennen. Das boolesche Ergebnis der gesamten Regel, in der der Operand `time` verwendet wird, bestimmt die ausgeführte Aktion.
Prozentsatz | `percentage$<Wert>` | Der Operand percentage wird mit `true` ausgewertet, einem festen Prozentsatz an Zeit. `percentage$50` wird beispielsweise mit `true` ausgewertet, wenn die Zeit durchschnittlich 50 % beträgt.
Anlauf | `rampup$<Startzeit>$<Endzeit>` | Der Operand `rampup` wird bei einer variablen Zeit in Prozent mit `true` ausgewertet. Vor der `<Startzeit>` wird er immer mit `false` und nach der `<Endzeit>` immer mit `true` ausgewertet. Je weiter die Zeit von der `<Startzeit>` zur `<Endzeit>` voranschreitet, ist der Operand `true` (ein linear ansteigender Prozentsatz). `<Startzeit>` und `<Endzeit>` haben das Format `Tag/Monat/Jahr::Stunde:Min:Sek`. `Tag` steht für den Tag des Monats, `Monat` für einen der 12 Monate (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec), `Jahr` für das vierstellige Jahr, `Stunde` für die zweistellige Stunde im 24-Stunden-Format, `min` für den zweistelligen Wert der Minute und `Sek` für den zweistelligen Wert für die Sekunde. Beispiel: `rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00` wird ab dem 1. Januar 2007, 8:00 Uhr morgens mit `true` ausgewertet, und ist nach der Endzeit um 17:00 Uhr desselben Tags immer `true`.

## Operator

Geben Sie je nach ausgewähltem Operator einen Wert für den Unterausdruck ein, den Sie erstellen möchten. Alle Operatoren werden in boolesche Werte ausgewertet. Bei der Eingabe der Operatoren muss die Groß-/Kleinschreibung nicht beachtet werden: `AND` entspricht `AnD`.

Tabelle 3. Operatoren für die Tracespezifikation
Operator | Beschreibung
--- | ---
Gleich bei Ignorierung der Groß-/Kleinschreibung (EQUALSIGNORECASE) | Gleichheitsoperator ohne Berücksichtigung der Groß-/Kleinschreibung. Die Groß-/Kleinschreibung der Zeichenfolgen wird ignoriert. `'ABC' EQUALSIGNORECASE 'abc'` ist wahr (true). `('ABC' = 'abc')` ist falsch (false).
Nicht gleich (< >) | Der Nicht-gleich-Operator gibt an, dass der Wert des Operanden ungleich dem eingegebenen Wert ist.
In (IN) | For `Zeichenfolge IN Liste von Zeichenfolgen` wird mit wahr (true) ausgewertet, wenn die Zeichenfolge auf der linken Seite einer der auf der rechten Seite aufgelisteten Zeihenfolgen exakt entspricht (unter Beachtung der Groß-/Kleinschreibung. Beispiel: ’adrian’ in `('keith','eric','kalyan','david', 'adrian and etc')` is false. `'adrian'` in `('tom','adrian')` ist wahr (true). ’adrian’ in `('Tom','Adrian')` ist falsch (false). `ganze Zahl IN Liste ganzer Zahlen`: `1` in `(1,2,3,4,5)` ist wahr (true). `6` in `(1,2,3,4,5)` ist falsch (false).
Wie (LIKE) | Dieser Operator drückt eine Mustererkennung für Zeichenfolgeoperanden aus. Der Wert muss ein Prozentzeichen (`%`) als Platzhalterzeichen an der Position enthalten, an der die Mustererkennung beginnen soll. Der Beispielausdruck
    host LIKE %blanca
sucht beispielsweise das Wort `blanca` und alle anderen Wörter, die mit `blanca` enden, wohingegen der Ausdruck
    host LIKE blanca%
das Wort `blanca` und alle anderen Wörter sucht, die mit `blanca` beginnen. Der Ausdruck
    host LIKE %blanca%
sucht das Wort `blanca` und alle Wörter, in die das Token `blanca` integriert ist.
Wie bei Ignorierung der Groß-/Kleinschreibung (LIKEIGNORECASE) | Dieser Operator drückt eine Mustererkennung für Zeichenfolgeoperanden aus. Die Groß-/Kleinschreibung der Zeichenfolgen wird ignoriert.
Ist nicht null (IS NOT NULL) | Die Validierung der Abfrage muss ergeben, dass der angeforderte Parameter vorhanden ist.
Verketten (+) | Dieser Operator wertet `'abc'+'def'` in `'abcdef'` aus.
Wie in (LIKEIN) | `Zeichenfolge likein (Zeichenfolge1, Zeichenfolge2, Zeichenfolge3,...)` ist wahr (true), wenn die Zeichenfolge links von `likein` mit einer oder mehreren der Zeichenfolgen rechts von likein (ZeichenfolgeN) übereinstimmt.
Ist null (IS NULL) | Die Validierung der Abfrage muss ergeben, dass der angeforderte Parameter nicht vorhanden ist. Prüft, ob ein Operand einen `Nullwert` enthält.
Gleich ( = ) | Der Gleichheitsoperator drückt einen Abgleich aus, bei dem die Groß-/Kleinschreibung berücksichtigt wird.
Größer als (>) | Wird in das logische Standardergebnis ausgewertet.
Größer-gleich (>=) | Wird in das logische Standardergebnis ausgewertet.
Kleiner als (<) | Wird in das logische Standardergebnis ausgewertet.
Kleiner-gleich (<=) | Wird in das logische Standardergebnis ausgewertet.
Zwischen (BETWEEN) | Wird mit `AND` verwendet, um einen Bereich von Werten auszuwählen, der den ersten (unteren) und den letzten (oberen) Wert des Bereichs einschließt. Diese Operationen werden für Zahlen und Datumsangaben verwendet.

## Wert

Geben Sie je nach ausgewähltem Operator einen Wert für den Unterausdruck ein, den Sie erstellen möchten.

## Unterausdruck generieren

Generiert den Unterausdruck mit dem Operanden, dem Operator und den Werten, die Sie angegeben haben.

## Anfügen

Klicken Sie auf diese Option, um den Unterausdruck dem Feld in der Bedingungsanzeige hinzuzufügen.

Zugehörige Informationen:
Intelligent Management für Web-Server-Plug-ins
Tracespezifikation
Intelligent-Management-Plug-in-Eigenschaft
Intelligent-Management-Eigenschaften
Ferne Zelle für Intelligent-Management-Web-Server

Dateiname: uwve_tracerulebuilder.html