Monitor RDS using PMMMykola Marzhan
Version: 27.02.18
Mykola MarzhanRelease Engineer, Percona
AWS Certified Solutions Architect - Professional
I have been developing monitoring systems since 2004.
CHAPTER 1: WHAT RDS IS?
AMAZON RELATIONAL DATABASE SERVICE
CHAPTER 2: WHAT PMM IS?
FREE, OPEN SOURCE DATABASE MONITORING PLATFORM FOR
MYSQL AND MONGODB
PERCONA MONITORING AND MANAGEMENT
ON-PREMISES SOLUTION (NOT A SAAS)
PERCONA MONITORING AND MANAGEMENT
PERCONA MONITORING AND MANAGEMENT
➤ Provides metric informationfor database/os performance optimization
➤ Displays current queries and statisticsfor query optimization
CHAPTER 3: HOW TO RUN TOGETHER?
+
RDS
=
PMM PERFORMANCE
ENABLE PERFORMANCE_SCHEMA
(TO COLLECT QUERY ANALYTICS DATA)
AMAZON RELATIONAL DATABASE SERVICE
ENABLEENHANCED MONITORING
(TO COLLECT OS LEVEL METRICS)
AMAZON RELATIONAL DATABASE SERVICE
➤ Don’t use T2 instances for RDSthey don’t have enough resources to handle replication and performance_schema load
➤ Use Elastic IP for PMM instanceto preserve Public IP between reboots
➤ Create separate DB userto provide only needed, read-only rights for PMM
➤ Create separate IAM User/Roleto provide only needed, read-only rights for PMM
AMAZON RDS RECOMMENDATIONS
GRANT SELECT, PROCESS, REPLICATION CLIENT, RELOAD ON *.* TO '<DB_USER>'@'%' IDENTIFIED BY '<DB_PASSWORD>' WITH MAX_USER_CONNECTIONS 10;
GRANT SELECT, UPDATE, DELETE, DROP ON performance_schema.* TO '<DB_USER>'@'%';
DATABASE USER PERMISSIONS
{ "Version": "2012-10-17", "Statement": [{ "Sid": "Stmt1508404837003", "Effect": "Allow", "Action": [ "rds:DescribeDBInstances", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics" ], "Resource": ["*"] }, { "Sid": "Stmt1508410723001", "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:GetLogEvents", "logs:FilterLogEvents" ], "Resource": ["arn:aws:logs:*:*:log-group:RDSOSMetrics:*"] } ]}
IAM PERMISSIONS
LIVE DEMO
AMAZON RELATIONAL DATABASE SERVICE➤ Create Parameter
group
➤ Apply Parameter group to RDS instance
➤ Enable enhanced monitoring
➤ Create separate IAM User/Role
➤ Create separate DB user
➤ Start PMM instance
➤ Assign Elastic IP
➤ Update PMM
Mykola Marzhan [email protected]