DPM Agent Plugins

Here’s a quick overview of the functionality of each Database Performance Monitor plugin.

vc-agent-007

This plugin gathers basic identifying information about the host operating system and database server (MySQL, PostgreSQL, etc.), and registers them with the DPM API so the agent can refer to a host ID when sending metrics. It installs, upgrades, starts, stops, and supervises the other plugins. No commands are ever pushed to the supervisor. Instead, commands are pulled periodically; your host does not need to accept connections from the open internet. If vc-agent-007 is shut down it must be started again on the machine itself.

vc-aggregator

This is an aggregator/gateway similar to StatsD. It listens for UDP packets with time-series metrics and periodically sends these metrics to the DPM APIs. If for whatever reason the DPM API is unavailable, vc-aggregator automatically sends data to our secure S3 backup.

query plugins

When capturing query information via TCP sniffing, DPM uses a query plugin for each database server. The query plugin is a passive observer, decoding network traffic and sending data to the aggregator. It does not intercept any database traffic and does not affect database performance. The query plugin also captures query samples if this feature is enabled.

Each query plugin is named for the database technology it is monitoring: vc-mysql-query, vc-pgsql-query, etc.

metrics plugins

The metrics plugin captures database health and status information. When monitoring remote hosts where the agent cannot be installed directly, such as Amazon RDS and Aurora, this plugin also captures query information. Depending on the database type, query data and database metrics come from the following sources:

Database Technology Database Metrics Data Sources Query Data Sources (Off-Host)
MySQL SHOW STATUS, SHOW PROCESSLIST, SHOW ENGINE STATUS, SHOW SLAVE STATUS, etc. events_statements_summary_by_digest, events_statements_history_long
PostgreSQL pg_stat_activity, pg_stat_database, pg_stat_bgwriter pg_stat_statements, pg_stat_activity
MongoDB serverStatus(), currentOp() TCP sniffing only
Redis INFO TCP sniffing only

More information about the specific metrics captured can be found in our metrics documentation.

Each metric plugin is named for the database technology it is monitoring: vc-mysql-metrics, vc-pgsql-metrics, etc.

vc-os-metrics

This agent plugin reads data from the /proc filesystem and sends metrics such as disk, CPU, memory, and network stats to vc-aggregator. More information about the metrics it collects can be found in the os section of our metrics documentation.