分布式跟踪
在服务图中,您可以使用分布式跟踪视图:
分析整体服务绩效。
可视化所选服务与其相互依赖的服务之间的通信流。
确定哪个服务指示错误,并对错误的服务进行故障排除。
查看所选服务及其每个相互依赖的服务之间的事务详细信息。
先决条件
要查看服务的跟踪信息,您必须:
确保应用程序在发送任何东西流量时保持以下跟踪头:
为CIC版本早于1.7.23,更新CPX YAML文件
NS_DISTRIBUTED_TRACING
value为是的
为CIC版本高于1.7.23,必须使用ConfigMap。
ConfigMaps允许您将配置与pod分离,并使您的工作负载具有可移植性。使用ConfigMaps,您可以轻松地更改和管理工作负载配置,并减少将配置数据硬编码到pod规范的需要。
使用ConfigMap支持,您可以在保持Citrix入口控制器pod运行的同时自动更新配置。更新后不需要重新启动pod。有关更多信息,请参见对入口控制器的ConfigMap支持.
使用ConfigMap,您可以启用或禁用分布式跟踪、事件、审计日志等。要使用ConfigMap:
使用所需的参数创建一个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显示上述跟踪事务的数量。使用以下命令部署ConfigMap:
Kubectl创建-f
.yaml 编辑CPX YAML文件并使用其中一个
envFrom
或arg游戏
指定以下参数:envFrom: - configMapRef: name: cic-configmap
或
ConfigMap YAML配置部署在CIC中。
如果要更改任何变量的值,请编辑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 使用以下命令重新应用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-service
和catalogue-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