Trazado distribuido

Last published : Oct 02, 2026
En el gráfico de servicios, puede utilizar la vista de trazado distribuido para:
  • Analizar el rendimiento general del servicio.
  • Visualizar el flujo de comunicación entre el servicio seleccionado y sus servicios interdependientes.
  • Identificar qué servicio indica errores y solucionar problemas del servicio erróneo.
  • Ver los detalles de la transacción entre el servicio seleccionado y cada uno de sus servicios interdependientes.

Requisitos previos

Para ver la información de trazado del servicio, debe:
  • Asegúrese de que una aplicación mantenga los siguientes encabezados de trazado al enviar tráfico este-oeste:
    Encabezados
  • Para compilaciones de CIC anteriores a la 1.7.23, actualice el archivo YAML de CPX con NS_DISTRIBUTED_TRACING y el valor como yes
    YAML de CPX
  • Para compilaciones de CIC posteriores a la 1.7.23, debe utilizar un ConfigMap.
    Los ConfigMaps le permiten separar sus configuraciones de sus pods y hacer que sus cargas de trabajo sean portátiles. Usando ConfigMaps, puede cambiar y administrar fácilmente las configuraciones de su carga de trabajo y reducir la necesidad de codificar datos de configuración en las especificaciones del pod.
    Con el soporte de ConfigMap, puede actualizar la configuración automáticamente mientras mantiene el pod del NetScaler Ingress Controller en ejecución. No es necesario reiniciar el pod después de la actualización. Para obtener más información, consulte Soporte de ConfigMap para el controlador de entrada.
    Mediante el ConfigMap, puede habilitar o deshabilitar el rastreo distribuido, los eventos, los registros de auditoría, etc. Para usar el ConfigMap:
    1. Cree un archivo YAML con los parámetros necesarios.
      El siguiente archivo YAML de ejemplo tiene el rastreo distribuido habilitado y otras variables como registros de auditoría, eventos y transacciones deshabilitadas:
      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: cic-configmap
        namespace: default
      data:
        LOGLEVEL: 'debug'
        NS_PROTOCOL: 'http'
        NS_PORT: '80'
        NS_HTTP2_SERVER_SIDE: 'ON'
        NS_ANALYTICS_CONFIG: |
          distributed_tracing:
            enable: 'true'
            samplingrate: 100
          endpoint:
            server: <AgentIP> / <AppserverIP>
          timeseries:
            port: 5563
            metrics:
              enable: 'true'
              mode: 'avro'
            auditlogs:
              enable: 'false'
            events:
              enable: 'false'
          transactions:
            enable: 'false'
            port: 5557
      Nota
      Puede proporcionar valores para Samplingrate entre 0 y 100. NetScaler Console muestra el número de transacciones de rastreo mencionado.
    2. Implemente el ConfigMap mediante:
      kubectl create -f <configmap-yaml>.yaml
    3. Edite el archivo CPX YAML y use envFrom o args para especificar los siguientes argumentos:
      envFrom:
       - configMapRef:
           name: cic-configmap
      O
      YAML
      La configuración YAML del ConfigMap se implementa en CIC.
    4. Si desea cambiar el valor de cualquier variable, edite los valores en el ConfigMap. En este ejemplo, todas las demás variables se cambian de false a true.
      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: cic-configmap
        namespace: default
      data:
        LOGLEVEL: 'debug'
        NS_PROTOCOL: 'http'
        NS_PORT: '80'
        NS_HTTP2_SERVER_SIDE: 'ON'
        NS_ANALYTICS_CONFIG: |
          distributed_tracing:
            enable: 'true'
            samplingrate: 100
          endpoint:
            server: <AgentIP> / <AppserverIP>
          timeseries:
            port: 5563
            metrics:
              enable: 'true'
              mode: 'avro'
            auditlogs:
              enable: 'true'
            events:
              enable: 'true'
          transactions:
            enable: 'true'
            port: 5557
    5. Vuelva a aplicar el ConfigMap con el siguiente comando:
      kubectl apply -f <yaml-file>.yaml

Ver detalles del rastreo de servicio

