分布式跟踪

在服务图中,您可以使用分布式跟踪视图:

  • 分析整体服务绩效。

  • 可视化所选服务与其相互依赖的服务之间的通信流。

  • 确定哪个服务指示错误,并对错误的服务进行故障排除。

  • 查看所选服务及其每个相互依赖的服务之间的事务详细信息。

先决条件

要查看服务的跟踪信息,您必须:

  • 确保应用程序在发送任何东西流量时保持以下跟踪头:

    头

  • CIC版本早于1.7.23,更新CPX YAML文件NS_DISTRIBUTED_TRACINGvalue为是的

    CPX YAML

  • CIC版本高于1.7.23,必须使用ConfigMap。

    ConfigMaps允许您将配置与pod分离,并使您的工作负载具有可移植性。使用ConfigMaps,您可以轻松地更改和管理工作负载配置,并减少将配置数据硬编码到pod规范的需要。

    使用ConfigMap支持,您可以在保持Citrix入口控制器pod运行的同时自动更新配置。更新后不需要重新启动pod。有关更多信息,请参见对入口控制器的ConfigMap支持

    使用ConfigMap,您可以启用或禁用分布式跟踪、事件、审计日志等。要使用ConfigMap:

    1. 使用所需的参数创建一个YAML文件。

      下面的示例YAML文件启用了分布式跟踪,禁用了审计日志、事件和事务等其他变量:

      apiVersion: v1 kind: ConfigMap元数据:名称:ic- ConfigMap命名空间:默认数据:LOGLEVEL: 'debug' NS_PROTOCOL: 'http' NS_PORT: '80' NS_HTTP2_SERVER_SIDE: 'ON' NS_ANALYTICS_CONFIG: | distributed_tracing: enable: 'true' samplingrate: 100 endpoint: server:  /  timeseries: port: 5563 metrics: enable: 'true' mode: 'avro' auditlogs: enable: 'false'事件:enable: 'false'事务:enable: 'false'端口:5557 

      请注意

      您可以提供的值Samplingrate在0到100之间。Citrix ADM显示上述跟踪事务的数量。

    2. 使用以下命令部署ConfigMap:

      Kubectl创建-f .yaml

    3. 编辑CPX YAML文件并使用其中一个envFromarg游戏指定以下参数:

      envFrom: - configMapRef: name: cic-configmap 

      YAML

      ConfigMap YAML配置部署在CIC中。

    4. 如果要更改任何变量的值,请编辑ConfigMap中的值。在本例中,所有其他变量都从真正的

      apiVersion: v1 kind: ConfigMap元数据:名称:ic- ConfigMap命名空间:默认数据:LOGLEVEL: 'debug' NS_PROTOCOL: 'http' NS_PORT: '80' NS_HTTP2_SERVER_SIDE: 'ON' NS_ANALYTICS_CONFIG: | distributed_tracing: enable: 'true' samplingrate: 100 endpoint: server:  /  timeseries: port: 5563 metrics: enable: 'true' mode: 'avro' auditlogs: enable: 'true'事件:enable: 'true'事务:enable: 'true'端口:5557 
    5. 使用以下命令重新应用ConfigMap:

      Kubectl apply -f .yaml

查看服务跟踪详细信息

在业务图中,单击业务,选择跟踪信息

跟踪信息

系统显示所选服务的“跟踪摘要”页面。

跟踪汇总

跟踪汇总显示:

  • 高级搜索,使您能够搜索带有建议和操作符的交易(1)。有关更多信息,请参阅高级搜索

  • 时间段列表,可选择1小时、12小时、1天、1周、1月、自定义时间(2)等时间段。

  • 时间线详细信息图,使您能够拖动和选择以显示特定时间段的结果(3)。

  • Filters面板允许您从每个指标中选择选项(4)。

  • 所选服务的事务详细信息(5)。

查看交易详情

单击某个事务以向下钻取详细信息。你可浏览所选服务的交易详情,例如:

  • 开始时间

  • 结束时间

  • SSL指标

  • 与相互依赖的服务进行通信(以及每个服务的错误和响应时间)。

下面的示例表示来自的错误catalogue-store-service.点击请参阅跟踪详细信息欲知详情。

跟踪细节

进入“跟踪详情”页面。

跟踪事务

1—显示事务的开始时间、响应时间、总服务数和总跨度。

2—显示所选服务与其相互依赖的服务通信的详细信息。您可以单击每笔交易查看详细信息。

3.—显示每个服务的交易详细信息。

根据示例图像,catalogue-store-service表示错误。单击可用于的事务catalogue-store-service

点击事务

之间的交易细节product-catalogue-servicecatalogue-store-service指定HTTP响应为500。通过这些详细信息,管理员可以分析错误的服务并排除故障product-catalogue-service作为一个决议。

您还可以通过从每个度量中选择选项来过滤结果过滤器面板。例如,如果您想查看所有5xx个事务,请单击响应代码并选择500

过滤板

  • 客户端RTT:数据包从客户端到达的时间。

  • 服务器RTT:数据包从服务器到达的时间。

  • 应用程序响应时间:应用程序平均响应时间

  • 数据传输时间:数据传输的大小和从服务传输到服务的速率。

  • 位置:客户端位置

  • 浏览器:客户端使用的浏览器类型。例如:Chrome, Firefox。

  • 客户端操作系统:根据浏览器中User Agent的详细信息选择客户端操作系统。

  • 设备:根据浏览器中User Agent的详细信息选择设备。例如:平板电脑、手机。

  • 请求类型:事务请求类型。例如:GET。

  • 响应代码:从服务器接收到的响应码。例如:501、404、200。

  • 响应内容类型:事务内容类型。如果客户机请求的是text/html,那么来自服务器的响应必须是text/html。

  • SSL协议:客户端使用的SSL协议版本。例如:SSLv3。

  • SSL密码强度:基于SSL证书密钥大小的密码强度,包括high、medium、low。

  • SSL密钥强度:根据SSL证书密钥大小计算SSL密码强度。密钥长度定义了SSL算法的安全性。例如:2048

  • SSL前端失败原因:前端SSL握手错误信息。例如:SSL CLIENTAUTH FAILURE

分布式跟踪