Introducing The New PMM 2! Michael Coburn Percona
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 2
PMM 1 Where 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
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 5
AWS Marketplace ● Deploy directly to EC2 ● Running CentOS 7 Search for "pmm" or "Percona Monitoring and Management" https://aws.amazon.com/marketplace/pp/B077J7FYGX 6
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 7
Metrics Monitor
Query Analytics 9
MySQL Slow Log - *Percona Server Only 10
EXPLAIN 11
CREATE TABLE, TABLE STATUS, and INDEXES 12
PMM 2 Where 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 pair pmm-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
Rate My Session 24
Recommend
More recommend