Application Delivery Management

HDX™ Insight 数据收集的启用

HDX Insight 使 IT 能够提供卓越的用户体验,它通过对流经 NetScaler 实例的 ICA 流量提供前所未有的端到端可见性,并且是 NetScaler Console Analytics 的一部分。HDX Insight 为网络、虚拟桌面、应用程序和应用程序结构提供了引人注目且功能强大的商业智能和故障分析功能。HDX Insight 既可以即时分类用户问题,又可以收集有关虚拟桌面连接的数据,并生成 AppFlow 记录并将其呈现为可视化报告。

在 NetScaler 中启用数据收集的配置因设备在部署拓扑中的位置而异。

为监视以 LAN 用户模式部署的 NetScaler 启用数据收集

访问 Citrix Virtual App and Desktop 应用程序的外部用户必须在 NetScaler Gateway 上进行身份验证。但是,内部用户可能不需要重定向到 NetScaler Gateway。此外,在透明模式部署中,管理员必须手动应用路由策略,以便将请求重定向到 NetScaler 设备。

为了克服这些挑战,并使 LAN 用户能够直接连接到 Citrix Virtual App and Desktop 应用程序,您可以通过配置缓存重定向虚拟服务器来以 LAN 用户模式部署 NetScaler 设备,该虚拟服务器在 NetScaler Gateway 设备上充当 SOCKS 代理。

在 LAN 用户模式下部署 NetScaler

注意: NetScaler Console 和 NetScaler Gateway 设备位于同一子网中。

要监视以此模式部署的 NetScaler 设备,首先将 NetScaler 设备添加到 NetScaler Insight 清单中,启用 AppFlow,然后在控制板上查看报告。

将 NetScaler 设备添加到 NetScaler Console 清单后,必须启用 AppFlow 以进行数据收集。

注意:

  • 在 NetScaler 实例上,您可以导航到“设置”>“AppFlow”>“收集器”,以检查收集器(即 NetScaler Console)是否已启动。NetScaler 实例使用 NSIP 将 AppFlow 记录发送到 NetScaler Console。但该实例使用其 SNIP 验证与 NetScaler Console 的连接。因此,请确保在实例上配置了 SNIP。
  • 您不能使用 NetScaler Console 配置实用程序在以 LAN 用户模式部署的 NetScaler 上启用数据收集。
  • 有关命令及其用法的详细信息,请参阅 命令参考
  • 有关策略表达式的信息,请参阅 策略和表达式

要使用命令行界面在 NetScaler 设备上配置数据收集:

在命令提示符下,执行以下操作:

  1. 登录到设备。

  2. 添加一个正向代理缓存重定向虚拟服务器,其中包含代理 IP 和端口,并将服务类型指定为 HDX。

    add cr vserver <name> <servicetype> [<ipaddress> <port>] [-cacheType <cachetype>] [ - cltTimeout <secs>]
    <!--NeedCopy-->
    

    示例

    add cr vserver cr1 HDX 10.12.2.2 443 –cacheType FORWARD –cltTimeout 180
    <!--NeedCopy-->
    

    注意: 如果您正在使用 NetScaler Gateway 设备访问 LAN 网络,请添加一个由与 VPN 流量匹配的策略应用的动作。

    add vpn trafficAction <name> <qual> [-HDX ( ON or OFF )]
    
    add vpn trafficPolicy <name> <rule> <action>
    <!--NeedCopy-->
    

    示例

    add vpn trafficAction act1 tcp -HDX ON
    
    add vpn trafficPolicy pol1 "REQ.IP.DESTIP == 10.102.69.17" act1
    <!--NeedCopy-->
    
  3. 将 NetScaler Console 添加为 NetScaler 设备上的 AppFlow 收集器。

    add appflow collector <name> -IPAddress <ip_addr>
    <!--NeedCopy-->
    

    示例:

    add appflow collector MyInsight -IPAddress 192.168.1.101
    <!--NeedCopy-->
    
  4. 创建一个 AppFlow® 动作,并将收集器与该动作关联。

    add appflow action <name> -collectors <string>
    <!--NeedCopy-->
    

    示例:

    add appflow action act -collectors MyInsight
    <!--NeedCopy-->
    
  5. 创建一个 AppFlow 策略以指定生成流量的规则。

    add appflow policy <policyname> <rule> <action>
    <!--NeedCopy-->
    

    示例:

    add appflow policy pol true act
    <!--NeedCopy-->
    
  6. 将 AppFlow 策略绑定到全局绑定点。

    bind appflow global <policyname> <priority> -type <type>
    <!--NeedCopy-->
    

    示例:

    bind appflow global pol 1 -type ICA_REQ_DEFAULT
    <!--NeedCopy-->
    

    注意:

    type 的值必须为 ICA_REQ_OVERRIDE 或 ICA_REQ_DEFAULT 才能应用于 ICA® 流量。

  7. 将 AppFlow 的 flowRecordInterval 参数值设置为 60 秒。

    set appflow param -flowRecordInterval 60
    <!--NeedCopy-->
    

    示例:

    set appflow param -flowRecordInterval 60
    <!--NeedCopy-->
    
  8. 保存配置。键入:save ns config

为监视以单跳模式部署的 NetScaler Gateway 设备启用数据收集

当您以单跳模式部署 NetScaler Gateway 时,它位于网络的边缘。Gateway 实例提供到桌面交付基础架构的代理 ICA 连接。单跳是最简单和最常见的部署。如果外部用户尝试访问组织中的内部网络,单跳模式可提供安全性。在单跳模式下,用户通过虚拟专用网络 (VPN) 访问 NetScaler 设备。

要开始收集报告,您必须将 NetScaler Gateway 设备添加到 NetScaler Console 清单中,并在 NetScaler Console 上启用 AppFlow。

要从 NetScaler Console 启用 AppFlow 功能:

  1. 在 Web 浏览器中,键入 NetScaler Console 的 IP 地址(例如,http://192.168.100.1)。

  2. 在“用户名”和“密码”中,输入管理员凭据。

  3. 导航到“基础架构”>“实例”,然后选择要启用分析的 NetScaler 实例。

  4. 从“选择操作”列表中,选择“配置分析”。

  5. 选择 VPN 虚拟服务器,然后单击“启用分析”。

  6. 选择 HDX Insight,然后选择 ICA

  7. 单击“确定”。

注意:

当您在单跳模式下启用 AppFlow 时,以下命令在后台运行。此处明确指定这些命令是为了进行故障排除。

-  add appflow collector <name> -IPAddress <ip_addr>

-  add appflow action <name> -collectors <string>

-  set appflow param -flowRecordInterval <secs>

-  disable ns feature AppFlow

-  enable ns feature AppFlow

-  add appflow policy <name> <rule> <expression>

-  set appflow policy <name> -rule <expression>

-  bind vpn vserver <vsname> -policy <string> -type <type> -priority <positive_integer>

-  set vpn vserver <name> -appflowLog ENABLED

-  save ns config
<!--NeedCopy-->

EUEM 虚拟通道数据是 NetScaler Console 从 Gateway 实例接收的 HDX Insight 数据的一部分。EUEM 虚拟通道提供有关 ICA RTT 的数据。如果未启用 EUEM 虚拟通道,则剩余的 HDX Insight 数据仍会显示在 NetScaler Console 上。

为监视以双跳模式部署的 NetScaler Gateway 设备启用数据收集

NetScaler Gateway 双跳模式为组织的内部网络提供了额外的保护,因为攻击者需要穿透多个安全区域或非军事区 (DMZ) 才能到达安全网络中的服务器。如果您想分析 ICA 连接通过的跳数(NetScaler Gateway 设备),以及每个 TCP 连接上的延迟详细信息以及它与客户端感知的总 ICA 延迟的比较情况,则必须安装 NetScaler Console,以便 NetScaler Gateway 设备报告这些重要统计信息。

启用分析

第一个 DMZ 中的 NetScaler Gateway 处理用户连接并执行 SSL VPN 的安全功能。此 NetScaler Gateway 加密用户连接,确定用户如何进行身份验证,并控制对内部网络中服务器的访问。

第二个 DMZ 中的 NetScaler Gateway 充当 NetScaler Gateway 代理设备。此 NetScaler Gateway 使 ICA 流量能够穿过第二个 DMZ,以完成用户到服务器场的连接。

NetScaler Console 可以部署在属于第一个 DMZ 中的 NetScaler Gateway 设备的子网中,也可以部署在属于第二个 DMZ 中的 NetScaler Gateway 设备的子网中。在上图中,第一个 DMZ 中的 NetScaler Console 和 NetScaler Gateway 部署在同一子网中。

在双跳模式下,NetScaler Console 从一个设备收集 TCP 记录,并从另一个设备收集 ICA 记录。将 NetScaler Gateway 设备添加到 NetScaler Console 清单并启用数据收集后,每个设备都会通过跟踪跳数和连接链 ID 来导出报告。

为了让 NetScaler Console 识别哪个设备正在导出记录,每个设备都指定了跳数,每个连接都指定了连接链 ID。跳数表示流量从客户端流向服务器所经过的 NetScaler Gateway 设备的数量。连接链 ID 表示客户端和服务器之间的端到端连接。

NetScaler Console 使用跳数和连接链 ID 来关联来自两个 NetScaler Gateway 设备的数据并生成报告。

要监视以此模式部署的 NetScaler Gateway 设备,您必须首先将 NetScaler Gateway 添加到 NetScaler Console 清单中,在 NetScaler Console 上启用 AppFlow,然后在 NetScaler Console 控制板上查看报告。

在用于 Optimal Gateway 的虚拟服务器上配置 HDX Insight

在用于 Optimal Gateway 的虚拟服务器上配置 HDX Insight 的步骤:

  1. 导航到“基础架构”>“实例”,然后选择要启用分析的 NetScaler 实例。

  2. 从“选择操作”列表中,选择“配置分析”。

  3. 选择为身份验证配置的 VPN 虚拟服务器,然后单击“启用分析”。

  4. 选择 HDX Insight,然后选择 ICA

  5. 根据需要选择其他高级选项。

  6. 单击“确定”。

  7. 在另一个 VPN 虚拟服务器上重复步骤 3 到 6。

在 NetScaler Console 上启用数据收集

如果您启用 NetScaler Console 开始从两个设备收集 ICA 详细信息,则收集的详细信息是冗余的。也就是说,两个设备报告相同的指标。为了克服这种情况,您必须在第一个 NetScaler Gateway 设备之一上启用 ICA 的 AppFlow,然后在第二个设备上启用 TCP 的 AppFlow。通过这样做,一个设备导出 ICA AppFlow 记录,另一个设备导出 TCP AppFlow 记录。这还节省了解析 ICA 流量的处理时间。

要从 NetScaler Console 启用 AppFlow 功能:

  1. 在 Web 浏览器中,键入 NetScaler Console 的 IP 地址(例如,http://192.168.100.1)。

  2. 在“用户名”和“密码”中,输入管理员凭据。

  3. 导航到“基础架构”>“实例”,然后选择要启用分析的 NetScaler 实例。

  4. 从“选择操作”列表中,选择“配置分析”。

  5. 选择 VPN 虚拟服务器,然后单击“启用分析”。

  6. 选择 HDX Insight,然后选择 ICATCP 分别用于 ICA 流量或 TCP 流量。

    注意:

    如果未在 NetScaler 设备上为相应的服务或服务组启用 AppFlow 日志记录,即使 Insight 列显示“已启用”,NetScaler Console 控制板也不会显示记录。

  7. 单击“确定”。

配置 NetScaler Gateway 设备以导出数据

安装 NetScaler Gateway 设备后,必须在 NetScaler Gateway 设备上配置以下设置,以将报告导出到 NetScaler Console:

  • 配置第一个和第二个 DMZ 中的 NetScaler Gateway 设备的虚拟服务器以相互通信。

  • 将第二个 DMZ 中的 NetScaler Gateway 虚拟服务器绑定到第一个 DMZ 中的 NetScaler Gateway 虚拟服务器。

  • 在第二个 DMZ 中的 NetScaler Gateway 上启用双跳。

  • 禁用第二个 DMZ 中的 NetScaler Gateway 虚拟服务器上的身份验证。

  • 启用其中一个 NetScaler Gateway 设备以导出 ICA 记录

  • 启用另一个 NetScaler Gateway 设备以导出 TCP 记录:

  • 在两个 NetScaler Gateway 设备上启用连接链。

使用命令行界面配置 NetScaler Gateway:

  1. 配置第一个 DMZ 中的 NetScaler Gateway 虚拟服务器以与第二个 DMZ 中的 NetScaler Gateway 虚拟服务器通信。

    add vpn nextHopServer <name> <nextHopIP> <nextHopPort> [-secure (ON or OFF)] [-imgGifToPng]
    
    add vpn nextHopServer nh1 10.102.2.33 8443 –secure ON
    <!--NeedCopy-->
    
  2. 将第二个 DMZ 中的 NetScaler Gateway 虚拟服务器绑定到第一个 DMZ 中的 NetScaler Gateway 虚拟服务器。在第一个 DMZ 中的 NetScaler Gateway 上运行以下命令:

    bind vpn vserver <name> -nextHopServer <name>
    
    bind vpn vserver vs1 -nextHopServer nh1
    
    <!--NeedCopy-->
    
  3. 在第二个 DMZ 中的 NetScaler Gateway 上启用双跳和 AppFlow。

    set vpn vserver <name> [- doubleHop ( ENABLED or DISABLED )] [- appflowLog ( ENABLED or DISABLED )]
    
    set vpn vserver vpnhop2 –doubleHop ENABLED –appFlowLog ENABLED
    <!--NeedCopy-->
    
  4. 禁用第二个 DMZ 中的 NetScaler Gateway 虚拟服务器上的身份验证。

    set vpn vserver <name> [-authentication (ON or OFF)]
    
    set vpn vserver vs -authentication OFF
    <!--NeedCopy-->
    
  5. 启用其中一个 NetScaler Gateway 设备以导出 TCP 记录。

    bind vpn vserver <name> [-policy <string> -priority <positive_integer>] [-type <type>]
    
    bind vpn vserver vpn1 -policy appflowpol1 -priority 101 –type OTHERTCP_REQUEST
    <!--NeedCopy-->
    
  6. 启用另一个 NetScaler Gateway 设备以导出 ICA 记录:

    bind vpn vserver <name> [-policy <string> -priority <positive_integer>] [-type <type>]
    
    bind vpn vserver vpn2 -policy appflowpol1 -priority 101 -type ICA_REQUEST
    <!--NeedCopy-->
    
  7. 在两个 NetScaler Gateway 设备上启用连接链:

    set appFlow param [-connectionChaining (ENABLED or DISABLED)]
    
    set appflow param -connectionChaining ENABLED
    <!--NeedCopy-->
    

使用配置实用程序配置 NetScaler Gateway:

  1. 配置第一个 DMZ 中的 NetScaler Gateway 以与第二个 DMZ 中的 NetScaler Gateway 通信,并将第二个 DMZ 中的 NetScaler Gateway 绑定到第一个 DMZ 中的 NetScaler Gateway。

    1. 在“配置”选项卡上,展开“NetScaler Gateway”,然后单击“虚拟服务器”。

    2. 在右侧窗格中,双击虚拟服务器,然后在“高级”组中,展开“已发布的应用程序”。

    3. 单击“下一跳服务器”,并将下一跳服务器绑定到第二个 NetScaler Gateway 设备。

  2. 在第二个 DMZ 中的 NetScaler Gateway 上启用双跳。

    1. 在“配置”选项卡上,展开“NetScaler Gateway”,然后单击“虚拟服务器”。

    2. 在右侧窗格中,双击虚拟服务器,然后在“基本设置”组中,单击编辑图标。

    3. 展开“更多”,选择“双跳”,然后单击“确定”。

  3. 禁用第二个 DMZ 中的 NetScaler Gateway 上的虚拟服务器上的身份验证。

    1. 在“配置”选项卡上,展开“NetScaler Gateway”,然后单击“虚拟服务器”。

    2. 在右侧窗格中,双击虚拟服务器,然后在“基本设置”组中,单击编辑图标。

    3. 展开“更多”,然后清除“启用身份验证”。

  4. 启用其中一个 NetScaler Gateway 设备以导出 TCP 记录。

    1. 在“配置”选项卡上,展开“NetScaler Gateway”,然后单击“虚拟服务器”。

    2. 在右侧窗格中,双击虚拟服务器,然后在“高级”组中,展开“策略”。

    3. 单击“+”图标,然后从“选择策略”列表中选择“AppFlow”,再从“选择类型”列表中选择“其他 TCP 请求”。

    4. 单击“继续”。

    5. 添加策略绑定,然后单击“关闭”。

  5. 启用另一个 NetScaler Gateway 设备以导出 ICA 记录:

    1. 在“配置”选项卡上,展开“NetScaler Gateway”,然后单击“虚拟服务器”。

    2. 在右侧窗格中,双击虚拟服务器,然后在“高级”组中,展开“策略”。

    3. 单击“+”图标,然后从“选择策略”列表中选择“AppFlow”,再从“选择类型”列表中选择“其他 TCP 请求”。

    4. 单击“继续”。

    5. 添加策略绑定,然后单击“关闭”。

  6. 在两个 NetScaler Gateway 设备上启用连接链。

    1. 在“配置”选项卡上,导航到“系统”>“Appflow”。

    2. 在右侧窗格的“设置”组中,双击“更改 Appflow 设置”。

    3. 选择“连接链”,然后单击“确定”。

  7. 配置第一个 DMZ 中的 NetScaler Gateway 以与第二个 DMZ 中的 NetScaler Gateway 通信,并将第二个 DMZ 中的 NetScaler Gateway 绑定到第一个 DMZ 中的 NetScaler Gateway。

    1. 在“配置”选项卡上,展开“NetScaler Gateway”,然后单击“虚拟服务器”。

    2. 在右侧窗格中,双击虚拟服务器,然后在“高级”组中,展开“已发布的应用程序”。

    3. 单击“下一跳服务器”,并将下一跳服务器绑定到第二个 NetScaler Gateway 设备。

  8. 在第二个 DMZ 中的 NetScaler Gateway 上启用双跳。

    1. 在“配置”选项卡上,展开“NetScaler Gateway”,然后单击“虚拟服务器”。

    2. 在右侧窗格中,双击虚拟服务器,然后在“基本设置”组中,单击编辑图标。

    3. 展开“更多”,选择“双跳”,然后单击“确定”。

  9. 禁用第二个 DMZ 中的 NetScaler Gateway 上的虚拟服务器上的身份验证。

    1. 在“配置”选项卡上,展开“NetScaler Gateway”,然后单击“虚拟服务器”。

    2. 在右侧窗格中,双击虚拟服务器,然后在“基本设置”组中,单击编辑图标。

    3. 展开“更多”,然后清除“启用身份验证”。

  10. 启用其中一个 NetScaler Gateway 设备以导出 TCP 记录。

    1. 在“配置”选项卡上,展开“NetScaler Gateway”,然后单击“虚拟服务器”。

    2. 在右侧窗格中,双击虚拟服务器,然后在“高级”组中,展开“策略”。

    3. 单击“+”图标,然后从“选择策略”列表中选择“AppFlow”,再从“选择类型”列表中选择“其他 TCP 请求”。

    4. 单击“继续”。

    5. 添加策略绑定,然后单击“关闭”。

  11. 启用另一个 NetScaler Gateway 设备以导出 ICA 记录。

    1. 在“配置”选项卡上,展开“NetScaler Gateway”,然后单击“虚拟服务器”。

    2. 在右侧窗格中,双击虚拟服务器,然后在“高级”组中,展开“策略”。

    3. 单击“+”图标,然后从“选择策略”列表中选择“AppFlow”,再从“选择类型”列表中选择“其他 TCP 请求”。

    4. 单击“继续”。

    5. 添加策略绑定,然后单击“关闭”。

  12. 在两个 NetScaler Gateway 设备上启用连接链。

为监视以透明模式部署的 NetScaler 启用数据收集

当 NetScaler 以透明模式部署时,客户端可以直接访问服务器,无需中间虚拟服务器。如果 NetScaler 设备在 Citrix Virtual Apps and Desktop 环境中以透明模式部署,则 ICA 流量不会通过 VPN 传输。

将 NetScaler 添加到 NetScaler Console 清单后,必须启用 AppFlow 以进行数据收集。启用数据收集取决于设备和模式。在这种情况下,您必须将 NetScaler Console 添加为每个 NetScaler 设备上的 AppFlow 收集器,并且必须配置 AppFlow 策略以收集流经设备的所有或特定 ICA 流量。

注意:

  • 您不能使用 NetScaler Console 配置实用程序在以透明模式部署的 NetScaler 上启用数据收集。
  • 有关命令及其用法的详细信息,请参阅 命令参考
  • 有关策略表达式的信息,请参阅 策略和表达式

下图显示了当 NetScaler 以透明模式部署时 NetScaler Console 的网络部署:

透明模式

要使用命令行界面在 NetScaler 设备上配置数据收集:

在命令提示符下,执行以下操作:

  1. 登录到设备。

  2. 指定 NetScaler 设备侦听流量的 ICA 端口。

    set ns param --icaPorts <port>...
    <!--NeedCopy-->
    

    示例:

    set ns param -icaPorts 2598 1494
    <!--NeedCopy-->
    

    注意:

    • 您可以使用此命令指定最多 10 个端口。
    • 默认端口号为 2598。您可以根据需要修改端口号。
  3. 将 NetScaler Insight Center 添加为 NetScaler 设备上的 AppFlow 收集器。

    add appflow collector <name> -IPAddress <ip_addr>
    <!--NeedCopy-->
    

    示例:

    add appflow collector MyInsight -IPAddress 192.168.1.101
    <!--NeedCopy-->
    

    注意: 要查看在 NetScaler 设备上配置的 AppFlow 收集器,请使用 show appflow collector 命令。

  4. 创建一个 AppFlow 动作,并将收集器与该动作关联。

    add appflow action <name> -collectors <string> ...
    <!--NeedCopy-->
    

    示例:

    add AppFlow action act-collectors MyInsight

  5. 创建一个 AppFlow 策略以指定生成流量的规则。

    add appflow policy <policyname> <rule> <action>
    <!--NeedCopy-->
    

    示例:

    add appflow policy pol true act
    <!--NeedCopy-->
    
  6. 将 AppFlow 策略绑定到全局绑定点。

    bind appflow global <policyname> <priority> -type <type>
    <!--NeedCopy-->
    

    示例:

    bind appflow global pol 1 -type ICA_REQ_DEFAULT
    <!--NeedCopy-->
    

    注意:

    type 的值必须为 ICA_REQ_OVERRIDE 或 ICA_REQ_DEFAULT 才能应用于 ICA 流量。

  7. 将 AppFlow 的 flowRecordInterval 参数值设置为 60 秒。

    set appflow param -flowRecordInterval 60
    <!--NeedCopy-->
    

    示例:

    set appflow param -flowRecordInterval 60
    <!--NeedCopy-->
    
  8. 保存配置。键入:save ns config