Citrix ADC

配置AppFlow特性

您可以按照与大多数其他基于策略的特性相同的方式配置AppFlow。首先,启用AppFlow特性。然后指定将流记录发送到的收集器。在此之后,您将定义操作,这些操作是一组配置的收集器。然后配置一个或多个策略,并将操作关联到每个策略。该策略告诉Citrix ADC设备选择发送到关联操作的流记录的请求。最后,将每个策略全局绑定或绑定到特定的虚拟服务器以使其生效。

您可以进一步设置AppFlow参数,以指定模板刷新间隔,并启用导出httpURL、httpCookie和httpReferer信息。在每个收集器上,必须将Citrix ADC IP地址指定为出口商的地址。

请注意

有关将Citrix ADC配置为收集器上的导出器的信息,请参阅特定收集器的文档。

配置实用程序提供了帮助用户定义策略和操作的工具。它确定Citrix ADC设备如何将特定流的记录导出到一组收集器(操作)。命令行接口为喜欢使用命令行的有经验的用户提供了相应的基于cli的命令集。

使演示applow

要使用AppFlow特性,必须首先启用它。

请注意

AppFlow只能在nCore Citrix ADC设备上启用。

使用命令行接口启用AppFlow特性

在命令提示符下,键入以下命令之一:

启用ns feature AppFlow 

使用配置实用程序启用AppFlow特性

导航到系统>设置,点击配置高级特性,并选择演示applow选择。

指定采集器

收集器接收由Citrix ADC设备生成的AppFlow记录。要发送AppFlow记录,必须指定至少一个收集器。缺省情况下,采集器监听UDP 4739端口的IPFIX消息。可以在配置采集器时修改默认端口。同样,缺省情况下,AppFlow流量使用NSIP作为源IP。配置采集器时,可将此默认源IP地址修改为SNIP地址。还可以删除不使用的收集器。

通过使用命令行接口指定收集器

重要的

从Citrix ADC发行版12.1 build 55.13开始,您可以指定想要使用的收集器类型。中引入了一个新的参数“Transport”添加appflow收集器命令。缺省情况下,采集器监听IPFIX消息。您可以将收集器的类型更改为任意一种logstreamipfix或使用“Transport”参数休息。有关配置的更多信息,请参见示例。

在命令提示符下,输入以下命令来添加收集器并验证配置:

- add appflow collector  - ipaddress  -port  -netprofile  -Transport  - show appflow collector  

例子

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

使用命令行接口指定多个收集器

在命令提示符下,键入以下命令,向多个收集器添加和发送相同的数据:

add appflow collector  -IPAddress  add appflow collector  -IPAddress  add appflow action  -collectors   add appflow policy  true  bind lbvserver  -policy  -priority  

使用配置实用程序指定一个或多个收集器

导航到System > AppFlow >采集器,并创建AppFlow收集器。

配置AppFlow动作

AppFlow动作是一个集合收集器,如果相关联的AppFlow策略匹配,流记录就会发送到它。

使用命令行接口配置AppFlow操作

在命令提示符下,输入以下命令来配置AppFlow操作并验证配置:

添加appflow action ——collectors …[-clientSideMeasurements (Enabled|Disabled)] [-comment ] show appflow action 

例子

添加appflow操作apfl-act-collector-1-and-3 -collectors collector-1 collector- 3 

使用配置实用程序配置AppFlow动作

导航到System > AppFlow >操作,并创建AppFlow动作。

配置AppFlow策略

配置AppFlow动作之后,下一步必须配置AppFlow策略。AppFlow策略基于规则,规则由一个或多个表达式组成。

请注意

对于创建和管理AppFlow策略,配置实用程序提供了命令行接口所没有的帮助。

通过命令行界面配置AppFlow策略

在命令提示符下,输入以下命令添加AppFlow策略并验证配置:

添加appflow policy    show appflow policy  

例子

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

使用配置实用程序配置AppFlow策略

导航到System > AppFlow >策略,并创建AppFlow策略。

使用“添加表达式”对话框添加表达式

  1. 在“添加表达式”对话框中,在第一个列表框中为表达式选择第一个项。

    - HTTP HTTP协议。如果希望检查与HTTP协议相关的请求的某些方面,则选择该选项。- - - - - - SSL

    受保护的网站。选择该选项,如果您想检查与请求接收者有关的请求的某些方面。- CLIENT发送请求的计算机。如果希望检查请求发送方的某些方面,则选择该选项。当您做出选择时,最右边的列表框将为表达式的下一部分列出适当的术语。
  2. 在第二个列表框中,为表达式选择第二个项。这些选择取决于您在上一步中所做的选择,并且适合于上下文。在您做出第二个选择之后,Construct Expression窗口(为空白)下面的Help窗口将显示描述您刚刚选择的术语的目的和使用的帮助。
  3. 继续从前一个列表框右侧出现的列表框中选择术语,或在提示您输入值的文本框中输入字符串或数字,直到表达式完成。

绑定AppFlow策略

要使策略生效,您必须全局绑定它,以便它适用于流经Citrix ADC的所有流量,或者绑定到特定的虚拟服务器,以便该策略只适用于与该虚拟服务器相关的流量。

