---
title: "Troubleshoot with built-in tools | Grafana Cloud documentation"
description: "Use the built-in tools in Grafana Kubernetes Monitoring to troubleshoot issues, including Grafana Assistant, logs and events, profiles, RCA workbench, Explore, traces, and Cloud provider Node access."
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

# Troubleshoot with built-in tools

Kubernetes Monitoring includes built-in tools to help you investigate issues without leaving the app. Use Grafana Assistant for in-context help, view logs and events from any detail page, profile workloads to find expensive code paths, and jump into root cause analysis, Application Observability, Explore, traces, or your Cloud provider when you need to go deeper.

## Use Grafana Assistant

Click on the Grafana Assistant icon in any panel that contains it to learn more about the panel. This feature opens the Assistant window where you can ask additional questions about the panel itself or your data displayed in the panel.

[Grafana Assistant icon being hovered over for more information](/media/docs/grafana-cloud/k8s/assistant-icon.png)

The Assistant also runs an automatic health check at the top of every Kubernetes detail page. Refer to [Use Assistant health checks](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/triage-your-infrastructure/use-assistant-health-checks/).

## View logs and events

[Logs Drilldown](/docs/grafana-cloud/visualizations/simplified-exploration/logs/) is embedded within Kubernetes Monitoring. Instead of going through logs for every Pod, you start with a service (the logical unit your team owns). Logs Drilldown aggregates logs for that service so you can immediately spot whether the problem is one Pod or the whole service. That tells you whether to fix a Pod or the infrastructure.

From Cluster to container, you can click on the **Logs** or **Events** tab of any detail page to analyze logs without writing complex queries. For more information, refer to [Labels and Fields](/docs/grafana-cloud/visualizations/simplified-exploration/logs/labels-and-fields/) and [Log Patterns](/docs/grafana-cloud/visualizations/simplified-exploration/logs/patterns/).

Give it a try using Grafana Play

