Add Istio insights
Add Istio insights to the Gloo telemetry pipeline.
Overview
Gloo Mesh Gateway 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.
If you followed the Get started guide and used the install profiles to set up Gloo Mesh Gateway, the insights engine is already enabled. To view insights, launch the Gloo UI.
Single cluster
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
Add the following configuration to your Helm values file to enable the insights engine and the
logs/analyzer
pipeline. Thelogs/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
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
Verify that your settings were added to the Gloo telemetry collector configmap.
kubectl get configmap gloo-telemetry-collector-config -n gloo-mesh -o yaml
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
Open the Gloo UI.
meshctl dashboard
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
Get the Helm values files for your current version.
- 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
- 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
- Get your current values for the management cluster.
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
In the Helm values file for the workload cluster, add the following configuration to enable the Gloo analyzer agent and the
logs/analyzer
pipeline. Thelogs/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
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
Verify that your settings are applied in the management cluster.
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
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
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
Verify that your settings are applied in the workload cluster.
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
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
Open the Gloo UI.
meshctl dashboard --kubecontext $MGMT_CONTEXT
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.