绑定策略时,为其分配优先级。优先级决定了您定义的策略的评估顺序。您可以将优先级设置为任何正整数。

在Citrix ADC操作系统中,策略优先级的工作顺序是相反的——数字越高,优先级越低。例如,如果您有三个优先级分别为10、100和1000的策略,那么优先级为10的策略将首先执行。之后,该策略的优先级为100,最后该策略的优先级为1000。

您可以为自己留出足够的空间,以任何顺序添加其他策略,并仍然按您想要的顺序设置它们。您可以通过在全局绑定每个策略时设置间隔为50或100的优先级来实现这一目标。然后,您可以在任何时候添加更多的策略,而不必更改现有策略的优先级。

使用命令行接口全局绑定AppFlow策略

在命令提示符下,输入以下命令全局绑定AppFlow策略并验证配置:

bind appflow global   [] [-invoke ( )] show appflow global 

例子

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

使用命令行接口将AppFlow策略绑定到特定的虚拟服务器

在命令提示符下,输入以下命令将AppFlow策略绑定到特定的虚拟服务器并验证配置:

绑定lb vserver  -policyname  -priority  

例子

绑定lb vserver谷歌-policyname af_policy_google_10.102.19.179 -priority 251 

通过使用配置实用程序全局绑定AppFlow策略

导航到系统> AppFlow,点击AppFlow策略管理器,并选择相应的“绑定点(默认全局)”和“连接类型”,绑定AppFlow策略。

使用配置实用程序将AppFlow策略绑定到特定的虚拟服务器

导航到流量管理>负载均衡>虚拟服务器,选择虚拟服务器,单击政策,并绑定AppFlow策略。

为虚拟服务器启用AppFlow

如果您只想监视通过某些虚拟服务器的流量,请专门为这些虚拟服务器启用AppFlow。AppFlow可用于负载均衡、内容切换、缓存重定向、SSL VPN、GSLB和认证虚拟服务器。

使用命令行接口为虚拟服务器启用AppFlow

在命令提示符处,输入:

set cs vserver     -appflowLog ENABLED 

例子

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

使用配置实用程序为虚拟服务器启用AppFlow

导航到流量管理>内容交换>虚拟服务器,选择虚拟服务器,并启用AppFlow Logging选项。

为服务启用AppFlow

您可以为要绑定到负载均衡虚拟服务器的服务启用AppFlow。

使用命令行接口为服务启用AppFlow

在命令提示符处,输入:

set service  -appflowLog ENABLED 

例子

set service ser -appflowLog ENABLED 

使用配置实用程序为服务启用AppFlow

导航到流量管理>负载均衡>业务,选择该服务,并启用AppFlow Logging选项。

设置AppFlow参数

通过设置AppFlow参数,可以自定义数据导出到采集器的方式。

通过命令行界面设置AppFlow参数

重要的

  • 从Citrix ADC release 12.1 build 55.13开始,可以使用NSIP发送Logstream记录而不是SNIP。中引入了一个新的参数“logstreamoversip”设置appflow参数命令。缺省情况下,logstreamoversip参数为“DISABLED”,必须为“ENABLE”。有关配置的更多信息,请参见示例。

  • 从Citrix ADC发行版13.0开始构建58。在AppFlow特性中启用Web SaaS应用程序选项。可以启用它从Citrix Gateway服务接收Web或SaaS应用程序的数据使用情况。有关配置的更多信息,请参见示例。

在命令提示符下,输入以下命令来设置AppFlow参数并验证设置:

- set appflow param [- templaterefresh ] [- appnamerefresh ] [- udppmtu ] [- httpurl (**ENABLED** | **DISABLED**)][- httpcookie (**ENABLED** | **DISABLED**)][- httpreferer (**ENABLED** | **DISABLED**)][- httpmethod (**ENABLED** | **DISABLED**)][- httphost (**ENABLED** | **DISABLED**)][- httppuseragent (**ENABLED** | **DISABLED**)][- clienttrafficonly (**YES** | **NO**)] [- clienttrafficonly (**YES** | **NO**][- websaasappusagereports (**ENABLED** | **DISABLED**)] [- logstreamoversip (**ENABLED** | **DISABLED**)] - show appflow Param 

例子

set appflow Param -templateRefresh 240 -udpPmtu 128 -httpUrl enabled - websaasappusagereportenabled - logstreamoversip enabled 

使用配置实用程序设置AppFlow参数

导航到系统> AppFlow,点击更改AppFlow设置,并指定AppFlow相关参数。

支持订阅者ID混淆

从Citrix ADC release 13.0开始构建35。xx, AppFlow配置被增强,以支持“subscriberIdObfuscation”算法,用于模糊4层或7层AppFlow记录中的MSISDN。但是,在将算法配置为MD5或SHA256之前,必须先将其作为AppFlow参数启用。该参数默认为禁用。

通过CLI配置用户ID混淆算法

在命令提示符处,输入:

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

例子

set appflow param - subscriberidobfusationenabled - subscriberidobfusationalgo SHA256 

通过GUI配置用户ID混淆算法

  1. 导航到系统> AppFlow
  2. 在AppFlow详细信息窗格中,单击更改AppFlow设置设置
  3. 2 .在“配置AppFlow设置”界面中设置以下参数:

    • 用户ID混淆。在L4/L7 AppFlow记录中启用混淆MSISDN选项。
    • 用户ID混淆算法。选择算法类型为MD5或SHA256。
  4. 点击好吧而且关闭

    用户ID混淆

示例:配置DataStream的AppFlow

下面的示例演示了使用命令行接口为DataStream配置AppFlow的过程。

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 

当Citrix ADC设备接收到数据库请求时,该设备将根据配置的策略对请求进行评估。如果找到匹配,则将详细信息发送到策略中配置的AppFlow收集器。

配置度量收集器

度量收集器支持以不同格式(如AVRO、Prometheus格式和inflow DB格式)每30秒导出一次时间序列分析数据。

CLI配置启动指标导出

通过CLI界面可以配置采集器服务,包括IP、协议和端口等详细信息。

例子:

Logproxy服务,包含Logproxy服务器IP,类型HTTP,端口5563)

