Apache SkyWalking

Después de completar esta tarea, comprenderá cómo hacer que su application participe en el trazado con Apache SkyWalking, independientemente del lenguaje, framework o plataforma que utilice para construirla.

Esta tarea utiliza la muestra Bookinfo como la application de ejemplo.

Para aprender cómo Istio maneja el trazado, visite la sección de Descripción General del Trazado Distribuido.

Configurar el trazado

Si utilizó una configuración de IstioOperator para instalar Istio, agregue el siguiente campo a su configuración:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  meshConfig:
    defaultProviders:
      tracing:
      - "skywalking"
    enableTracing: true
    extensionProviders:
    - name: "skywalking"
      skywalking:
        service: tracing.istio-system.svc.cluster.local
        port: 11800

Con esta configuración, Istio se instala con un Agente de SkyWalking como el trazador predeterminado. Los datos de la traza se enviarán a un backend de SkyWalking.

En el perfil predeterminado, la tasa de muestreo es del 1%. Auméntela al 100% usando la API de Telemetría:

$ kubectl apply -f - <<EOF
apiVersion: telemetry.istio.io/v1
kind: Telemetry
metadata:
  name: mesh-default
  namespace: istio-system
spec:
  tracing:
  - randomSamplingPercentage: 100.00
EOF

Desplegar el Collector de SkyWalking

Siga la documentación de instalación de SkyWalking para desplegar SkyWalking en su cluster.

Desplegar la Application Bookinfo

Despliegue la application de ejemplo Bookinfo.

Acceder al dashboard

La tarea Acceso Remoto a los Addons de Telemetría detalla cómo configurar el acceso a los addons de Istio a través de un gateway.

Para pruebas (y acceso temporal), también puede usar el reenvío de puertos. Use lo siguiente, asumiendo que ha desplegado SkyWalking en el namespace istio-system:

$ istioctl dashboard skywalking

Generar trazas usando la muestra de Bookinfo

  1. Cuando la application Bookinfo esté en funcionamiento, acceda a http://$GATEWAY_URL/productpage una o más veces para generar información de traza.

    Para ver los datos de seguimiento, debes enviar solicitudes a tu servicio. El número de solicitudes depende de la tasa de muestreo de Istio y se puede configurar mediante la API de Telemetría. Con la tasa de muestreo predeterminada del 1%, debes enviar al menos 100 solicitudes antes de que el primer seguimiento sea visible. Para enviar 100 solicitudes al servicio productpage, usa el siguiente comando:

    $ for i in $(seq 1 100); do curl -s -o /dev/null "http://$GATEWAY_URL/productpage"; done
  2. En el panel “General Service”, puede ver la lista de services.

    Lista de Services
    Lista de Services
  3. Seleccione la pestaña Trace en el contenido principal. Puede ver la lista de trazas en la barra lateral izquierda y los detalles de la traza en el panel derecho:

    Vista de Traza
    Vista de Traza
  4. La traza se compone de un conjunto de spans, donde cada span corresponde a un service de Bookinfo, invocado durante la ejecución de una solicitud a /productpage, o a un componente interno de Istio, por ejemplo: istio-ingressgateway.

Explorar la application de demostración oficial de SkyWalking

En este tutorial, utilizamos la application de ejemplo Bookinfo, en esta application de ejemplo no hay ningún agente de SkyWalking instalado en los services, todas las trazas son generadas por los proxies sidecar.

Si desea explorar más sobre los agentes de lenguaje de SkyWalking, el equipo de SkyWalking también proporciona una application de demostración que está integrada con los agentes de lenguaje y puede tener trazas más detalladas, así como otras features específicas del agente de lenguaje como el perfilado.

Limpieza

  1. Elimine cualquier proceso istioctl que aún pueda estar ejecutándose usando control-C o:

    $ killall istioctl
  2. Si no planea explorar ninguna tarea de seguimiento, consulte las instrucciones de limpieza de Bookinfo para apagar la application.

¿Fue útil esta información?
¿Tienes alguna sugerencia para mejorar?

¡Gracias por tus comentarios!