With Grafana Play, you can explore and see how it works, learning from practical examples to accelerate your development. This feature can be seen on [the **Logs** tab of this namespace details page](https://play.grafana.org/a/grafana-k8s-app/navigation/namespace/play-db-cluster/monitoring/logs-drilldown?var-datasource=grafanacloud-play-prom&from=now-2d&to=now&refresh=1m&var-loki=grafanacloud-play-logs&timezone=utc&logs-k8s-var-ds=grafanacloud-logs&logs-k8s-patterns=%5B%5D&pageSlug=logs&logs-k8s-var-all-fields=&logs-k8s-userDisplayedFields=false&logs-k8s-displayedFields=%5B%22error%22%5D&logs-k8s-urlColumns=%5B%5D&logs-k8s-visualizationType=%22logs%22&logs-k8s-prettifyLogMessage=false&logs-k8s-sortOrder=%22Descending%22&logs-k8s-wrapLogMessage=false).

[Try it](https://play.grafana.org/a/grafana-k8s-app/navigation/namespace/play-db-cluster/monitoring/logs-drilldown?var-datasource=grafanacloud-play-prom&from=now-2d&to=now&refresh=1m&var-loki=grafanacloud-play-logs&timezone=utc&logs-k8s-var-ds=grafanacloud-logs&logs-k8s-patterns=%5B%5D&pageSlug=logs&logs-k8s-var-all-fields=&logs-k8s-userDisplayedFields=false&logs-k8s-displayedFields=%5B%22error%22%5D&logs-k8s-urlColumns=%5B%5D&logs-k8s-visualizationType=%22logs%22&logs-k8s-prettifyLogMessage=false&logs-k8s-sortOrder=%22Descending%22&logs-k8s-wrapLogMessage=false)

## Profile applications with continuous profiling

When a workload or Pod shows high CPU or memory usage, it’s common to ask which part of the code is responsible. Profiling captures which applications in your code are responsible for that resource usage. Kubernetes Monitoring integrates [Continuous profiling](/docs/grafana-cloud/monitor-applications/profiles/introduction/profiling-types/) directly into the detail pages for Workload and Pod. You can investigate performance issues related to applications and determine the cause.

### Profiling section

The **Profiling** section of Workload and Pod detail pages displays a flame graph that shows which applications in your code are consuming the most CPU or memory. A [flame graph](/docs/grafana-cloud/monitor-applications/profiles/introduction/flamegraphs/) visualizes this data as stacked bars. Each bar represents a function.

The width of each bar shows how much time or resources that function consumed. Wider bars point to the code paths that are worth your time to optimize.

[Container detail page with gauge indicating CPU request is undersized](/media/docs/grafana-cloud/k8s/profile-flamegraph.png)

### Data used by flame graphs

Profiling data requires instrumentation on the application side. The flame graph works with the Pyroscope instance in Grafana Cloud. To see profiling data, one of the following ingestion methods must be used for profiling data to appear:

- Configure using the Kubernetes Monitoring Helm chart. This chart directs Alloy to collect profiles in the Cluster using eBPF. No application code changes are required. You can also add annotations to your Pods and Alloy to scrape pprof endpoints automatically. These two options differ in which collection layer they use: pprof is a pull-over-HTTP model; eBPF is a kernel hook model.
  
  Expand table
  
  | Collection type  | Value/when to use                                                                                                                                                                                                                                                                                     |
  |------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
  | `pprof scraping` | \- Provides fine-grained, application-aware profiles such as goroutines, heap, and CPU at function level  <br />\- Use pprof when you need detailed app-level profiling and can instrument your code  <br />\- Profiles are collected only from pods that include the required Kubernetes annotations |
  | `eBPF profiling` | \- Can provide automatic, Cluster-wide coverage  <br />\- Use eBPF for broad coverage with no code changes, especially for third-party or multi-language workloads                                                                                                                                    |
  
  Refer to [Customize the Helm chart configuration](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/configuration/helm-chart-config/helm-chart/customize-helm-chart/#pprof-profiling) for setup steps.
- **Pyroscope SDKs**. Applications push profiles directly to Grafana Cloud Pyroscope. SDKs are available for Go, Java, Python, .NET, Ruby, Node.js, and Rust.
  
  Refer to [Send profile data](/docs/grafana-cloud/monitor-applications/profiles/send-profile-data/) for setup steps.

### Troubleshoot missing profiles

The **Profiles** section appears on all Workload and Pod detail pages but displays “No profiling data available” if there is no profiling data in Pyroscope. If you see missing or unexpected profile data, refer to [Troubleshooting](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/configuration/troubleshooting/#profiling-data-missing-or-showing-unexpected-results).

## Resolve issues with built-in tools

Navigate from Kubernetes Monitoring to other capabilities in Grafana Cloud to analyze, troubleshoot, and solve issues.

### Access root cause analysis tool

> Note
> 
> To access root cause analysis tools, enable [Knowledge Graph](/docs/grafana-cloud/knowledge-graph/) on your stack. If Knowledge Graph is not enabled, Kubernetes Monitoring displays a banner with a link to enable it.

You can take troubleshooting deeper by understanding relationships between components and what is occurring between them. Within Kubernetes Monitoring, access [RCA workbench](/docs/grafana-cloud/knowledge-graph/troubleshoot-infra-apps/workbench/) to perform [root cause analysis](/docs/grafana-cloud/knowledge-graph/troubleshoot-infra-apps/workbench/#use-the-timeline-to-perform-root-cause-analysis).

Access RCA workbench by any of these methods:

- Hover over RCA workbench button on the upper right of the screen, and click **Open RCA workbench**.
  
  [Hovering to reveal the **Open RCA Workbench** button](/media/docs/grafana-cloud/k8s/compare-cluster.png)
- Hover over the ring icon, and click **+ Workbench**.
  
  [Hovering over the ring icon](/media/docs/grafana-cloud/k8s/ring-rca-wkbench.png)
- Click the **Insights** button, then click **Add all to Workbench**.
  
  [Insights button](/media/docs/grafana-cloud/k8s/insights-button-workbench.png)

### Jump to the application layer

On the detail page for a Pod or workload, hover over **View application layer**, then click **Go to Application Observability** to navigate directly to more data, such as the [service health](/docs/grafana-cloud/monitor-applications/application-observability/manual/service/#service-health).

[Navigating directly to the Application Observability app](/media/docs/grafana-cloud/k8s/go-to-app-olly-button.png)

To return to Kubernetes Monitoring, click the browser back button.

### View queries to troubleshoot with Explore

To further query data, use any of the **Explore** buttons available throughout the interface (such as **Explore namespaces** or **Explore alerts**). You see a view that provides additional query tools for [troubleshooting](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/configuration/troubleshooting/#view-the-query-with-explore).

[Raw metrics](/media/docs/grafana-cloud/k8s/explore-query-view.png)

### Use debug metrics

For any panel, you can open [Debug Metrics](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/configuration/troubleshooting/#debug-metrics-tool) to see the metrics used for the panel.

## Navigate to traces

If you choose to enable traces when you configure Kubernetes Monitoring, you can easily click to see them.

1. Click the main menu icon.
2. Click **Explore**.
3. Choose the Tempo data source.
4. With the **TraceQL** tab selected, enter your search query.
5. Click **Run query**.
   
   A table of traces appears.
6. Click a trace to see the detail.

[View traces](/media/docs/grafana-cloud/k8s/screenshot-k8smon-traces.png)

> Note
> 
> If you use Istio service mesh and traces don’t appear, verify that the Kubernetes Service port name for the OpenTelemetry Collector gRPC endpoint (the value of `spec.ports[].name`) is either `grpc` or starts with `grpc-`. For more information, refer to [Traces missing with Istio service mesh](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/configuration/troubleshooting/#traces-missing-with-istio-service-mesh).

## Access Nodes in Cloud provider accounts

You can navigate to the EC2 dashboard for Nodes managed by AWS from Kubernetes Monitoring. For example:

1. Find the EC2 Node by going to **Search** and searching for the Node name.
2. In the search results, click the Node name to open the Node detail page.
3. On the far right-side of the screen, open the AWS drop-down to see the link to the EC2 instance.
   
   [AWS drop-down menu](/media/docs/grafana-cloud/k8s/aws-dropdown.png)
4. Click the instance link to open the [EC2 overview](/docs/grafana-cloud/monitor-infrastructure/monitor-cloud-provider/aws/cloudwatch-metrics/metric-dashboards/aws-ec2-dashboard/#drill-into-instance-detail). Here you can find AWS-specific metadata and other data provided by CloudWatch metrics.
   
   [Dashboard for AWS EC2 instance](/media/docs/grafana-cloud/k8s/aws-ec2-dash.png)
5. To return to the Kubernetes Monitoring view of the Node, click **Back to Kubernetes Node**.