在命令提示符处,输入:

set analytics profile ns_analytics_time_series_profile -collectors <使用第1步中配置的服务> -type timeseries -metrics ENABLED -outputMode  

在命令提示符处查看CLI配置的输出结果。

show analytics profile ns_analytics_time_series_profile名称:ns_analytics_time_series_profile **Collector**: ' < Collector Name > ' profile -type: timeseries输出模式:avro **Metrics**: ENABLED **Schema文件**:Schema。服务模式:Push引用计数:0\ 

调试度量收集器

需要的调试日志存储在/var/nslog/metricscollector.log的位置。

文件生成

metrics_ <格式> _log。*文件是在/var/nslog/文件夹的位置。

指标收集器中的动态模式支持

有了动态模式计数器的支持,包含计数器列表的模式文件可以在运行时根据需求进行更新。默认情况下,/var/metrics_conf / schema.json文件配置了计数器列表。

注意:

度量收集器默认模式文件/var/metrics_conf / schema.json可以通过installns程序安装到Citrix ADC设备上。

该任务指导软件调测工程师通过CLI配置指标采集器订阅指标

通过配置收集器服务启动度量导出。

在命令提示符处,输入:

set analytics profile ns_analytics_time_series_profile -metrics ENABLED -collectors  -schemaFile  schema。-outputMode  

注意:

schema.json是默认的schemaFile配置。

可以使用CLI命令配置一个新的模式文件,其中包含所需的一组计数器,以便度量收集器进行导出。模式文件必须出现在/var/metrics_conf /的位置。

包含stats infra支持的所有计数器列表(reference_schema.json)的模式文件出现在/var/metrics_conf /的位置。此文件可作为构建自定义计数器列表的参考。

通过CLI配置模式文件

set analytics profile ns_analytics_time_series_profile -metrics ENABLED -collectors <采集器名称> -schemaFile模式。-outputMode  

可以使用上面的CLI命令添加和配置一个包含所需计数器的新模式文件,以便导出度量收集器。

包含stats infra支持的所有计数器列表(reference_schema.json)的引用模式文件出现在/var/metrics_conf /的位置。此文件可作为构建自定义计数器列表的参考。

在命令提示符处查看CLI配置的输出结果。

show analytics profile ns_analytics_time_series_profile名称:ns_analytics_time_series_profile Collector:  profile -type: timeseries Output Mode: avro Metrics: ENABLED Schema文件:Schema。服务模式:Push引用计数:0 

更新导出的计数器列表的步骤

更新导出的计数器列表的步骤如下:

  1. 更新自定义/新模式文件。
  2. 方法禁用或启用度量指标选项显示在CLI配置中,以便使用更新后的模式文件。

多个时间序列概要文件支持

度量收集器支持Citrix ADC设备上最多三种时间序列概要配置。您可以将每个时间序列配置为具有以下特性。

  • 收集器。

  • 包含要导出的必需计数器集的模式文件。

  • 要导出指标的数据格式。

  • 启用或禁用度量审计日志和事件的选项。

有了多时间序列配置文件支持,度量收集器可以以不同格式(AVRO、Prometheus、inflow)将不同的度量集(基于配置的模式文件)同时导出到不同的收集器。

该任务指导管理员通过CLI添加时间序列配置文件

在命令提示符处,输入:

添加分析配置文件 -type timeseries 

通过CLI配置时间序列配置文件

在命令提示符处,输入:

set analytics profile  -metrics  -auditlogs  -events  -collectors  -schemaFile schema。-outputMode  

支持多个时间序列配置文件的日志文件命名约定

  • Avro日志文件以metrics_avro_ < profile_name > _log。*
  • Prometheus日志文件以metrics_prom_ < profile_name > . log

注:

  • 尽管可以在所有配置的时间序列概要文件上启用度量,但事件和审计日志只能在一个概要文件上启用。
  • 从版本13.1构建23.16起支持动态模式特性。
  • 从版本13.1构建33.6开始支持多时间序列概要文件。