Citrix ADC

Konfigurieren der AppFlow Funktion

Sie konfigurieren AppFlow auf die gleiche Weise wie die meisten anderen richtlinienbasierten Features. Zunächst aktivieren Sie die AppFlow-Funktion. Dann geben Sie die Kollektoren an, an die die Durchflussdatensätze gesendet werden. Danach definieren Sie Aktionen, bei denen es sich um konfigurierte Collectors handelt. Anschließend konfigurieren Sie eine oder mehrere Richtlinien und ordnen jeder Richtlinie eine Aktion zu. Die Richtlinie weist die Citrix ADC-Appliance an, Anforderungen auszuwählen, deren Flow-Datensätze an die zugehörige Aktion gesendet werden. Schließlich binden Sie jede Richtlinie entweder global oder an den spezifischen virtuellen Server, um sie in Kraft zu setzen.

Sie können AppFlow-Parameter weiter festlegen, um das Aktualisierungsintervall der Vorlage festzulegen und den Export von httpURL-, httpCookie- und httpReferer-Informationen zu ermöglichen. Auf jedem Collector müssen Sie die Citrix ADC IP-Adresse als Adresse des Exporters angeben.

Hinweis

Informationen zur Konfiguration des Citrix ADC als Exporter auf dem Collector finden Sie in der Dokumentation für den spezifischen Collector.

Das Konfigurationsdienstprogramm bietet Tools, mit denen Benutzer die Richtlinien und Aktionen definieren können. Es bestimmt genau, wie die Citrix ADC-Appliance Datensätze für einen bestimmten Flow zu einer Gruppe von Collectors exportiert (Aktion). Die Befehlszeilenschnittstelle bietet einen entsprechenden Satz von CLI-basierten Befehlen für erfahrene Benutzer, die eine Befehlszeile bevorzugen.

AppFlow aktivieren

Um die AppFlow-Funktion verwenden zu können, müssen Sie sie zunächst aktivieren.

Hinweis

AppFlow kann nur auf NCore Citrix ADC-Appliances aktiviert werden.

Aktivieren Sie die AppFlow-Funktion mithilfe der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein:

enable ns feature AppFlow
<!--NeedCopy-->

Aktivieren Sie die AppFlow-Funktion mithilfe des Konfigurationsdienstprogramms

Navigieren Sie zu System > Einstellungen, klicken Sie auf Erweiterte Funktionen konfigurierenund wählen Sie die Option AppFlow aus.

Einen Collector angeben

Ein Collector empfängt AppFlow-Datensätze, die von der Citrix ADC-Appliance generiert wurden. Um die AppFlow-Datensätze zu senden, müssen Sie mindestens einen Collector angeben. Standardmäßig hört der Collector IPFIX-Nachrichten auf dem UDP-Port 4739 ab. Sie können den Standardanschluss ändern, wenn Sie den Collector konfigurieren. In ähnlicher Weise wird NSIP standardmäßig als Quell-IP für AppFlow-Verkehr verwendet. Sie können diese Standard-Quell-IP bei der Konfiguration eines Collectors in eine SNIP-Adresse ändern. Sie können auch nicht verwendete Collectors entfernen.

Angeben eines Collectors mithilfe der Befehlszeilenschnittstelle

Wichtig

Ab Citrix ADC Release 12.1 Build 55.13 können Sie den Typ des Collectors angeben, den Sie verwenden möchten. Ein neuer Parameter “Transport” wird im Befehl add appflow collector eingeführt. Standardmäßig lauscht der Collector IPFIX-Nachrichten. Sie können den Kollektortyp entweder auf logstream oder ipfix oder rest ändern, indem Sie den Parameter “Transport” verwenden. Weitere Informationen zur Konfiguration finden Sie im Beispiel.

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um einen Collector hinzuzufügen und die Konfiguration zu überprüfen:

-  add appflow collector <name> -IPAddress <ipaddress> -port <port_number> -netprofile <netprofile_name> -Transport <Transport>

-  show appflow collector <name>
<!--NeedCopy-->

Beispiel

add appflow collector col1 -IPaddress 10.102.29.251 -port 8000 -netprofile n2 -Transport ipfix
<!--NeedCopy-->

Geben Sie mehrere Collectors mithilfe der Befehlszeilenschnittstelle an

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um dieselben Daten hinzuzufügen und an mehrere Collectors zu senden:

add appflow collector <collector1> -IPAddress <IP>

add appflow collector <collector2> -IPAddress <IP>

add appflow action <action> -collectors <collector1> <collector2>

add appflow policy <policy> true <action>

bind lbvserver <lbvserver> -policy <policy> -priority <priority>
<!--NeedCopy-->

Geben Sie einen oder mehrere Collectors mithilfe des Konfigurationsdienstprogramms an

Navigieren Sie zu System > AppFlow > Collectors, und erstellen Sie den AppFlow-Kollektor.

AppFlow-Aktion konfigurieren

Eine AppFlow-Aktion ist ein Set-Collector, an den die Flow-Datensätze gesendet werden, wenn die zugehörige AppFlow-Richtlinie übereinstimmt.

Konfigurieren Sie eine AppFlow-Aktion mithilfe der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um eine AppFlow-Aktion zu konfigurieren und die Konfiguration zu überprüfen:

add appflow action <name> --collectors <string> ... [-clientSideMeasurements (Enabled|Disabled) ] [-comment <string>]

show appflow action
<!--NeedCopy-->

Beispiel

add appflow action apfl-act-collector-1-and-3 -collectors collector-1 collecter-3
<!--NeedCopy-->

Konfigurieren Sie eine AppFlow-Aktion mithilfe des Konfigurationsdienstprogramms

Navigieren Sie zu System > AppFlow > Actions, und erstellen Sie die AppFlow-Aktion.

AppFlow-Richtlinie konfigurieren

Nachdem Sie eine AppFlow-Aktion konfiguriert haben, müssen Sie als Nächstes eine AppFlow-Richtlinie konfigurieren. Eine AppFlow-Richtlinie basiert auf einer Regel, die aus einem oder mehreren Ausdrücken besteht.

Hinweis

Zum Erstellen und Verwalten von AppFlow-Richtlinien bietet das Konfigurationsdienstprogramm Unterstützung, die in der Befehlszeilenschnittstelle nicht verfügbar ist.

Konfigurieren Sie eine AppFlow-Richtlinie mithilfe der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, um eine AppFlow-Richtlinie hinzuzufügen und die Konfiguration zu überprüfen:

add appflow policy <name> <rule> <action>

show appflow policy <name>
<!--NeedCopy-->

Beispiel

add appflow policy apfl-pol-tcp-dsprt client.TCP.DSTPORT.EQ(22) apfl-act-collector-1-and-3
<!--NeedCopy-->

Konfigurieren Sie eine AppFlow-Richtlinie mithilfe des Konfigurationsdienstprogramms

Navigieren Sie zu System > AppFlow > Policiesund erstellen Sie die AppFlow-Richtlinie.

Fügen Sie mithilfe des Dialogfelds Ausdruck hinzufügen einen Ausdruck hinzu

  1. Wählen Sie im Dialogfeld Ausdruck hinzufügen im ersten Listenfeld den ersten Begriff für Ihren Ausdruck aus.

    - HTTP Das HTTP-Protokoll. Wählen Sie die Option, wenn Sie einen Aspekt der Anfrage untersuchen möchten, der sich auf das HTTP-Protokoll bezieht. - SSL

    Die geschützten Websites. Wählen Sie die Option, wenn Sie einen Aspekt der Anfrage untersuchen möchten, der sich auf den Empfänger der Anfrage bezieht. -
    CLIENT
    
    The computer that sent the request. Choose the option if you want to examine some aspect of the sender of the request. Wenn Sie Ihre Auswahl treffen, werden im Listenfeld ganz rechts die entsprechenden Begriffe für den nächsten Teil Ihres Ausdrucks aufgeführt.
    
  2. Wählen Sie im zweiten Listenfeld den zweiten Begriff für Ihren Ausdruck aus. Die Auswahl hängt davon ab, welche Wahl Sie im vorherigen Schritt getroffen haben, und sind dem Kontext angemessen. Nachdem Sie Ihre zweite Wahl getroffen haben, wird im Hilfefenster unterhalb des Fensters “Ausdruck konstruieren” (das leer war) eine Hilfe zur Beschreibung des Zwecks und der Verwendung des gerade gewählten Begriffs angezeigt.
  3. Fahren Sie fort, Begriffe aus den Listenfeldern auszuwählen, die rechts neben dem vorherigen Listenfeld angezeigt werden, oder geben Sie Zeichenfolgen oder Zahlen in die Textfelder ein, die Sie zur Eingabe eines Werts auffordern, bis der Ausdruck beendet ist.