En el gráfico de servicios, haga clic en un servicio y seleccione Información de traza.
Información de traza
Se muestra la página de Resumen de traza para el servicio seleccionado.
Resumen de traza
El Resumen de traza muestra:
  • Una búsqueda avanzada que le permite buscar transacciones con sugerencias y operadores (1). Para obtener más información, consulte Búsqueda avanzada.
  • La lista de duración de tiempo que le permite seleccionar la duración de tiempo, como 1 hora, 12 horas, 1 día, 1 semana, 1 mes y tiempo personalizado (2).
  • El gráfico de Detalles de la línea de tiempo que le permite arrastrar y seleccionar para mostrar resultados para una duración de tiempo específica (3).
  • El panel de Filtros que le permite seleccionar opciones de cada métrica (4).
  • Los detalles de la transacción para el servicio seleccionado (5).

Ver los detalles de la transacción

Haga clic en una transacción para profundizar y obtener información detallada. Puede ver los detalles de la transacción para el servicio seleccionado, como:
  • Hora de inicio
  • Hora de finalización
  • Métricas SSL
  • Comunicación con servicios interdependientes (junto con errores y tiempo de respuesta con cada servicio).
El siguiente ejemplo indica un error de catalogue-store-service. Haga clic en Ver detalles de seguimiento para obtener más información.
Detalles de seguimiento
Se muestra la página Detalles de seguimiento.
Transacciones de seguimiento
1 – Muestra la hora de inicio, el tiempo de respuesta, el total de servicios y el total de tramos para la transacción.
2 – Muestra los detalles del servicio seleccionado que se ha comunicado con sus servicios interdependientes. Puede hacer clic en cada transacción para ver los detalles.
3 – Muestra los detalles de la transacción para cada servicio.
Según la imagen de ejemplo, catalogue-store-service indicó un error. Haga clic en la transacción disponible para catalogue-store-service.
Hacer clic en transacción
Los detalles de la transacción entre product-catalogue-service y catalogue-store-service indican una respuesta HTTP de 500. Con estos detalles, como administrador, puede analizar el servicio erróneo y solucionar product-catalogue-service como resolución.
También puede filtrar los resultados seleccionando opciones de cada métrica en el panel Filtros. Por ejemplo, si desea ver todas las transacciones 5xx, haga clic en Código de respuesta y seleccione 500.
Panel de filtros
  • RTT del cliente: La duración del tiempo que tarda un paquete en viajar desde el cliente.
  • RTT del servidor: La duración del tiempo que tarda un paquete en viajar desde el servidor.
  • Tiempo de respuesta de la aplicación: El tiempo medio de respuesta de la aplicación
  • Tiempo de transferencia de datos: El tamaño de la transferencia de datos y la velocidad a la que puede producirse la transmisión desde/hacia un servicio.
  • Ubicación: La ubicación del cliente
  • Navegador: Los tipos de navegador utilizados por los clientes. Por ejemplo: Chrome, Firefox.
  • Sistema operativo del cliente: El sistema operativo del cliente basado en los detalles del Agente de usuario del navegador.
  • Dispositivo: Los dispositivos basados en los detalles del Agente de usuario del navegador. Por ejemplo: Tableta, Móvil.
  • Tipo de solicitud: El tipo de solicitud de transacción. Por ejemplo: GET.
  • Código de respuesta: El código de respuesta recibido del servidor. Por ejemplo: 501, 404, 200.
  • Tipo de contenido de respuesta: El tipo de contenido de la transacción. Si la solicitud del cliente es para text/html, la respuesta del servidor debe ser text/html.
  • Protocolo SSL: La versión del protocolo SSL utilizada por los clientes. Por ejemplo: SSLv3.
  • Fuerza del cifrado SSL: La fuerza del cifrado basada en el tamaño de la clave del certificado SSL, como alta, media y baja.
  • Fuerza de la clave SSL: La fuerza del cifrado SSL se calcula a partir del tamaño de la clave del certificado SSL. La longitud de la clave define la seguridad del algoritmo SSL. Por ejemplo: 2048
  • Motivo del fallo del frontend SSL: El mensaje de error de handshake SSL del frontend. Por ejemplo: SSL CLIENTAUTH FAILURE