-
Notifications
You must be signed in to change notification settings - Fork 232
likwid agent
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).
Currently there exists no common init script for likwid-agent. You have to write your own suitable for your OS.
The configuration file has the following options:
-
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 filelikwid.<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 islog
. -
GMETRIC <True/False>
: Activates the output to gmetric. -
GMETRICPATH <path>
: Set path to the gmetric executable. -
GMETRICCONFIG <path>
: Set path to 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 minutes 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'.
The group files are adapted performance group files as used by likwid-perfctr. This makes it easy to use the predefined and often used performance groups as basis for the monitoring. The folder structure of for the groups is /<SHORT_ARCH_NAME>/ with <SHORT_ARCH_NAME> similar to the ones for the performance groups, like 'sandybridge' or 'haswellEP'.
SHORT <string>
EVENTSET
<counter1> <event1>
<counter2>:<option1>:<option2> <event2>
METRICS
<metricname> <formula>
<filter> <metricname> <formula>
LONG
<multi-line string>
The SHORT
keyword prefixes a short descriptive information about the group.
The definition of the EVENTSET
is similar to the performance groups. Each line contains a counter name and the desired event name. If you want to set further options, you can append them separated by colons to the counter name. See likwid-perfctr for details.
The METRICS
keyword starts the definitions 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<cpuid>
. 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.
The last part, started with the LONG
keyword, allows to set further information about the monitoring group. There is currently no output function for this in likwid-agent.
-
Applications
-
Config files
-
Daemons
-
Architectures
- Available counter options
- AMD
- Intel
- Intel Atom
- Intel Pentium M
- Intel Core2
- Intel Nehalem
- Intel NehalemEX
- Intel Westmere
- Intel WestmereEX
- Intel Xeon Phi (KNC)
- Intel Silvermont & Airmont
- Intel Goldmont
- Intel SandyBridge
- Intel SandyBridge EP/EN
- Intel IvyBridge
- Intel IvyBridge EP/EN/EX
- Intel Haswell
- Intel Haswell EP/EN/EX
- Intel Broadwell
- Intel Broadwell D
- Intel Broadwell EP
- Intel Skylake
- Intel Coffeelake
- Intel Kabylake
- Intel Xeon Phi (KNL)
- Intel Skylake X
- Intel Cascadelake SP/AP
- Intel Tigerlake
- Intel Icelake
- Intel Icelake X
- Intel SappireRapids
- Intel GraniteRapids
- Intel SierraForrest
- ARM
- POWER
-
Tutorials
-
Miscellaneous
-
Contributing