Introducing The New PMM 2!
Michael CoburnPercona
2
Michael Coburn
● Product Manager for PMM (and Percona Toolkit)● At Percona for six years across multiple MySQL roles
○ Principal Architect, Managing Consultant, Technical Account Manager
PMM 1Where it all began
What is PMM?
● A free, Open Source database troubleshooting and performance optimization platform for MySQL, MongoDB, and PostgreSQL
● Additional technologies supported include ProxySQL, Amazon RDS MySQL and PostgreSQL, and Aurora MySQL and PostgreSQL
● Runs in your secure environment (this is not a SaaS product!) and on your equipment
● Actively developed for 3+ years
5
PMM Distribution Methods
1. docker○ docker pull percona/pmm-server:1
2. Virtual Appliance○ Supports VMware, RedHat Virtualization, Microsoft Systems Center○ … and VirtualBox!
3. AWS Marketplace○ Production-ready AMI running in EC2
6
AWS Marketplace
● Deploy directly to EC2● Running CentOS 7
Search for "pmm" or "Percona Monitoring and Management"https://aws.amazon.com/marketplace/pp/B077J7FYGX
7
PMM Architecture
● pmm-client (eg. MySQL host)○ mysqld_exporter - MySQL metrics○ node_exporter - Linux/OS metrics○ qan-agent - Query Analytics
● PMM Server○ Query Analytics
■ QAN API and QAN Application○ Metrics Monitor
■ Prometheus■ Grafana
Metrics Monitor
9
Query Analytics
10
MySQL Slow Log - *Percona Server Only
11
EXPLAIN
12
CREATE TABLE, TABLE STATUS, and INDEXES
PMM 2Where we are today
What's New and Exciting?
● Query Analytics○ Support for large environments○ Filtering using query metadata and labels○ Sorting and additional columns○ Support for PostgreSQL
● pmm-agent● Standard and Custom labels● Inventory Overview● Multiple scraping intervals
Support for Large Environments
● MySQL out - ClickHouse in● Columnar datastore, wicked fast● Tested up to 1,000 nodes against one
PMM Server
Standard and Custom Labels
● Labels, when set, will appear in Query Analytics and can be used to filter● Standard label examples
○ environment○ replication_set○ cluster○ region○ node_model (auto-detected)
● Custom labels are any arbitrary key-value pairpmm-admin add … --environment=production --cluster=MyCluster7 \
--custom-labels="dataCentre=downtown,rack=T3B"
Filtering
● Standard and Custom labels can be used as filter conditions● Additional filters include:
○ Client Host○ Schema○ Client Username○ Database Server
Sorting
● Sort by any column
Add Additional Columns
● Add more columns based on query metadata
● Examples:○ Rows Examined○ Temporary Tables○ Filesort
pmm-agent
● Master daemon on your clients● Runs as root by default● Launches exporters and Query
Analytics agents
Inventory Overview
● View lists of Services, Agents, and Nodes configured
Multiple Collection Intervals
● Collecting metrics aggressively provides the highest level of visibility of events, but at highest storage space cost + disk I/O
● Challenge is to collect highly variable data frequently, or expensive to collect less frequently
● 1s, 5s, 60s are default collection intervals (High, Medium, Low)● Examples:
○ High - Threads_running○ Medium - MySQL Information Schema Thread States○ Low - MySQL Version
Thank You to Our Sponsors
24
Rate My Session
Top Related