Citrix ADC

Configuración de la función AppFlow

Puede configurar AppFlow de la misma manera que la mayoría de las demás funciones basadas en directivas. En primer lugar, habilite la función AppFlow. A continuación, especifique los recopiladores a los que se envían los registros de flujo. Después de eso, defina acciones, que son conjuntos de recopiladores configurados. A continuación, configure una o varias directivas y asocie una acción a cada directiva. La directiva indica al dispositivo Citrix ADC que seleccione las solicitudes cuyos registros de flujo se envían a la acción asociada. Por último, vincula cada directiva globalmente o al servidor virtual específico para ponerla en práctica.

Puede configurar aún más los parámetros de AppFlow para especificar el intervalo de actualización de la plantilla y permitir la exportación de la información de HttpURL, HttpCookie y HttPreferer. En cada recopilador, debe especificar la dirección IP de Citrix ADC como dirección del exportador.

Nota

Para obtener información sobre cómo configurar Citrix ADC como exportador en el recopilador, consulte la documentación del recopilador específico.

La utilidad de configuración proporciona herramientas que ayudan a los usuarios a definir las directivas y acciones. Determina exactamente cómo el dispositivo Citrix ADC exporta los registros de un flujo en particular a un conjunto de recopiladores (acción). La interfaz de línea de comandos proporciona un conjunto correspondiente de comandos basados en CLI para los usuarios experimentados que prefieren una línea de comandos.

Activación de AppFlow

Para poder usar la función AppFlow, primero debe habilitarla.

Nota

AppFlow solo se puede habilitar en dispositivos Citrix ADC de nCore.

Habilitar la función AppFlow mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba uno de los siguientes comandos:


enable ns feature AppFlow

<!--NeedCopy-->

Habilitar la función AppFlow mediante la utilidad de configuración

Vaya a Sistema > Configuración, haga clic en Configurar funciones avanzadas y seleccione la opción AppFlow.

Especificación de un recopilador

Un recopilador recibe los registros de AppFlow generados por el dispositivo Citrix ADC. Para enviar los registros de AppFlow, debe especificar al menos un recopilador. De forma predeterminada, el recopilador escucha los mensajes IPFIX en el puerto UDP 4739. Puede cambiar el puerto predeterminado al configurar el selector. Del mismo modo, de forma predeterminada, NSIP se utiliza como IP de origen para el tráfico de AppFlow. Puede cambiar esta IP de origen predeterminada a una dirección SNIP al configurar un recopilador. También puede eliminar los recolectores no utilizados.

Especificar un recopilador mediante la interfaz de línea de comandos

Importante

A partir de la versión 12.1 de Citrix ADC, compilación 55.13, puede especificar el tipo de recopilador que quiere utilizar. Se introduce un nuevo parámetro “Transport” en el comando add appflow collector. De forma predeterminada, el recopilador escucha los mensajes IPFIX. Puede cambiar el tipo de recopilador a logstream o ipfix o descansar mediante el parámetro “Transporte”. Para obtener más información sobre la configuración, consulte el ejemplo.

En el símbolo del sistema, escriba los siguientes comandos para agregar un recopilador y verificar la configuración:


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

-  show appflow collector <name>

<!--NeedCopy-->

Ejemplo


add appflow collector col1 -IPaddress 10.102.29.251 -port 8000 -netprofile n2 -Transport ipfix

<!--NeedCopy-->

Especificar varios recopiladores mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba los siguientes comandos para agregar y enviar los mismos datos a varios recopiladores:

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

Especificar uno o más recopiladores mediante la utilidad de configuración

Vaya a Sistema > AppFlow > Recopiladoresy cree el recopilador de AppFlow.

Configurar una acción de AppFlow

Una acción AppFlow es un recopilador de conjuntos, al que se envían los registros de flujo si coincide la directiva AppFlow asociada.

Configurar una acción de AppFlow mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba los siguientes comandos para configurar una acción de AppFlow y verificar la configuración:


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

show appflow action

<!--NeedCopy-->

Ejemplo


add appflow action apfl-act-collector-1-and-3 -collectors collector-1 collecter-3

<!--NeedCopy-->

Configurar una acción de AppFlow mediante la utilidad de configuración

Vaya a Sistema > AppFlow > Accionesy cree la acción AppFlow.

Configurar una directiva de AppFlow

Después de configurar una acción de AppFlow, debe configurar una directiva de AppFlow. Una directiva de AppFlow se basa en una regla, que consta de una o más expresiones.

Nota

Para crear y administrar directivas de AppFlow, la utilidad de configuración proporciona asistencia que no está disponible en la interfaz de línea de comandos.

Configurar una directiva de AppFlow mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba el siguiente comando para agregar una directiva de AppFlow y verificar la configuración:


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

show appflow policy <name>

<!--NeedCopy-->

Ejemplo


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

<!--NeedCopy-->

Configurar una directiva de AppFlow mediante la utilidad de configuración

Vaya a Sistema > AppFlow > Directivas y cree la directiva de AppFlow.

Agregar una expresión mediante el cuadro de diálogo Agregar expresión

  1. En el cuadro de diálogo Agregar expresión, en el primer cuadro de lista, elija el primer término de la expresión.

    - HTTP El protocolo HTTP. Elija la opción si quiere examinar algún aspecto de la solicitud que pertenece al protocolo HTTP. - SSL

    Los sitios web protegidos. Elija la opción si quiere examinar algún aspecto de la solicitud que pertenezca al destinatario de la solicitud. -
    CLIENT
    
    The computer that sent the request. Choose the option if you want to examine some aspect of the sender of the request. Al elegir, el cuadro de lista situado más a la derecha muestra los términos apropiados para la siguiente parte de la expresión.
    
  2. En el segundo cuadro de lista, elige el segundo término para su expresión. Las elecciones dependen de la elección que haya realizado en el paso anterior y son apropiadas para el contexto. Después de hacer la segunda elección, la ventana de Ayuda situada debajo de la ventana Construir expresión (que estaba en blanco) muestra ayuda para describir el propósito y el uso del término que acaba de elegir.
  3. Siga eligiendo términos en los cuadros de lista que aparecen a la derecha del cuadro de lista anterior o escribiendo cadenas o números en los cuadros de texto que aparecen para pedirle que escriba un valor hasta que finalice la expresión.

Vincular una directiva de AppFlow

Para poner en práctica una directiva, debe vincularla de forma global, de modo que se aplique a todo el tráfico que fluye a través de Citrix ADC, o a un servidor virtual específico, de modo que la directiva se aplique solo al tráfico relacionado con ese servidor virtual.

Cuando vincula una directiva, le asigna una prioridad. La prioridad determina el orden en que se evalúan las directivas que defina. Puede establecer la prioridad en cualquier número entero positivo.

En el sistema operativo Citrix ADC, las prioridades de las directivas funcionan en orden inverso: cuanto mayor sea el número, menor será la prioridad. Por ejemplo, si tiene tres directivas con prioridades de 10, 100 y 1000, la directiva a la que se le ha asignado una prioridad de 10 se ejecuta primero. Posteriormente, la directiva se asignó con una prioridad de 100, y finalmente la directiva asignó un orden de 1000.

Puede dejar espacio suficiente para agregar otras directivas en cualquier orden y, aun así, configurarlas para que se evalúen en el orden que quiera. Puede lograrlo estableciendo prioridades con intervalos de 50 o 100 entre cada directiva cuando la vincula globalmente. A continuación, puede agregar más directivas en cualquier momento sin tener que cambiar la prioridad de una directiva existente.

Enlazar globalmente una directiva de AppFlow mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba el siguiente comando para vincular globalmente una directiva de AppFlow y verificar la configuración:


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

show appflow global

<!--NeedCopy-->

Ejemplo


bind appflow global af_policy_lb1_10.102.71.190 1 NEXT -type REQ_OVERRIDE -invoke vserver google

<!--NeedCopy-->

Enlazar una directiva de AppFlow a un servidor virtual específico mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba el siguiente comando para vincular una directiva de AppFlow a un servidor virtual específico y verificar la configuración:


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

<!--NeedCopy-->

Ejemplo


bind lb vserver google -policyname af_policy_google_10.102.19.179 -priority 251

<!--NeedCopy-->

Enlazar globalmente una directiva de AppFlow mediante la utilidad de configuración

Vaya a Sistema > AppFlow, haga clic en Administrador de directivas de AppFlow y seleccione el punto de enlace (predeterminado global) y el tipo de conexión pertinentes y, a continuación, enlace la directiva de AppFlow.

Enlazar una directiva de AppFlow a un servidor virtual específico mediante la utilidad de configuración

Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales, seleccione el servidor virtual y haga clic en Directivas y vincule la directiva de AppFlow.

Habilitar AppFlow para servidores virtuales

Si quiere supervisar solo el tráfico a través de ciertos servidores virtuales, habilite AppFlow específicamente para esos servidores virtuales. Puede habilitar AppFlow para el equilibrio de carga, el cambio de contenido, la redirección de caché, la VPN con SSL, GSLB y servidores virtuales de autenticación.

Habilitar AppFlow para un servidor virtual mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba:


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

<!--NeedCopy-->

Ejemplo


set cs vserver Vserver-CS-1 HTTP 10.102.29.161 80 -appflowLog ENABLED

<!--NeedCopy-->

Habilitar AppFlow para un servidor virtual mediante la utilidad de configuración

