Skip to main content
Redhat Developers  Logo
  • Products

    Platforms

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat AI
      Red Hat AI
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • See all Red Hat products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat Developer Hub
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat OpenShift Local
    • Red Hat Developer Sandbox

      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Red Hat OpenShift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • See all technologies
    • Programming languages & frameworks

      • Java
      • Python
      • JavaScript
    • System design & architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer experience

      • Productivity
      • Tools
      • GitOps
    • Automated data processing

      • AI/ML
      • Data science
      • Apache Kafka on Kubernetes
    • Platform engineering

      • DevOps
      • DevSecOps
      • Red Hat Ansible Automation Platform for applications and services
    • Secure development & architectures

      • Security
      • Secure coding
  • Learn

    Featured

    • Kubernetes & cloud native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • AI/ML
      AI/ML Icon
    • See all learning resources

    E-books

    • GitOps cookbook
    • Podman in action
    • Kubernetes operators
    • The path to GitOps
    • See all e-books

    Cheat sheets

    • Linux commands
    • Bash commands
    • Git
    • systemd commands
    • See all cheat sheets

    Documentation

    • Product documentation
    • API catalog
    • Legacy documentation
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore the Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Visualize Performance Co-Pilot data with geomaps in Grafana

December 11, 2025
Sam Feifer
Related topics:
Observability
Related products:
Red Hat Enterprise Linux

    In this blog post, I explain the geomap visualization in Grafana and how it can be used with Performance Co-Pilot (PCP) and grafana-pcp, a Grafana app plug-in for PCP, to visualize performance data from systems you want to monitor.

    Grafana geomaps enable viewing data in a world map, in addition to altering the map based on that data. This is highly useful when observing data coming from different locations that has coordinate data associated with it.

    PCP is a performance monitoring tool that can be configured to monitor many systems across different locations. In PCP, metric values have labels associated with them that include additional metadata (for example, a hostname). Historically, the labels didn't include coordinate data. The addition of the pcp-geolocate package now enables adding longitude and latitude labels to metric values. For more information, read the PCP documentation.

    The grafana-pcp plug-in enables visualizing PCP data with coordinate labels in a Grafana geomap panel. This functionality is available in Red Hat Enterprise Linux 10.1 (RHEL) and comes with many use cases, like getting a quick overview of all your systems. The geomap panel provides plenty of options to cater to many requirements. Read the Grafana documentation for more information on the grafana-pcp plug-in.

    System setup

    First, you must install PCP, Grafana, and grafana-pcp on your system. You must also install the pcp-geolocate package that handles attaching coordinate labels (longitude and latitude) to your metrics. Here are the commands to properly set up your system:

    dnf install pcp-zeroconf valkey grafana-pcp pcp-geolocate
    systemctl restart valkey pmproxy grafana-server pcp-geolocate
    systemctl enable valkey pmproxy grafana-server pcp-geolocate

    To verify that the longitude and latitude labels are present in your Valkey database, use the pmseries command-line tool to list the labels associated with metric values:

    pmseries --labels

    This command shows you all the PCP labels on your system, including the longitude and latitude labels.

    You can also check a PCP archive file for the longitude and latitude labels:

    pminfo --labels --archive <archive_file> <metric>

    The PCP Valkey datasource is the only grafana-pcp datasource that has support for geomaps. Read the grafana-pcp quickstart guide for instructions on setting up the grafana-pcp plug-in and the datasources, including PCP Valkey.

    Creating a geomap for the PCP Valkey datasource from grafana-pcp

    To create the geomap, open Grafana and navigate to Dashboards and create a new dashboard. When prompted to select a datasource, pick the PCP Valkey datasource you have configured.

    Next, change the visualization to a geomap. Open the Format drop-down menu located at the bottom of the query window and select Geomap.

    Enter your query (the PCP metric of interest) in the query window to see your PCP data visualized on the map. Figure 1 shows a geomap dashboard visualizing the kernel.all.pswitch metric from 2 different systems on opposite sides of the world.

    Geomap of kernel.all.pswitch metric from PCP
    Figure 1: Grafana geomap dashboard from Performance Co-Pilot visualizing the kernel.all.pswitch metric.

    Getting your data visualized on a world map can be immediately helpful, but a lot of the power of the geomap is in the options and configurations. In Figure 2, the location with the higher value is red, while the location with the lower value is green. This was made possible by setting a threshold.

    Editing window showing threshold for geomap.
    Figure 2: The threshold configuration view in the panel editor.

    In the editing window for the panel, the threshold is set to 1,000 and the color red, so any location with a value above 1,000 appears as a red marker on the map. This can be helpful in finding a system that is not performing within acceptable performance limits and needs to be checked for a potential problem.

    Value mappings are another useful geomap option. With this option, you can map certain values to a message. For example, you could map values in the range of 0-200 to the message "Less than 200" to see a text message on the geomap (Figure 3). This is useful for showing the locations within acceptable performance limits without worrying about what that actual value is.

    Editing window showing value mappings.
    Figure 3: The panel editing window showing the value mappings.

    More geomap options and next steps

    This article has demonstrated only a small subset of what can be done with geomaps. There are other layers too, like heatmap layers that can be used rather than the markers layer used in the example. The full geomap documentation explains the different layers and options available in Grafana.

    I recommend experimenting with different layers and options to see what works best for you. Geomaps excel at providing a quick and visually appealing overview of all your locations in a single panel. Finding which options help you easily find locations in need of further investigation unlocks the power of the geomap.

    Related Posts

    • A guide to premade grafana-pcp dashboard development

    • Monitor an Ansible Automation Platform database using Prometheus and Grafana

    • Monitor Ansible Automation Platform using Prometheus, Node Exporter, and Grafana

    • Monitor OpenShift Virtualization using user-defined projects and Grafana

    • How to deploy the new Grafana Tempo operator on OpenShift

    • How to monitor 3scale API Management using Prometheus and Grafana

    Recent Posts

    • Unify OpenShift Service Mesh observability: Perses and Prometheus

    • Visualize Performance Co-Pilot data with geomaps in Grafana

    • Integrate a custom AI service with Red Hat Ansible Lightspeed

    • Automate AI workflows with Red Hat Ansible Certified Content Collection amazon.ai for generative AI

    • Integrate OpenShift Gateway API with OpenShift Service Mesh

    What’s up next?

    Learn how to create a Quarkus application that uses Micrometer to expose metrics.

    Start the learning path
    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer tools
    • Interactive tutorials
    • API catalog

    Quicklinks

    • Learning resources
    • E-books
    • Cheat sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site status dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2025 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue