Introducing the new PMM 2.0!

查询分析改进 架构更改


1.Introducing The New PMM 2! Michael Coburn Percona

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 2

3.PMM 1 Where it all began

4.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 5

6.AWS Marketplace ● Deploy directly to EC2 ● Running CentOS 7 Search for "pmm" or "Percona Monitoring and Management" 6

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 7

8.Metrics Monitor

9.Query Analytics 9

10.MySQL Slow Log - *Percona Server Only 10



13. PMM 2 Where we are today

14.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

15.Support for Large Environments ● MySQL out - ClickHouse in ● Columnar datastore, wicked fast ● Tested up to 1,000 nodes against one PMM Server

16.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"

17.Filtering ● Standard and Custom labels can be used as filter conditions ● Additional filters include: ○ Client Host ○ Schema ○ Client Username ○ Database Server

18.Sorting ● Sort by any column

19.Add Additional Columns ● Add more columns based on query metadata ● Examples: ○ Rows Examined ○ Temporary Tables ○ Filesort

20.pmm-agent ● Master daemon on your clients ● Runs as root by default ● Launches exporters and Query Analytics agents

21.Inventory Overview ● View lists of Services, Agents, and Nodes configured

22.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

23.Thank You to Our Sponsors

24.Rate My Session 24