Grafana Cloud

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.
  1. Navigate to your Grafana Cloud portal.
  2. In the menu, select the stack 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
Home page search field and search results page
Give it a try using Grafana Play
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.

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 main Cluster list page to container detail page
Navigating from lists to detail pages

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.

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

Give it a try using Grafana Play
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.

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
Clicking next to the page title to reveal navigation menu

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
Hovering over the dock menu icon

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
Filtering for a namespace

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:

PageLabels used
Kubernetes Overview home page and Cluster listNode labels (kube_node_labels)
Namespace listNamespace labels (kube_namespace_labels)
Node listNode labels (kube_node_labels)
Workload listPod 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
Clicking the All link or the count from the home page to see a list of all Clusters

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
Menu for controlling automatic refresh and refresh interval

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:

List of workloads with the status of running showing in green
Color coding

TextColorComments
FailedRedFailed Pod
RunningGreenHealthy Pod
RunningRedPod is failing to start
SucceededGreenJob Pod successfully run
UnknownWhitePod status is unknown
WaitingYellowPod is waiting because of startup, such as Pod initializing or container creating
WaitingRedPod 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.

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

Usage ColorsUsageComments
Green60-90% of maximumThis is the ideal state of resource usage.
YellowBelow 60%Low usage percentages indicate that the item might be over provisioned.
Red90%+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:

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:

Manage costs

View and manage cost 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: