Visualizando Métricas con Grafana

Esta tarea muestra cómo configurar y usar el Dashboard de Istio para monitorear el tráfico de la malla. Como parte de esta tarea, utilizará el addon de Grafana Istio y la interfaz web para ver los datos de tráfico de la service mesh.

La application de ejemplo Bookinfo se utiliza como application de ejemplo a lo largo de esta tarea.

Antes de empezar

Visualizando el dashboard de Istio

  1. Verifique que el service prometheus se esté ejecutando en su cluster.

    En entornos Kubernetes, ejecute el siguiente comando:

    $ kubectl -n istio-system get svc prometheus
    NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    prometheus   ClusterIP   10.100.250.202   <none>        9090/TCP   103s
  2. Verifique que el service de Grafana se esté ejecutando en su cluster.

    En entornos Kubernetes, ejecute el siguiente comando:

    $ kubectl -n istio-system get svc grafana
    NAME      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    grafana   ClusterIP   10.103.244.103   <none>        3000/TCP   2m25s
  3. Abra el Dashboard de Istio a través de la UI de Grafana.

    En entornos Kubernetes, ejecute el siguiente comando:

    $ istioctl dashboard grafana

    Visite http://localhost:3000/d/G8wLrJIZk/istio-mesh-dashboard en su navegador web.

    El Dashboard de Istio se verá similar a:

    Dashboard de Istio
    Dashboard de Istio
  4. Envíe tráfico a la malla.

    Para la muestra de Bookinfo, visite http://$GATEWAY_URL/productpage en su navegador web o emita el siguiente comando:

    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

    Actualice la página varias veces (o envíe el comando varias veces) para generar una pequeña cantidad de tráfico.

    Vuelva a mirar el Dashboard de Istio. Debería reflejar el tráfico que se generó. Se verá similar a:

    Dashboard de Istio con Tráfico
    Dashboard de Istio con Tráfico

    Esto proporciona una vista global de la Malla junto con los services y workloads en la malla. Puede obtener más detalles sobre los services y workloads navegando a sus dashboards específicos como se explica a continuación.

  5. Visualizar Dashboards de Service.

    Desde el menú de navegación de la esquina superior izquierda del dashboard de Grafana, puede navegar al Dashboard de Service de Istio o visitar http://localhost:3000/d/LJ_uJAvmk/istio-service-dashboard en su navegador web.

    El Dashboard de Service de Istio se verá similar a:

    Dashboard de Service de Istio
    Dashboard de Service de Istio

    Esto proporciona detalles sobre las métricas para el service y luego los workloads del cliente (workloads que están llamando a este service) y los workloads del service (workloads que están proporcionando este service) para ese service.

  6. Visualizar Dashboards de Workload.

    Desde el menú de navegación de la esquina superior izquierda del dashboard de Grafana, puede navegar al Dashboard de Workload de Istio o visitar http://localhost:3000/d/UbsSZTDik/istio-workload-dashboard en su navegador web.

    El Dashboard de Workload de Istio se verá similar a:

    Dashboard de Workload de Istio
    Dashboard de Workload de Istio

    Esto proporciona detalles sobre las métricas para cada workload y luego los workloads de entrada (workloads que están enviando solicitudes a este workload) y los services de salida (services a los que este workload envía solicitudes) para ese workload.

Acerca de los dashboards de Grafana

El Dashboard de Istio consta de tres secciones principales:

  1. Una Vista de Resumen de la Malla. Esta sección proporciona una vista de Resumen Global de la Malla y muestra los workloads HTTP/gRPC y TCP en la Malla.

  2. Vista de Services Individuales. Esta sección proporciona métricas sobre solicitudes y respuestas para cada service individual dentro de la malla (HTTP/gRPC y TCP). También proporciona métricas sobre los workloads del cliente y del service para este service.

  3. Vista de Workloads Individuales: Esta sección proporciona métricas sobre solicitudes y respuestas para cada workload individual dentro de la malla (HTTP/gRPC y TCP). También proporciona métricas sobre los workloads de entrada y los services de salida para este workload.

Para obtener más información sobre cómo crear, configurar y editar dashboards, consulte la documentación de Grafana.

Limpieza

  • Elimine cualquier proceso kubectl port-forward que pueda estar ejecutándose:

    $ killall kubectl
  • 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!