Skip to content

Percona Monitoring and Management 3.0.0 Beta

Release date November 22nd, 2024
Installation Installing Percona Monitoring and Management

Percona Monitoring and Management (PMM) is an open source database monitoring, management, and observability solution for MySQL, PostgreSQL, and MongoDB.

It enables you to observe the health of your database systems, explore new patterns in their behavior, troubleshoot them and execute database management operations—regardless of whether your databases are located on-premises or in the cloud.

PMM 3.0.0 Beta introduces major security improvements with rootless deployments, encryption of sensitive data, enhanced stability through containerized architecture, and improved user experience with flexible monitoring configurations. Key changes include official ARM support, MongoDB 8.0 monitoring, and a streamlined upgrade process.

Security enhancements

Support for rootless deployments

Using the root user in applications poses a significant security risk, particularly when outdated software is installed or resides in the environment.

PMM Server now supports rootless deployment through multiple methods, including the latest versions of Podman, Helm, Docker, Virtual Appliance, and Amazon AWS.

This rootless setup enhances security by eliminating the need for root privileges to create, run, and manage containers. By running PMM Server as a non-root user, you avoid granting root permissions on the host system, providing an additional layer of protection against potential vulnerabilities and security breaches.

For instructions on deploying rootless PMM, check the Setting up PMM Server topic.

UI-based upgrades for Podman installations

You can now upgrade PMM Server installations running under Podman directly through the PMM Configuration > Updates panel in the UI.

This functionality integrates Watchtower for automated container updates and requires configuration of new environment variables (PMM_WATCHTOWER_HOST, PMM_WATCHTOWER_TOKEN) as well as relevant systemd service settings.

For detailed configuration instructions, see Installation with UI updates.

Encryption of sensitive data

Plaintext passwords and credentials are among the top ten security risks identified by OWASP (Open Web Application Security Project).

To address this risk, PMM now encrypts all sensitive information stored in its database. This includes usernames, passwords, AWS keys, Azure credentials, and TLS/SSL certificates, significantly enhancing the security of your monitoring environment. Even though we recommend minimal privileges for monitoring user accounts, you can rest assured that the sensitive data is protected!

By default, PMM generates an encryption key and stores it at /srv/pmm-encryption.key. Alternatively, you can define a custom path for the encryption key using the new environment variable PMM_ENCRYPTION_KEY_PATH.

When upgrading to PMM 3, any existing unencrypted PMM 2 data will be encrypted automatically.

For more information, see PMM data encryption.

Enhanced API authentication with Grafana service accounts

We’ve made a significant enhancement to the way API authentication is handled. PMM no longer relies on API keys as the primary method for controlling access to the PMM Server components and resources. Instead, PMM now leverages Grafana service accounts, which provide a more secure and manageable authentication mechanism compared to API keys.

The transition to service accounts brings fine-grained access control and logging of all actions performed, providing more security, better visibility and auditing capabilities.

When you install PMM 3, any existing API keys will be seamlessly converted to service accounts with corresponding service tokens. For more information about using service accounts in PMM, see Service account authentication.

Service Accounts page

Enhanced stability

Containerized PMM architecture for AMI and OVF deployments

Previously, AMI and OVF instances of PMM were created as standalone images rather than being containerized like the primary Docker-based PMM version.

This difference in architecture led to challenges in maintenance as fixes and updates for AMI and OVF instances required additional effort and were sometimes delayed due to their lower adoption rates.

With this update, PMM now uses a unified containerized architecture across all deployment methods. In AMI and OVF environments, PMM components run as Podman-managed containers in rootless mode, eliminating the need for elevated system privileges.

This transition not only aligns AMI and OVF deployments with PMM’s core containerized model but also improves security, enables faster troubleshooting, and streamlines updates and patch management.

More stable and quicker upgrades

PMM 3 introduces a significant upgrade system overhaul, replacing the earlier method based on internal package updates. While the previous approach offered the convenience of upgrading directly via the Update button on the Home dashboard, it was prone to connection issues and package corruption, often resulting in complex recovery challenges.

The new upgrade method moves away from RPM updates to exclusive container updates, eliminating RPM-related complications. This streamlined approach provides consistent upgrade experiences across all deployment types—Docker, Podman, and OVF/AMI.

At the same time, we’re maintaining the UI upgrade option by integrating Watchtower, an external upgrading tool. When you click the Upgrade Now button on the Home Dashboard, Watchtower seamlessly replaces the PMM Server container and links the new one to the existing volume, preserving all data and settings intact.

For easy adoption, Watchtower comes pre-configured in our Easy-Install script, enabling one-step PMM setup.

Improved user experience

New upgrade UI

We’ve introduced a new Updates page under PMM Configuration to support the new container-based upgrade system. This centralized interface offers clear visibility into the versions and configurations of both your PMM Server and Clients, simplifying the update process.

With this update, you’ll receive proactive notifications whenever new versions are release to help you make informed decisions before proceeding with available upgrades.

Update page

Flexible monitoring configurations

PMM extends its database monitoring setup process by adding an intuitive UI-driven approach alongside CLI-based configuration. After installing PMM Client on your database server, all further monitoring configurations can be managed directly through the PMM interface, eliminating the need for complex command-line operations.