Binden einer AppFlow-Richtlinie

Um eine Richtlinie in Kraft zu setzen, müssen Sie sie entweder global binden, sodass sie für den gesamten Datenverkehr gilt, der durch den Citrix ADC fließt, oder für einen bestimmten virtuellen Server, sodass die Richtlinie nur für den Datenverkehr gilt, der sich auf diesen virtuellen Server bezieht.

Wenn Sie eine Richtlinie binden, weisen Sie ihr eine Priorität zu. Die Priorität bestimmt die Reihenfolge, in der die von Ihnen definierten Richtlinien ausgewertet werden. Sie können die Priorität auf jede positive Ganzzahl festlegen.

Im Citrix ADC-Betriebssystem arbeiten Richtlinienprioritäten in umgekehrter Reihenfolge - je höher die Zahl, desto niedriger die Priorität. Wenn Sie beispielsweise drei Richtlinien mit Prioritäten von 10, 100 und 1000 haben, wird die Richtlinie, der eine Priorität von 10 zugewiesen wurde, zuerst ausgeführt. Später wurde die Richtlinie mit einer Priorität von 100 zugewiesen, und schließlich wies die Richtlinie eine Reihenfolge von 1000 zu.

Sie können sich ausreichend Raum lassen, um weitere Richtlinien in beliebiger Reihenfolge hinzuzufügen, und sie dennoch so einstellen, dass sie in der von Ihnen gewünschten Reihenfolge bewertet werden. Sie können dies erreichen, indem Sie Prioritäten mit Intervallen von 50 oder 100 zwischen den einzelnen Richtlinien festlegen, wenn Sie sie global binden. Sie können dann jederzeit weitere Richtlinien hinzufügen, ohne die Priorität einer vorhandenen Richtlinie ändern zu müssen.

Binden Sie eine AppFlow-Richtlinie global mithilfe der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, um eine AppFlow-Richtlinie global zu binden und die Konfiguration zu überprüfen:

bind appflow global <policyName> <priority> [<gotoPriorityExpression [-type <type>] [-invoke (<labelType> <labelName>)]

show appflow global
<!--NeedCopy-->

Beispiel

bind appflow global af_policy_lb1_10.102.71.190 1 NEXT -type REQ_OVERRIDE -invoke vserver google
<!--NeedCopy-->

Binden Sie eine AppFlow-Richtlinie mithilfe der Befehlszeilenschnittstelle an einen bestimmten virtuellen Server

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, um eine AppFlow-Richtlinie an einen bestimmten virtuellen Server zu binden und die Konfiguration zu überprüfen:

bind lb vserver <name> -policyname <policy_name> -priority <priority>
<!--NeedCopy-->

Beispiel

bind lb vserver google -policyname af_policy_google_10.102.19.179 -priority 251
<!--NeedCopy-->

Binden Sie eine AppFlow-Richtlinie global mithilfe des Konfigurationsdienstprogramms

Navigieren Sie zu System > AppFlow, klicken Sie auf AppFlow Policy Manager, wählen Sie den entsprechenden Bindepunkt (Standard Global) und den Verbindungstyp aus, und binden Sie dann die AppFlow-Richtlinie.

Binden Sie eine AppFlow-Richtlinie mithilfe des Konfigurationsdienstprogramms an einen bestimmten virtuellen Server

Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server, wählen Sie den virtuellen Server aus, klicken Sie auf Policiesund binden Sie die AppFlow-Richtlinie.

AppFlow für virtuelle Server aktivieren

Wenn Sie nur den Verkehr durch bestimmte virtuelle Server überwachen möchten, aktivieren Sie AppFlow speziell für diese virtuellen Server. Sie können AppFlow für Load Balancing, Content Switching, Cache-Umleitung, SSL-VPN, GSLB und virtuelle Authentifizierungsserver aktivieren.

Aktivieren Sie AppFlow für einen virtuellen Server mithilfe der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung Folgendes ein:

set cs vserver <name> <protocol> <IPAddress> <port> -appflowLog ENABLED
<!--NeedCopy-->

Beispiel

set cs vserver Vserver-CS-1 HTTP 10.102.29.161 80 -appflowLog ENABLED
<!--NeedCopy-->

Aktivieren Sie AppFlow für einen virtuellen Server mithilfe des Konfigurationsdienstprogramms

Navigieren Sie zu Traffic Management > Content Switching > Virtuelle Server, wählen Sie den virtuellen Server aus und aktivieren Sie die Option AppFlow Logging.

AppFlow für einen Service aktivieren

Sie können AppFlow für Dienste aktivieren, die an die virtuellen Load Balancing-Server gebunden werden sollen.

Aktivieren Sie AppFlow für einen Dienst mithilfe der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung Folgendes ein:

set service <name> -appflowLog ENABLED
<!--NeedCopy-->

Beispiel

set service ser -appflowLog ENABLED
<!--NeedCopy-->

Aktivieren Sie AppFlow für einen Dienst mithilfe des Konfigurationsdienstprogramms

Navigieren Sie zu Traffic Management > Load Balancing > Services, wählen Sie den Dienst aus und aktivieren Sie die Option AppFlow Logging.

Legen Sie die AppFlow-Parameter fest

Sie können AppFlow-Parameter festlegen, um den Export von Daten in die Collectors anzupassen.

Legen Sie die AppFlow-Parameter mithilfe der Befehlszeilenschnittstelle fest

Wichtig

  • Ab Citrix ADC Release 12.1 Build 55.13 können Sie mit dem NSIP Logstream-Datensätze anstelle des SNIP senden. Ein neuer Parameter “logstreamOverNSIP” wird im Befehl set appflow param eingeführt. Standardmäßig ist der Parameter “logstreamOverNSIP” DISABLED, Sie müssen ihn auf ENABLE setzen. Weitere Informationen zur Konfiguration finden Sie im Beispiel.

  • Ab Citrix ADC Release 13.0 Build 58.x können Sie die Web-SaaS-Anwendungsoption in der AppFlow-Funktion aktivieren. Es kann aktiviert werden, um die Datennutzung von Web- oder SaaS-Anwendungen vom Citrix Gateway-Dienst zu empfangen. Weitere Informationen zur Konfiguration finden Sie im Beispiel.

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um die AppFlow-Parameter festzulegen und die Einstellungen zu überprüfen:

-  set appflow param [-templateRefresh <secs>] [-appnameRefresh <secs>] [-flowRecordInterval <secs>] [-udpPmtu <positive_integer>] [-httpUrl ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-httpCookie ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-httpReferer ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-httpMethod ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-httpHost ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-httpUserAgent ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-httpXForwardedFor ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )][-clientTrafficOnly ( \*\*YES\*\* | \*\*NO\*\*)] [-webSaaSAppUsageReporting ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )] [-logstreamOverNSIP ( \*\*ENABLED\*\* | \*\*DISABLED\*\* )]

-  show appflow Param
<!--NeedCopy-->

Beispiel

set appflow Param -templateRefresh 240 -udpPmtu 128 -httpUrl enabled -webSaaSAppUsageReporting ENABLED -logstreamOverNSIP ENABLED
<!--NeedCopy-->

Legen Sie die AppFlow-Parameter mithilfe des Konfigurationsdienstprogramms fest

Navigieren Sie zu System > AppFlow, klicken Sie auf AppFlow-Einstellungen ändernund geben Sie die entsprechenden AppFlow-Parameter an.

Unterstützung für die Verschleierung der Abonnenten-ID

Ab Citrix ADC Release 13.0 Build 35.xx wurde die AppFlow-Konfiguration erweitert, um den Algorithmus “subscriberidObfuscation” zum Verschleiern von MSISDN in Layer 4 oder Layer 7, AppFlow-Datensätzen, zu unterstützen. Bevor Sie den Algorithmus jedoch als MD5 oder SHA256 konfigurieren, müssen Sie ihn zunächst als AppFlow-Parameter aktivieren. Der Parameter ist standardmäßig deaktiviert.

Konfigurieren Sie den Abonnenten-ID-Verschleierungsalgorithmus mithilfe der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

set appflow param [-subscriberIdObfuscation ( ENABLED | DISABLED )  [-subscriberIdObfuscationAlgo ( MD5 | SHA256 )]]
<!--NeedCopy-->

