ganglia2pcp — import ganglia data and create a PCP archive
ganglia2pcp [-d outdir] [-e end] [-f outfile] [-h hostname] [-s start] [-Z timezone] input_dir
ganglia2pcp is intended to read a set of ganglia files stored in the rrd format and translate them into a Performance Co-Pilot (PCP) archive with the basename outfile.
The intent of this converter is to take all of the rrd files found in the input_dir and generate a single pcp archive file. The mapping of ganglia metrics to pcp metrics is defined internally.
The resultant PCP achive may be used with all the PCP client tools to graph subsets of the data using pmchart(1), perform data reduction and reporting, filter with the PCP inference engine pmie(1), etc.
A series of physical files will be created with the prefix outfile. These are outfile.0 (the performance data), outfile.meta (the metadata that describes the performance data) and outfile.index (a temporal index to improve efficiency of replay operations for the archive). If any of these files exists already, then sar2pcp will not overwrite them and will exit with an error message of the form
__pmLogNewFile: “blah.0” already exists, not over-written
ganglia2pcp is a Perl script that uses the PCP::LogImport Perl wrapper around the PCP libpcp_import library, and as such could be used as an example to develop new tools to import other types of performance data and create PCP archives. The RRDs Perl wrapper is used to parse the raw rrd format files.
The available command line options are:
- -d outdir
The outdir argument specifies a output to write to. The default is the current directory.
- -e end
The end argument specifies a end time in a format understood by str2time. The default start time is current time.
- -f outfile
The outfile argument specifies a output file name. The default name is in the standard pmlogger format based on the start time, e.g., 20150201.00.10.
- -h hostname
The hostname argument specifies a hostname to write to the archive. The default is taken from the directory name that the rrd files reside in.
- -s start
The start argument specifies a start time in a format understood by str2time. The default start time is 24 prior to current time.
- -Z timezone
The timezone argument sets the source timezone in the PCP archive (the default is to use the local timezone). The timezone must have the format +HHMM (for hours and minutes East of UTC) or -HHMM (for hours and minutes West of UTC) or UTC. Note in particular that neither the zoneinfo (aka Olson) format, e.g. Europe/Paris, nor the Posix TZ format, e.g. EST+5 is allowed. Example: timezone=“+1100”.
Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configuration file, as described in pcp.conf(5).
pmie(1), pmchart(1), pmlogger(1), pmlogextract(1), pmlogsummary(1), Date::Parse(3pm), Date::Format(3pm), PCP::LogImport(3pm), RRDs(3pm) and LOGIMPORT(3).