pcp2graphite(1) pcp-to-graphite metrics exporter


pcp2graphite [-h hostspec] [-a archive] [-L] [-O origin] [-T finish] [-s samples] [-t delta] [-g graphitehost] [-p pickleport] [-P textport] [-r pickleprotocol] [-u units] [-m prefix] metricname ...


pcp2graphite is a PCP metric exporter. It relays hierarchies of the pmns(5) to a designated Graphite (Carbon/Whisper) database by periodically polling, then copying/converting relevant numerical metrics across the Graphite "text" or "pickled" TCP protocols. Metric values are optionally scaled to a given unit/scale, but are not rate-converted. Metric names may be prefixed and are somewhat canonicalized to fit the Graphite namespace rules.

The data transfer will continue on a best-effort basis until the program is interrupted. Temporary errors are ignored. Multiple copies of this program may be run in parallel, to populate different Graphite databases or subtrees, with different scaling or sampling intervals.

The pmmgr(1) daemon can be used to ensure one or more pcp2grapite instances start at system boot time.


-h hostspec
Extract metrics from the specified pmcd(1) daemon, using a host specification as described on PCPIntro(1). The default is local:.
-a archive
Extract metrics from the given set of archives, which is a comma-separated list of names, each of which may be the base name of an archive or the name of a directory containing one or more archives.
Extract metrics from the local context PCP PMDAs.
-t delta
Specify the polling interval in seconds. If live, polling is aligned to natural multiples of this interval. The default is 60 seconds.
-O origin
Set the time origin for archive scanning. The default is the start of the set of archives.
-T finish
Set the time finish for archive scanning. The default is the end of the set of archives.
-s samples
Set the maximum number of samples to relay. The default is unlimited.
-g graphitehost
Specify the graphite carbon-cache server where the relayed data is to be relayed. The default is localhost.
-p pickleport
Select the more efficient "pickled" encoding for carbon-cache communication, and use the given TCP port. This is the default, using port 2004.
-P textport
Alternately, select the less efficient "text" encoding for carbon-cache communication, and use the given TCP port. This protocol is not default, because it requires a separate TCP connection for each metric. The typical port is 2003.
-r pickleprotocol
Select the protocol for the "pickled" encoding. The possible values are:
  • 0 - ASCII protocol (the slowest),
  • 1 - old binary protocol - pre Python 2.3,
  • 2 - new binary protocol introduced in Python 2.3.
The default is 0.
-u units
Rescale the metrics to the given UNITS string, as parsed by the pmParseUnitsStr(3) function. This must be dimensionally consistent with the underlying PCP metric. The default is to perform no scaling.
-m prefix
Use the given string as a prefix for all PMNS metrics relayed to Graphite. The default is pcp. (note the period at the end).
Relay all numeric metrics nested at or below the given name in the PMNS. This option may be repeated. This is a compulsory option, having no default.