Monitored hosts run the Performance Metrics Collector Daemon (PMCD), which communicates with one or many Performance Metrics Domain Agents (PMDAs) on the same host. Each PMDA is responsible for gathering metrics of one specific domain - e.g., the kernel, services (e.g., PostgreSQL), or other instrumented applications. The pmlogger daemon records metrics from pmcd and stores them in archive files on the hard drive.
Since PCP 5 metrics can also be stored in the redis database, which allows multi-host performance analysis, the pmproxy daemon discovers new archives (created by pmlogger) and stores them in a redis database.
Performance Co-Pilot metrics can be analyzed with Grafana dashboards, using the grafana-pcp plugin. There are two modes available:
- historical metrics across multiple hosts using the PCP Redis datasource
- live, on-host metrics using the PCP Vector datasource
The PCP Redis datasource sends pmseries queries to pmproxy, which in turn queries the redis database for metrics. The PCP Vector datasource connects to pmproxy, which in turn requests live metrics directly from a local or remote PMCD. In this case, metrics are stored temporarily in the browser, and metric values are lost when the browser tab is refreshed. The PCP Redis datasource is required for persistence.