Beispiel

set appflow param –subscriberIdObfuscation ENABLED – subscriberIdObfuscationAlgo SHA256
<!--NeedCopy-->

Konfigurieren Sie den Abonnenten-ID-Verschleierungsalgorithmus mithilfe der GUI

  1. Navigieren Sie zu System > AppFlow.
  2. Klicken Sie im Detailbereich AppFlow unter Einstellungen auf AppFlow-Einstellung ändern.
  3. Legen Sie auf der Seite AppFlow-Einstellungen konfigurieren die folgenden Parameter fest:

    • Verschleierung der Abonnenten-ID. Aktivieren Sie die Option zur Verschleierung von MSISDN in L4/L7 AppFlow-Datensätzen.
    • Abonnenten-ID-Verschleierung Algo. Wählen Sie den Algorithmus-Typ als MD5 oder SHA256.
  4. Klicken Sie auf OK und Schließen.

    Verschleierung der Abonnenten-ID

Beispiel: AppFlow für DataStream konfigurieren

Das folgende Beispiel zeigt das Verfahren zum Konfigurieren von AppFlow für DataStream mithilfe der Befehlszeilenschnittstelle.

enable feature appflow

add db user sa password freebsd

add lbvserver lb0 MSSQL 10.102.147.97 1433 -appflowLog ENABLED

add service sv0 10.103.24.132 MSSQL 1433 -appflowLog ENABLED

bind lbvserver lb0 sv0

add appflow collector col0 -IPAddress 10.102.147.90

add appflow action act0 -collectors col0

add appflow policy pol0 "mssql.req.query.text.contains("select")" act0

bind lbvserver lb0 -policyName pol0 -priority 10
<!--NeedCopy-->

Wenn die Citrix ADC-Appliance eine Datenbankanforderung empfängt, wertet die Appliance die Anfrage anhand einer konfigurierten Richtlinie aus. Wenn eine Übereinstimmung gefunden wird, werden die Details an den AppFlow -Kollektor gesendet, der in der Richtlinie konfiguriert ist.

Abonnieren Sie Zähler auf dem Metrik-Kollektor

Der Metriksammler unterstützt den Export von Zeitreihenanalysedaten alle 30 Sekunden in verschiedenen Formaten wie AVRO, Prometheus-Format und Influx DB-Format. Der Metrik-Collector unterstützt die dynamische Aktualisierung von Zählern, sodass Sie die erforderlichen Zähler zu einer Schemadatei hinzufügen können. Sie können den Namen der Schemadatei mithilfe der CLI-Schnittstelle konfigurieren. Der Metrik-Kollektor liest die Zählernamen aus der Schemadatei und exportiert sie. Die Standard-Schemadatei schema.json ist in /var/metrics_conf/vorhanden.

Konfigurieren Sie den Metrik-Collector für das Abonnieren von Zählern mithilfe der CLI

Starten Sie den Metrikenexport, indem Sie einen Collector-Service konfigurieren

Geben Sie an der Eingabeaufforderung Folgendes ein:

’’’

set analytics profile ns_analytics_time_series_profile -metrics ENABLED -collectors <collector name> -schemaFile <schema file name> schema.json -outputMode <avro | influx | prometheus>

’’’

Hinweis: schema.json ist die standardmäßige SchemaFile-Konfiguration.

Eine neue Schemadatei mit einem erforderlichen Satz von Zählern kann mit dem CLI-Befehl für den Export des Metrik-Collectors konfiguriert werden. Die Schemadatei muss am Speicherort /var/metrics_conf/ vorhanden sein.

Die Schemadatei mit der gesamten Liste von Zählern (reference_schema.json), die von stats infra unterstützt werden, ist am Speicherort /var/metrics_conf/ vorhanden. Diese Datei kann als Referenz verwendet werden, um eine benutzerdefinierte Liste von Zählern zu erstellen.

Überprüfen Sie die Ausgabe der CLI-Konfiguration an der Eingabeaufforderung:

’’’

show analytics profile ns_analytics_time_series_profile Name: ns_analytics_time_series_profile Collector: <collector name> Profile-type: timeseries Output Mode: avro Metrics: ENABLED Schema File: schema.json Events: ENABLED Auditlog: DISABLED Serve mode: Push Reference Count: 0

’’’