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
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
En el panel “General Service”, puede ver la lista de services.
Lista de Services 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 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
Elimine cualquier proceso
istioctl
que aún pueda estar ejecutándose usando control-C o:$ killall istioctl
Si no planea explorar ninguna tarea de seguimiento, consulte las instrucciones de limpieza de Bookinfo para apagar la application.