Add Istio insights
Add Istio insights to the Gloo telemetry pipeline.
Overview
Gloo Mesh (Gloo Platform APIs) 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 (Gloo Platform APIs), 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.yamlAdd the following configuration to your Helm values file to enable the insights engine, the
logs/analyzerpipeline. Thelogs/analyzerpipeline 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: falseUpgrade 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.yamlVerify that your settings were added to the Gloo telemetry collector configmap.
kubectl get configmap gloo-telemetry-collector-config -n gloo-mesh -o yamlPerform 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-agentOpen the Gloo UI.
meshctl dashboardIn 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_streampipeline. This pipeline receives analyzer results from the Gloo analyzer in the workload clusters, and writes these results to Redis Stream.glooInsightsEngine: enabled: true redis: deployment: enabled: true telemetryGateway: enabled: true telemetryGatewayCustomization: pipelines: logs/redis_stream_basic: enabled: trueIn the Helm values file for the workload cluster, add the following configuration to enable the Gloo analyzer agent, the
logs/analyzerpipeline. Thelogs/analyzerpipeline 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: trueUpgrade 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_VERSIONVerify 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_CONTEXTPerform 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_VERSIONVerify 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-collector-config -n gloo-mesh -o yaml --context $REMOTE_CONTEXTPerform 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 daemonset/gloo-telemetry-collector-agent --context $REMOTE_CONTEXT
Open the Gloo UI.
meshctl dashboard --kubecontext $MGMT_CONTEXTIn 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.