Introducing The New PMM 2! - Percona · Introducing The New PMM 2! Michael Coburn Percona. 2...

Post on 10-Jul-2020

22 views 1 download

Transcript of Introducing The New PMM 2! - Percona · Introducing The New PMM 2! Michael Coburn Percona. 2...

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

24

Rate My Session