---
title: "Explore your infrastructure with Kubernetes Monitoring | Grafana Cloud documentation"
description: "How to explore your infrastructure with the features available in Grafana Kubernetes Monitoring"
---

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

# Explore your infrastructure with Kubernetes Monitoring

Kubernetes Monitoring offers visualization and analysis tools for you to:

- Evaluate the health, efficiency, and cost of Kubernetes infrastructure components.
- Analyze historical data as well as forecasts.
- View predictions created with machine learning.
- Manage alerts.

## Navigate to Kubernetes Monitoring

1. Navigate to your [Grafana Cloud portal](/docs/grafana-cloud/security-and-account-management/cloud-portal/).
2. In the menu, select the [stack](/docs/grafana-cloud/security-and-account-management/cloud-stacks/) you want to work with.
3. Click the Grafana logo icon.
4. In the main menu, expand **Observability**, then click **Kubernetes**.

## Search for a Kubernetes object

Click **Search** on the main menu or enter a term in the search box on the main page to navigate to the **Search** page. Here you can find any Kubernetes resource. Enter the name or a partial name into the search box and press Enter. The search results display.

As you type, autocomplete suggestions appear grouped by resource type (Clusters, Namespaces, Nodes, Workloads, Pods, and Containers). When you select a suggestion, you navigate to that resource’s detail page.

To narrow your search, you can:

- Enter a time range in the time range selector
- Refresh results manually or set an auto-refresh interval
- Click on any of the filter buttons:
  
  - Clusters
  - Nodes
  - Namespaces
  - Workloads
  - Pods
  - Containers

You can select more than one filter.

