Citrix Application Delivery Management

Seguimiento distribuido

En el gráfico de servicio, puede utilizar la vista de seguimiento distribuida para:

  • Analice el rendimiento general del servicio.

  • Visualice el flujo de comunicación entre el servicio seleccionado y sus servicios interdependientes.

  • Identifique qué servicio indica errores y solucione los problemas del servicio erróneo.

  • Ver detalles de transacción entre el servicio seleccionado y cada uno de sus servicios interdependientes.

Requisitos previos

Para ver la información de seguimiento del servicio, debe:

  • Asegúrese de que una aplicación mantenga los siguientes encabezados de seguimiento, mientras envía cualquier tráfico este-oeste:

    Encabezados

  • Para compilaciones CIC anteriores a 1.7.23, actualice el archivo CPX YAML con NS_DISTRIBUTED_TRACING y el valor como yes

    CPX YAML

  • Para compilaciones CIC posteriores a 1.7.23, debe usar un ConfigMap.

    ConfigMaps le permite separar las configuraciones de los pods y hacer que sus cargas de trabajo sean portátiles. Con ConfigMaps, puede cambiar y administrar fácilmente sus configuraciones de carga de trabajo y reducir la necesidad de codificar los datos de configuración para las especificaciones del pod.

    Con la compatibilidad con ConfigMap, puede actualizar la configuración automáticamente mientras mantiene el pod del Citrix ingress controller en ejecución. No es necesario reiniciar el pod después de la actualización. Para obtener más información, consulte la Compatibilidad con ConfigMap para el controlador de ingreso.

    Mediante ConfigMap, puede habilitar o inhabilitar el seguimiento distribuido, eventos, registros de auditoría, etc. Para utilizar ConfigMap:

    1. Cree un archivo YAML mediante los parámetros requeridos.

      El siguiente archivo YAML de ejemplo tiene habilitado el seguimiento distribuido y otras variables como registros de auditoría, eventos y transacciones inhabilitadas:

      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: <ADM-AgentIP> / <ADM-AppserverIP>
          timeseries:
            port: 5563
            metrics:
              enable: 'true'
              mode: 'avro'
            auditlogs:
              enable: 'false'
            events:
              enable: 'false'
          transactions:
            enable: 'false'
            port: 5557
      

      Nota

      Puede proporcionar los valores para Samplingrate entre 0 y 100. Citrix ADM muestra el número de transacciones de seguimiento mencionado.

    2. Implemente ConfigMap mediante:

      kubectl create -f <configmap-yaml>.yaml

    3. Modifique el archivo CPX YAML y utilice uno envFrom o args para especificar los siguientes argumentos:

      envFrom:
       - configMapRef:
           name: cic-configmap
      

      O BIEN

      YAML

      La configuración de ConfigMap YAML se implementa en CIC.

    4. Si quiere cambiar el valor de cualquier variable, modifique los valores en 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: <ADM-AgentIP> / <ADM-AppserverIP>
          timeseries:
            port: 5563
            metrics:
              enable: 'true'
              mode: 'avro'
            auditlogs:
              enable: 'true'
            events:
              enable: 'true'
          transactions:
            enable: 'true'
            port: 5557
      
    5. Vuelva a aplicar ConfigMap mediante el siguiente comando:

      kubectl apply -f <yaml-file>.yaml

Ver detalles de seguimiento del servicio

En el gráfico de servicio, haga clic en un servicio y seleccione Información de seguimiento.

Información de seguimiento

Se muestra la página Resumen de Seguimiento para el servicio seleccionado.

Resumen de seguimiento

El resumen de seguimiento muestra:

  • Búsqueda avanzada que permite buscar transacciones con sugerencias y operadores (1). Para obtener más información, consulte la Búsqueda avanzada.

  • La lista de duración de tiempo que permite seleccionar la duración de tiempo como 1 hora, 12 horas, 1 día, 1 semana, 1 mes y hora personalizada (2).

  • Gráfico Detalles de la línea de tiempo que permite arrastrar y seleccionar los resultados para una duración de tiempo específica (3).

  • El panel Filtros, que 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 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 ejemplo siguiente indica un error decatalogue-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 los tramos totales de la transacción.

2: Muestra los detalles del servicio seleccionado que se ha comunicado con sus servicios de interdependencia. Puede hacer clic en cada transacción para ver los detalles.

3: Muestra los detalles de la transacción para cada servicio.

De acuerdo con la imagen de ejemplo,catalogue-store-service indicó un error. Haga clic en la transacción disponible paracatalogue-store-service.

Transacción de clic

Los detalles de la transacción entreproduct-catalogue-service ecatalogue-store-service indican la respuesta HTTP como 500. Con estos detalles, como administrador, puede analizar el servicio erróneo y solucionar problemasproduct-catalogue-service como una 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 filtro

  • RTT del cliente: La duración de un paquete para viajar desde el cliente.

  • RTT del servidor: Duración del tiempo para que un paquete viaje desde el servidor.

  • Tiempo derespuesta de la aplicación: El tiempomedio de respuesta de la aplicación

  • Tiempo de transferenciade datos: El tamaño de la transferencia de datos y la velocidad a la que puede suceder la transmisión desde/hacia un servicio.

  • Ubicación: La ubicación del cliente

  • Explorador: Los tipos de explorador utilizados por los clientes. Por ejemplo: Chrome, Firefox.

  • Sistema operativo cliente: El sistema operativo cliente basado en los detalles del agente de usuario del explorador.

  • Dispositivo: Dispositivos basados en los detalles del agente de usuario del explorador. Por ejemplo: Tablet, Móvil.

  • Tipo de Solicitud: El tipo de solicitud de transacción. Por ejemplo: GET.

  • Código de respuesta: Código de respuesta recibido del servidor. Por ejemplo: 501, 404, 200.

  • Tipo de contenido de respuesta: Tipode contenido de transacción. Si la solicitud del cliente es para text/html, entonces la respuesta del servidor debe ser text/html.

  • Protocolo SSL: La versión del protocolo SSL utilizada por los clientes. Por ejemplo: SSLv3.

  • Fuerza decifrado SSL: La intensidadde cifrado basada en el tamaño de clave de certificado SSL, como alto, medio y bajo.

  • Fuerza de clave SSL: La intensidad del cifrado SSL se calcula a partir del tamaño de clave del certificado SSL. La longitud de la clave define la seguridad del algoritmo SSL. Por ejemplo: 2048

  • Motivo de error de interfaz SSL: El mensaje de error de protocolo de enlace SSL front-end. Por ejemplo: SSL CLIENTAUTH FAILURE

Seguimiento distribuido