LIKWID
likwid-agent

Information

likwid-agent is a daemon application that uses likwid-perfctr to measure hardware performance counters and write them to various output back-ends. The basic configuration is in a global configuration file that must be given on command line. The configuration of the hardware event sets is done with extra files suitable for each architecture. Besides the hardware event configuration, the raw data can be transformed using formulas to interested metrics. In order to output not too much data, the data can be further filtered or aggregated. likwid-agent provides multiple store back-ends like logfiles, RRD (Round Robin Database) or gmetric (Ganglia Monitoring System).

Config file

The global configuration file has the following options:

Option                                               Description
GROUPPATH <path> Path to the group files containing event set and output definitions. See section Group files for information.
EVENTSET <group1> <group2> ... Space separated list of groups (without .txt) that should be monitored.
DURATION <time> Measurement duration in seconds for each group.
LOGPATH <path> Sets the output logfile path for the measured data. Each monitoring group logs to its own file likwid.<group>.log
LOGSTYLE <update/log> Specifies whether new data should be appended to the files (log) or the file should be emptied first (update).
Update is a common option if you read in the data afterwards by some monitoring tool like cacti, nagios, ... Default is log
GMETRIC <True/False> Activates the output to gmetric.
GMETRICPATH <path> Set path to the gmetric executable.
GMETRICCONFIG <path> Set path to a custom gmetric config file.
RRD <True/False> Activates the output to RRD files (Round Robin Database).
RRDPATH <path> Output path for the RRD files. The files are named according to the group and each output metric is saved as DS with function GAUGE. The RRD is configured with RRA entries to store average, minimum and maximum of 10 minutes for one hour, of 60 min for one day and daily data for one month.
SYSLOG <True/False> Activates the output to system log using logger.
SYSLOGPRIO <prio> Set the priority for the system log. The default priority is 'local0.notice'.

Group files

The group files are adapted performance group files as used by likwid-perfctr. This makes it easy to uses the predefined and often used performance groups as basis for the monitoring. The folder structure of for the groups is <GROUPPATH>/<SHORT_ARCH_NAME>/ with <SHORT_ARCH_NAME> similar to the ones for the performance groups, like 'sandybridge' or 'haswellEP'.

Option                                              Description
SHORT <string> A short descriptive information about the group.
EVENTSET
<counter1> <event1>
<counter2>:<option1>:<option2> <event2>
Definition of the eventset similar to the performance groups. See performance_groups for details.
METRICS
<metricname> <formula>
<filter> <metricname> <formula>

Definition of the output metrics. The syntax follows the METRICS definition of the performance groups as used by likwid-perfctr . If no function is set at the beginning of the line, <formula> is evaluated for every CPU and send to the output back-ends. The <metricname> gets the prefix "T&lt;cpuid&gt; ". To avoid writing to much data to the back-ends, the data can be reduced by <filter>. The possible filter options are MIN, MAX, AVG, SUM, ONCE. The ONCE filter sends only the data from the first CPU to the output back-ends commonly used for the measurement duration.

Notice

There is currently no predefined init script for likwid-agent, you have to create it yourself for your distribution. */