[Home page search field and search results page](/media/docs/grafana-cloud/k8s/searchresults.png)

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 search results page](https://play.grafana.org/a/grafana-k8s-app/search?from=now-2d&to=now).

[Try it](https://play.grafana.org/a/grafana-k8s-app/search?from=now-2d&to=now)

## Explore using the Kubernetes structure

Kubernetes Monitoring pages reflect the hierarchy of Kubernetes objects, so you can begin at any level above containers. Main pages include lists of Clusters, namespaces, workloads, and Nodes.

For example, the Cluster main page shows the list of your Clusters. When you click on a Cluster in the list, it opens the Cluster detail page. That page shows the details for the Cluster along with a list of Nodes within that Cluster.

You can continue to drill into a Node and see the list of Pods for that Node, all the way to the container level.

[Navigating from lists to detail pages](/media/docs/grafana-cloud/k8s/k8s-structure.png)

There are also main pages for Cluster configuration and cost. To manage alerts and efficiency, use the **Alerts** and **Efficiency** tabs on the **Kubernetes Overview** page.

On the Cluster detail page, click **See Namespaces** or **See Workloads** to navigate to the list of namespaces or workloads in that Cluster.

For additional navigation tips, refer to [Navigation tips for Kubernetes Monitoring](#navigation-tips).

## Navigation tips

Here are some tips and shortcuts for getting around in Kubernetes Monitoring.

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 **Kubernetes Monitoring Overview** page](https://play.grafana.org/a/grafana-k8s-app/home?from=now-2d&to=now&refresh=1m&var-cluster=%24__all&var-namespace=%24__all).

[Try it](https://play.grafana.org/a/grafana-k8s-app/home?from=now-2d&to=now&refresh=1m&var-cluster=%24__all&var-namespace=%24__all)

### Jump between main pages

From any main page, click the icon beside the page title to see the menu of all main pages. Then click the page you want to open.

[Clicking next to the page title to reveal navigation menu](/media/docs/grafana-cloud/k8s/jump-menu.png)

### Dock the main menu

To keep the main navigation open:

1. Click the Grafana logo menu icon.
2. Click the dock menu icon to keep the main menu open.

[Hovering over the dock menu icon](/media/docs/grafana-cloud/k8s/dock-menu-icon.png)

### Filter, sort, and set the time range

Use filters and sorting, along with the time range selector, to target the data you want.

[Filtering for a namespace](/media/docs/grafana-cloud/k8s/namespace-filter.png)

### Filter by Kubernetes labels

Filter by label to scope a page the way your team organizes objects, rather than by object name. For example, on a Cluster shared by several teams, you can show only the workloads your team owns, or only the objects in one region, without knowing which namespaces belong to whom.

On the **Kubernetes Overview** home page and the Cluster, namespace, Node, and workload list pages, use the **K8s labels** filter to select a label key and value, such as `label_topology_kubernetes_io_region=us-east-1`. The page narrows to the objects that carry the label, and lists show **No data** when nothing matches. You can also filter on an external label that your collector adds, which is a key without the `label_` prefix.

Each page filters by the labels of the objects it lists:

Expand table

| Page                                               | Labels used                                |
|----------------------------------------------------|--------------------------------------------|
| **Kubernetes Overview** home page and Cluster list | Node labels (`kube_node_labels`)           |
| Namespace list                                     | Namespace labels (`kube_namespace_labels`) |
| Node list                                          | Node labels (`kube_node_labels`)           |
| Workload list                                      | Pod labels (`kube_pod_labels`)             |

The filter tool appears only when its labels metric has label keys in the selected Cluster. If your Cluster doesn’t collect that metric, no filter appears on the page.

By default, the Helm chart generates label keys for Nodes only, so filtering works on the home page, the Cluster list, and the Node list without further configuration. To filter namespaces or workloads by label, add those labels to `telemetryServices.kube-state-metrics.metricLabelsAllowlist` and include the metric, such as `kube_pod_labels`, in `clusterMetrics.kube-state-metrics.metricsTuning.includeMetrics`.

### Choose which columns a table shows

The lists of Clusters, namespaces, Nodes, workloads, Pods, and containers show many columns. If you don’t need to see all of them, you can hide columns.

To change the columns:

1. Click the columns icon above the table. The menu stays open to show the list of columns.
2. Uncheck the box next to any column you want to hide, such as **CPU Avg** or **Mem Max %**.
3. Click outside the menu to close it.

If one or more columns are hidden, a number beside the columns icon tells you how many of them are hidden.

Hiding a percentage column also removes the color coding from the column it measures. For example, if you hide **CPU Avg %**, the **CPU Avg** column still shows its value, but without color coding.

To unhide a column, click the columns icon and check the box next to the name of the column. To unhide all columns at once, click **Reset columns**. This button appears only when at least one column is hidden.

Kubernetes Monitoring remembers the columns you hide for each kind of list. If you hide CPU on the Nodes list, it stays hidden the next time you open that list. This includes the list of Nodes on a Cluster page. Hiding a column on one list doesn’t affect the others, so CPU still shows on the Clusters list until you hide it there too.

Hidden columns aren’t queried, so hiding columns can help a long list load faster.

Your hidden columns are saved in your browser and apply only to you. Teammates see their own columns.

The columns icon appears only when the list covers fewer than 50,000 containers. Above that amount, Kubernetes Monitoring shows a smaller set of columns to load the page quickly. In this case, the icon isn’t available. Because filters change how many containers a list covers, clearing a filter can take the icon away. Narrow your filters to bring it back.

### Jump to main lists

From the counts on the Kubernetes Overview home page, click **All** to see that component’s list of items in your Kubernetes fleet.

[Clicking the **All** link or the count from the home page to see a list of all Clusters](/media/docs/grafana-cloud/k8s/jump-to-list.png)

### Control app refresh

You can control the automatic refresh interval of the GUI as well as disable the auto refresh.

[Menu for controlling automatic refresh and refresh interval](/media/docs/grafana-cloud/k8s/app-refresh-control.png)

### Use color cues

Throughout the views in Kubernetes Monitoring, you see color used as an additional means of indicating status or condition. For example, sometimes text is a different color for Pod status:

[Color coding](/media/docs/grafana-cloud/k8s/pod-color-code.png)

Expand table

| Text      | Color  | Comments                                                                                |
|-----------|--------|-----------------------------------------------------------------------------------------|
| Failed    | Red    | Failed Pod                                                                              |
| Running   | Green  | Healthy Pod                                                                             |
| Running   | Red    | Pod is failing to start                                                                 |
| Succeeded | Green  | Job Pod successfully run                                                                |
| Unknown   | White  | Pod status is unknown                                                                   |
| Waiting   | Yellow | Pod is waiting because of startup, such as Pod initializing or container creating       |
| Waiting   | Red    | Pod is waiting because of a problem, such as crash loop back off or image pull back off |

For more information on Pod status, refer to the [Kubernetes documentation on Pod lifecycle](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase).

The following table describes the color indicators for resource capacity and the state of resource usage:

Expand table

| Usage Colors | Usage             | Comments                                                                |
|--------------|-------------------|-------------------------------------------------------------------------|
| Green        | 60-90% of maximum | This is the ideal state of resource usage.                              |
| Yellow       | Below 60%         | Low usage percentages indicate that the item might be over provisioned. |
| Red          | 90%+              | Your resource usage is close to or above its configured capacity.       |

## Analyze your infrastructure further

After you’re comfortable moving around in Kubernetes Monitoring, determine what the next step should be.

### Triage your fleet

Use the **Kubernetes Overview** home page to confirm fleet health and infrastructure conditions by:

- Reviewing potential issues to [triage your infrastructure](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/triage-your-infrastructure/) and then:
  
  - [Manage availability](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/triage-your-infrastructure/manage-availability/)
  - [Manage stability](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/triage-your-infrastructure/manage-stability/)
  - [Review infrastructure conditions](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/triage-your-infrastructure/review-infrastructure-conditions/)
- Troubleshoot specific issues such as:
  
  - [CPU throttling](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/triage-your-infrastructure/cpu-throttling/)
  - [Out-of-memory issues](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/triage-your-infrastructure/memory-manage-oomkill/)
  - Scaling, deployment, and workload resource pressure with [Pod count insights](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/triage-your-infrastructure/pod-count/)
  - [Application latency](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/triage-your-infrastructure/network-saturation/)
  - [Use built-in tools](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/triage-your-infrastructure/troubleshoot-with-built-in-tools/) to further explore troubleshooting

### Optimize resource usage and efficiency

Right-size CPU and memory across your Clusters so workloads stay stable and you don’t pay for capacity you don’t use. Underprovisioned workloads lag or fail under load, and overprovisioned ones tie up capacity the scheduler can’t reuse. You can use built-in dashboards to:

- [Optimize resource usage and efficiency](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/optimize-resource-usage/) by going to the **Efficiency** tab on the home page
- [Monitor resource usage](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/optimize-resource-usage/monitor-resource-usage/) throughout Kubernetes Monitoring
- [Analyze trends and view historical data](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/optimize-resource-usage/predict-and-analyze-trends/) to understand past and potential future patterns
- Learn best practices for [Assigning CPU requests and limits](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/optimize-resource-usage/container-requests-limits-cpu/)
- [Monitor your fleet’s energy usage](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/optimize-resource-usage/monitor-energy-use/)

### Manage costs

View and [manage cost](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/manage-costs/) per resource and infrastructure type, historical and projected costs, and savings opportunities on the **Cost** views. Cost data comes from an OpenCost integration that estimates per-Node costs from public pricing and allocates them to your Clusters, namespaces, workloads, Pods, and containers.

### View jobs and non-standard workloads

Get visibility into:

- Short-lived [`Job` and `CronJob` runs](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/monitor-jobs/)
- [Non-standard workloads](/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/monitor-non-standard-workloads/) that schedule Pods through mechanisms other than the built-in controllers, such as Argo Rollouts, Strimzi Pod sets, and unmanaged or bare Pods.
