Overview

Gloo Mesh Core comes with an insights engine that automatically analyzes your Istio setup for health issues. To view insights for your environment, you must deploy the Gloo analyzer along with pipelines in the Gloo telemetry pipeline that analyze Istio components and store analyzer results as logs in Redis. Then, the Gloo management server uses the analyzer logs and metrics in Prometheus to create insights. Insights can be accessed in the Gloo UI.

Single cluster

  1. Get your current installation Helm values, and save them in a file.

      helm get values gloo-platform -n gloo-mesh -o yaml > gloo-single.yaml
    open gloo-single.yaml
      
  2. Add the following configuration to your Helm values file to enable the insights engine, the logs/analyzer pipeline. The logs/analyzer pipeline is set up on the Gloo collector agent and collects analyzer results from the Gloo analyzer component. Analyzer results are written to Redis Streams.

      
    glooAnalyzer:
      enabled: true
      runAsSidecar: true
    redis:
      deployment:
        enabled: true
    telemetryCollector:
      enabled: true
    telemetryCollectorCustomization:
      pipelines: 
        logs/analyzer: 
          enabled: true
    telemetryGateway:
      enabled: false
      
  3. Upgrade your installation by using your updated values file.

      helm upgrade gloo-platform gloo-platform/gloo-platform \
       --namespace gloo-mesh \
       --version $GLOO_VERSION \
       --values gloo-single.yaml
      
  4. Verify that your settings were added to the Gloo telemetry collector configmap.

      kubectl get configmap gloo-telemetry-collector-config -n gloo-mesh -o yaml
      
  5. Perform a rollout restart of the telemetry collector daemon set to force your configmap changes to be applied to the telemetry collector agent pod.

      kubectl rollout restart -n gloo-mesh daemonset/gloo-telemetry-collector-agent
      
  6. Open the Gloo UI.

      meshctl dashboard
      
  7. In the navigation pane, click Insights. Note that it takes a few minutes for insights to show in the Gloo UI. For more information about how to drill into insights and to find an overview of insights that are available to you, see Insights.

Multicluster

  1. Get the Helm values files for your current version.

    1. Get your current values for the management cluster.
        helm get values gloo-platform -n gloo-mesh -o yaml --kube-context $MGMT_CONTEXT > mgmt-plane.yaml
      open mgmt-plane.yaml
        
    2. Get your current values for the workload clusters.
        helm get values gloo-platform -n gloo-mesh -o yaml --kube-context $REMOTE_CONTEXT > data-plane.yaml
      open data-plane.yaml
        
  2. In the Helm chart for the management cluster, enable the insights engine and the logs/redis_stream pipeline. This pipeline receives analyzer results from the Gloo analyzer in the workload clusters, and writes these results to Redis Stream.

      
    glooInsightsEngine:
      enabled: true
      runAsSidecar: false
    redis:
      deployment:
        enabled: true
    telemetryGateway:
      enabled: true
    telemetryGatewayCustomization:
      pipelines:
        logs/redis_stream:
          enabled: true
      
  3. In the Helm values file for the workload cluster, add the following configuration to enable the Gloo analyzer agent, the logs/analyzer pipeline. The logs/analyzer pipeline is set up on the Gloo collector agent and collects analyzer results from the Gloo analyzer component. Analyzer results are written to Redis Streams.

      
    glooAnalyzer:
      enabled: true
      runAsSidecar: true
    telemetryCollector:
      enabled: true
      config:
        exporters:
          otlp:
            endpoint: gloo-telemetry-gateway.gloo-mesh:4317
    telemetryCollectorCustomization:
      pipelines: 
        logs/analyzer: 
          enabled: true
      
  4. Upgrade the Gloo management cluster.

      helm upgrade gloo-platform gloo-platform/gloo-platform \
      --kube-context $MGMT_CONTEXT \
      --namespace gloo-mesh \
      -f mgmt-plane.yaml \
      --version $GLOO_VERSION 
      
  5. Verify that your settings are applied in the management cluster.

    1. Verify that your settings were added to the Gloo telemetry gateway configmap.

        kubectl get configmap gloo-telemetry-gateway-config -n gloo-mesh -o yaml --context $MGMT_CONTEXT
        
    2. Perform a rollout restart of the telemetry gateway deployment to force your configmap changes to be applied to the telemetry gateway pod.

        kubectl rollout restart -n gloo-mesh deployment/gloo-telemetry-gateway --context $MGMT_CONTEXT
        
  6. Upgrade the Gloo workload cluster.

      helm upgrade gloo-platform gloo-platform/gloo-platform \
      --kube-context $REMOTE_CONTEXT \
      --namespace gloo-mesh \
      -f data-plane.yaml \
      --version $GLOO_VERSION
      
  7. Verify that your settings are applied in the workload cluster.

    1. Verify that your settings were added to the Gloo telemetry collector configmap.

        kubectl get configmap gloo-telemetry-gateway-config -n gloo-mesh -o yaml --context $MGMT_CONTEXT
        
    2. Perform a rollout restart of the telemetry collector daemon set to force your configmap changes to be applied to the telemetry collector agent pods.

        kubectl rollout restart -n gloo-mesh deployment/gloo-telemetry-gateway --context $MGMT_CONTEXT
        
  8. Open the Gloo UI.

      meshctl dashboard --kubecontext $MGMT_CONTEXT
      
  9. In the navigation pane, click Insights. Note that it takes a few minutes for insights to show in the Gloo UI. For more information about how to drill into insights and to find an overview of insights that are available to you, see Insights.