Vaya a Administración del tráfico > Cambio de contenido > Servidores virtuales, seleccione el servidor virtual y habilite la opción Registro de AppFlow.

Habilitar AppFlow para un servicio

Puede habilitar AppFlow para los servicios que se van a vincular a los servidores virtuales de equilibrio de carga.

Habilitar AppFlow para un servicio mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba:


set service <name> -appflowLog ENABLED

<!--NeedCopy-->

Ejemplo


set service ser -appflowLog ENABLED

<!--NeedCopy-->

Habilitar AppFlow para un servicio mediante la utilidad de configuración

Vaya a Administración del tráfico > Equilibrio de carga > Servicios, seleccione el servicio y habilite la opción Registro de AppFlow.

Establecer los parámetros de AppFlow

Puede configurar los parámetros de AppFlow para personalizar la exportación de datos a los recopiladores.

Establezca los parámetros de AppFlow mediante la interfaz de línea de comandos

Importante

  • A partir de Citrix ADC versión 12.1 compilación 55.13, puede utilizar el NSIP para enviar registros Logstream en lugar del SNIP. Se introduce un nuevo parámetro “logstreamOverNSIP” en el comando set appflow param. De forma predeterminada, el parámetro “LogStreamOvernSIP” es DISABLED, debe “ENABLE”. Para obtener más información sobre la configuración, consulte el ejemplo.

  • A partir de la versión 13.0 build 58.x de Citrix ADC, puede habilitar la opción de aplicación Web SaaS en la función AppFlow. Se puede habilitar para recibir el uso de datos de aplicaciones web o SaaS del servicio Citrix Gateway. Para obtener más información sobre la configuración, consulte el ejemplo.

En el símbolo del sistema, escriba los siguientes comandos para establecer los parámetros de AppFlow y verificar la configuración:


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

Ejemplo


set appflow Param -templateRefresh 240 -udpPmtu 128 -httpUrl enabled -webSaaSAppUsageReporting ENABLED -logstreamOverNSIP ENABLED

<!--NeedCopy-->

Establezca los parámetros de AppFlow mediante la utilidad de configuración

Vaya a Sistema > AppFlow, haga clic en Cambiar configuración de AppFlowy especifique los parámetros de AppFlow relevantes.

Soporte para ofuscación de ID de suscriptor

A partir de la versión 13.0 build 35.xx de Citrix ADC, la configuración de AppFlow se ha mejorado para admitir el algoritmo “SubscriberidOfuscation” para ofuscar MSISDN en los registros de AppFlow de capa 4 o capa 7. Sin embargo, antes de configurar el algoritmo como MD5 o SHA256, primero debe habilitarlo como un parámetro de AppFlow. El parámetro está inhabilitado de forma predeterminada.

Configurar el algoritmo de ofuscación de ID de suscriptor mediante la CLI

En el símbolo del sistema, escriba:


set appflow param [-subscriberIdObfuscation ( ENABLED | DISABLED )  [-subscriberIdObfuscationAlgo ( MD5 | SHA256 )]]

<!--NeedCopy-->

Ejemplo


set appflow param –subscriberIdObfuscation ENABLED – subscriberIdObfuscationAlgo SHA256

<!--NeedCopy-->

Configurar el algoritmo de ofuscación de ID de suscriptor mediante la GUI

  1. Vaya a Sistema > AppFlow.
  2. En el panel detallado de AppFlow, haga clic en Cambiar configuración de AppFlow en Configuración.
  3. En la página Configure AppFlow Settings, defina los siguientes parámetros:

    • Ofuscación de ID de suscriptor Habilite la opción de ofuscación de MSISDN en los registros de AppFlow L4/L7.
    • Algo de ofuscación de ID de abonado. Seleccione el tipo de algoritmo como MD5 o SHA256.
  4. Haga clic en Aceptar y cerrar.

    Ofuscación de ID de abonado

Ejemplo: configurar AppFlow para DataStream

El siguiente ejemplo ilustra el procedimiento para configurar AppFlow para DataStream mediante la interfaz de línea de comandos.


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

Cuando el dispositivo Citrix ADC recibe una solicitud de base de datos, el dispositivo evalúa la solicitud en función de una directiva configurada. Si se encuentra una coincidencia, los detalles se envían al recopilador AppFlow configurado en la directiva.

Configurar el recopilador de métricas

El recopilador de métricas admite la exportación de datos de análisis de series temporales cada 30 segundos en diferentes formatos, como AVRO, formato Prometheus y formato Influx DB.

Configuración CLI para iniciar la exportación de métricas

Mediante la interfaz CLI, puede configurar un servicio de recopilación con detalles de IP, protocolo y puerto.

Ejemplo:

Servicio Logproxy con servidor logproxy (IP, tipo HTTP y puerto 5563)

En el símbolo del sistema, escriba:


set analytics profile ns_analytics_time_series_profile -collectors <use the service configured in step 1> -type timeseries -metrics ENABLED -outputMode <avro/influx/prometheus>

<!--NeedCopy-->

Compruebe el resultado de la configuración de CLI en el símbolo del sistema:


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\

<!--NeedCopy-->

Recolector de métricas de depuración

Los registros de depuración necesarios se almacenan en la ubicación /var/nslog/metricscollector.log.

Generación de archivos de

Los archivos metrics_<format>_log.* se generan en la ubicación de la carpeta /var/nslog/.

Soporte de esquemas dinámicos en el colector de métricas

Con el soporte de los contadores de esquemas dinámicos, se puede actualizar un archivo de esquema que contenga una lista de contadores en tiempo de ejecución según los requisitos. De forma predeterminada, el archivo /var/metrics_conf/schema.json se configura con una lista de contadores.

Nota:

El archivo de esquema predeterminado del recopilador de métricas se /var/metrics_conf/schema.json puede instalar en un dispositivo Citrix ADC mediante el procedimiento installns.

Configurar el recopilador de métricas para suscribir contadores mediante la CLI

Inicie la exportación de métricas configurando un servicio de recopilador.

En el símbolo del sistema, escriba:


set analytics profile ns_analytics_time_series_profile -metrics ENABLED -collectors <collector_name> -schemaFile <schema file_name> schema.json -outputMode <avro | influx | prometheus>

<!--NeedCopy-->

Nota:

schema.json es la configuración predeterminada de SchemaFile.

Se puede configurar un nuevo archivo de esquema con un conjunto de contadores necesario mediante el comando CLI para que el recopilador de métricas lo exporte. El archivo de esquema debe estar presente en la ubicación /var/metrics_conf/.

El archivo de esquema que contiene toda la lista de contadores (reference_schema.json) admitidos por stats infra está presente en la ubicación /var/metrics_conf/. Este archivo se puede usar como referencia para crear una lista personalizada de contadores.

Configurar un archivo de esquema mediante la CLI

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

<!--NeedCopy-->

Se puede agregar y configurar un nuevo archivo de esquema con los contadores necesarios mediante el comando CLI anterior para que el recopilador de métricas lo exporte.

El archivo de esquema de referencia con toda la lista de contadores (reference_schema.json) compatibles con stats infra está presente en la ubicación /var/metrics_conf/. Este archivo se puede usar como referencia para crear una lista personalizada de contadores.

Compruebe el resultado de la configuración de CLI en el símbolo del sistema:


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

<!--NeedCopy-->

Pasos para actualizar la lista de contadores exportados

El procedimiento siguiente describe los pasos para actualizar la lista de contadores exportados:

  1. Actualice el archivo de esquema personalizado/nuevo.
  2. Inhabilite o habilite las métricas mediante la opción -metrics que se muestra en la configuración de la CLI para utilizar el archivo de esquema actualizado.

Soporte de múltiples perfiles de series temporales

El recopilador de métricas admite hasta tres configuraciones de perfiles de series temporales en el dispositivo Citrix ADC. Puede configurar cada serie temporal para que tenga lo siguiente.

  • Coleccionista.

  • Archivo de esquema que contiene el conjunto de contadores que se debe exportar.

  • El formato de datos en el que se van a exportar las métricas.

  • La opción de habilitar o inhabilitar los registros y eventos de auditoría de métricas.

Con la compatibilidad con múltiples perfiles de series temporales, el recopilador de métricas puede exportar simultáneamente un conjunto diferente (según el archivo de esquema configurado) de métricas a diferentes recopiladores en diferentes formatos (AVRO, Prometheus, Influx).

Agregue un perfil de series temporales mediante la CLI

En el símbolo del sistema, escriba:

add analytics profile <profile_name> -type timeseries
<!--NeedCopy-->

Configure el perfil de series temporales mediante la CLI

En el símbolo del sistema, escriba:

set analytics profile <profile_name> -metrics <DISABLED|ENABLED> -auditlogs <DISABLED|ENABLED> -events <DISABLED|ENABLED> -collectors <collector_name> -schemaFile schema.json -outputMode <avro | influx | prometheus>

<!--NeedCopy-->

Convenciones de nomenclatura de archivos de registro compatibles con múltiples perfiles de series temporales

  • Los archivos de registro de Avro se generan como metrics_avro_<profile_name>_log.*.
  • Los archivos de registro de Prometheus se generan como metrics_prom_<profile_name>.log.

Notas:

  • Aunque las métricas se pueden habilitar en todos los perfiles de series temporales configurados, los registros de eventos y auditoría solo se pueden habilitar en un perfil.
  • La función de esquema dinámico se admite a partir de la versión 13.1, compilación 23.16.
  • El perfil de varias series temporales es compatible a partir de la versión 13.1, compilación 33.6.