This simplified workflow combines with PMM’s new ability to run database exporters on any PMM Client node rather than solely on PMM Server. By distributing the monitoring load across multiple PMM Clients, this approach enables more efficient monitoring of a larger number of remote and cloud-hosted databases, such as RDS instances.

When adding new services through the PMM UI, you can now specify which PMM Client node will run the monitoring exporter. While PMM Server remains the default option, you can choose any node with PMM Client installed, including selecting specific clients on nodes with multiple installations.

This distributed monitoring capability is currently available for new service additions, with support for existing service modification planned for a future release.

For more details, see Connect services.

Choose node

Simplified AWS installation process

We’ve simplified AWS installations to match our standard Docker/Podman workflow. After installation, you’ll immediately see the PMM login screen.

Use admin as the username and your EC2 Instance ID as the password (the default PMM password cannot be used for security reasons).

You can find your Instance ID in the AWS Console. For detailed instructions, see Install PMM Server on AWS Marketplace.

Official ARM support for PMM Client

PMM 3 Beta now officially supports ARM architecture, upgrading from its experimental status in PMM 2.43. This means you can reliably monitor databases on ARM platforms, taking advantage of their cost-effective infrastructure and energy efficiency in data centers and cloud environments.

Installation follows the standard PMM Client process, with no special requirements for ARM systems.

Try out this feature and share your experience on the PMM forum!

Improved UX with Grafana’s latest release

PMM now integrates Grafana 11.1.8, which delivers the following important enhancements alongside all the advancements introduced since the previous Grafana 9.2.20 integration in PMM2.

For the full list of Grafana changes included with this update, see Grafana’s 11.1.8 changelog and Grafana release highlights.

Improved navigation

PMM now includes a revamped header with search, breadcrumbs, and a reorganized menu that groups related tools together, making it easier to navigate PMM’s features and find what you need:

New Dashboard page

Improved Alerting workflow

Leveraging the new Grafana user interface updates, we’ve taken the opportunity to refine the workflow for creating alerts from the Alert Rules and Alert Rule Templates pages.

You’ll notice separate, more visible options for creating different types of alert rules, cutting down on unnecessary steps and making it easier to manage various alert rules, templates, and configurations:

New Alerts rule page

Simplified administration settings with dedicated menus

Administration settings are now easier to manage with the new Administration menu. This menu brings together all Grafana-related configurations and account management options that were previously scattered across the general Configuration section. This change helps administrators locate and manage Grafana-specific settings more efficiently.

Additionally, all PMM settings and inventory options are now grouped under a new PMM Configuration menu. This centralizes access to all PMM-related configurations, making it simpler for users to handle their PMM setup.

These improvements make navigating easier and more organized, so you can quickly find and adjust settings for Grafana and PMM.

Monitoring improvements

Added monitoring support for default PostgreSQL database

PMM now provides full monitoring support for the default postgres database on PostgreSQL instances, with metrics displayed across Query Analytics (QAN).

This enhancement resolves a previous visibility gap where database activity was hidden when applications used the default database.

While using the default database for applications is not recommended, PMM v3 ensures comprehensive visibility, empowering teams to identify and address this practice proactively and maintain better database management.

[Tech Preview] Support for PSMDB and Community MongoDB 8.0

The latest version of MongoDB, along with Percona Server for MongoDB 8.0, brings numerous improvements and significant performance enhancements. In this version of PMM, we are also adding support for MongoDB 8, allowing MongoDB users to monitor their new version and observe its performance impact.

This includes updates to mongodb_exporter to accommodate PSMDB 8.0’s revised metrics structure and renamed metrics (e.g., wiredTiger.concurrentTransactions is now queues.execution).

This enhances monitoring, particularly for sharded cluster deployments, and requires PMM Agent version 2.43.1 or later.

Keep in mind that some dashboard metrics may need further updates to fully support MongoDB 8.0’s new format.

QAN improvements

Increased query length limit for MongoDB in QAN

For MongoDB queries, the default maximum query length in Query Analytics (QAN) is now 4096 characters (up from 2048). This better supports long queries and aggregation pipelines while reducing truncation errors. Other databases retain the 2048-character limit.

Enhanced MySQL SlowLog query identification

Improved MySQL Slow Log query identification by extending the query ID length from 16 to 32 characters. This reduces the likelihood of ID collisions and ensures more accurate and reliable QAN results.

Breaking changes and deprecations

Oracle Enterprise Linux 9 images only

With Enterprise Linux 7 (EL7) approaching its end-of-life date, we’ve made sure that PMM 3 exclusively uses Oracle Enterprise Linux 9 (EL9) as the base system for all PMM images.

We began this transition from CentOS 7 to EL9 with the latest PMM 2 releases, and now with PMM 3, we are no longer building Docker containers, AMIs, or OVFs based on EL7.

By moving to EL9, we ensure that PMM is built on most recent library versions and stays compatible with new technologies. Moreover, EL9 grants access to faster upstream responses to issues, particularly those concerning security, so that your PMM setup remains up-to-date and secure.

Due to this change, PMM 3 cannot be started on host servers running EL7.

Finalized DBaaS migration to Percona Everest

In previous PMM releases, the Database as a Service (DBaaS) functionality has been gradually transferred to Percona Everest, an open source cloud-native database platform that solves the challenge of public cloud DBaaS vendor lock-in.

With Percona Everest, you gain the ability to provision and oversee highly performant database clusters on the infrastructure you manage, whether it’s your preferred cloud environment or on-premises. This empowerment extends to regaining control over critical aspects such as data access, database configuration, and the costs associated with cloud-based database operations.

While PMM 2.x versions continue to support existing DBaaS functionality, PMM 3 marks the complete deprecation of this feature, removing all references to DBaaS.

If you are an existing PMM user who relies on DBaaS functionality, we encourage you to explore Percona Everest and leverage its advanced features for database deployment. Percona Everest also integrates with PMM to provide monitoring capabilities for your database infrastructure.

To learn more about integrating Percona Everest with PMM and adding monitoring endpoints, see Add monitoring endpoints in the Everest documentation.

Breaking API changes

This release introduces major breaking API changes:

  • Database record identifiers no longer use prefixes (e.g., /agent_id/) and are now represented as plain UUIDs.
  • Feature toggles have been simplified from dual booleans to a single boolean control with an enable_feature property.
  • API responses now consistently emit all fields including those with default or zero values.
  • Service, node, and agent management has been streamlined through consolidated endpoints where the resource type is specified as a top-level property in the request payload.
  • Low-level Inventory API sections have been removed from documentation in favor of the Management API for inventory-related tasks.

For detailed information about all these API changes and new endpoints, see the PMM API documentation.

New upgrade environment variables

When migrating from PMM v2 to PMM v3, you’ll need to update your environment variables to match the new naming convention. This is because PMM v3 introduces several important changes to improve consistency and clarity:

  • environment variables now use PMM_ prefix
  • some boolean flags reversed (e.g., DISABLE_ > ENABLE_)
  • removed deprecated variables

To check the Migration reference table, see Environment variables in PMM.

Grafana Angular support discontinuation

Grafana will discontinue support for Angular starting with version 12, expected in 2025. This affects numerous panels and plugins, including but not limited to Graph and Table panels.

We have already migrated many plugins to newer technologies and are actively working on the remaining components to ensure continued functionality. We recommend that you review all plugins in your dashboards and begin planning transitions to newer panel types where necessary.

For the full list of affected plugins and guidance on migration, see Grafana’s official documentation on Angular deprecation and plugin migration.

We will provide regular updates on our migration progress in future releases to help you prepare for this change and modernize your dashboards.

Components upgrade

We’ve upgraded following PMM components to their latest stable versions to enhance functionality, security, and performance:

  • Grafana 11.1.8: Includes significant improvements over the previous version 9.2.20 integration in PMM2.
  • Node Exporter 1.8.2: The latest stable release enhances system metrics collection with improved security, additional metrics for custom dashboards, and critical bug fixes. This version strengthens our ability to monitor crucial system-level metrics through upstream improvements.
  • ClickHouse Datasource plugin: Updated to address security vulnerabilities and maintain system integrity. This update ensures continued reliable operation of ClickHouse-related dashboards.
  • ClickHouse-go driver: Upgraded QAN to use version 2 of the driver, improving database connectivity and performance.

Improvements

  • PMM-13399 - PMM Client packages (DEB, RPM, and tarball) now include the Nomad binary, laying the foundation for expanded functionality in future PMM releases.
    While the Nomad binary is now included and properly configured within the PMM Client ecosystem, Nomad agent configuration and execution capabilities will be implemented in future releases, which will unlock more capabilities for PMM.

  • PMM-13315 - To prevent node registration failures, PMM now automatically shortens service account names longer than 200 characters. For this, PMM creates a truncated name in the format {prefix}_{hash}, where:

    • prefix is a portion of the original name, providing context
    • hash is a unique identifier to avoid naming conflicts

    For example, a long node name such as:

    • Copyvery_long_mysql_database_server_in_production_environment_with_specific_location_details_and_multiple_configuration_settings_for_east_coast_datacenter_primary_backup_replica_instance_2024

      would now be shortened to:

    • Copyvery_long_mysql_database_server_in_prod_4a7b3f9d.

  • PMM-12940 - We’ve added automated update support for AMI/OVF deployments. The new Updates page also enables AMI and OVF deployments to update PMM Server directly from the UI, following the integration of the Watchtower container.

  • PMM-11216 - Added ability to upgrade PMM Server between different version tags, enabling more flexible version management for Docker-based deployments.

Fixed issues

  • PMM-13122 - Fixed navigation between pages to properly maintain selected service names and timeframes when switching between different dashboards and metrics views.

  • PMM-12013 - Fixed reliability and memory usage issues with RDS monitoring in large deployments by running separate RDS exporters per AWS access key. This improves metric collection stability and reduces memory consumption when monitoring multiple RDS instances.

Get expert help

If you need assistance, visit the community forum for comprehensive and free database knowledge, or contact our Percona Database Experts for professional support and services.