mirror of
https://github.com/ClusterCockpit/cc-metric-collector.git
synced 2025-10-26 06:35:07 +01:00
This folder contains the collectors for the cc-metric-collector.
metricCollector.go
The base class/configuration is located in metricCollector.go.
Collectors
memstatMetric.go: Reads/proc/meminfoto calculate the node metricmem_usedloadavgMetric.go: Reads/proc/loadavgand submits the node metrics:load_oneload_fiveload_fifteen
netstatMetric.go: Reads/proc/net/devand submits for all network devices (except loopbacklo) the node metrics:<dev>_bytes_in<dev>_bytes_out<dev>_pkts_in<dev>_pkts_out
lustreMetric.go: Reads Lustre's stats file/proc/fs/lustre/llite/lnec-XXXXXX/statsand submits the node metrics:read_bytesread_requestswrite_byteswrite_bytesopenclosegetattrsetattrstatfsinode_permission
infinibandMetric.go: Reads InfiniBand LID from/sys/class/infiniband/mlx4_0/ports/1/lidand uses theperfquerycommand to read the node metrics:ib_recvib_xmit
likwidMetric.go: Reads hardware performance events using LIKWID. It submits socket and cpu metrics:mem_bw(socket)power(socket, Sum of RAPL domains PKG and DRAM)flops_dp(cpu)flops_sp(cpu)flops_any(cpu,2*flops_dp + flops_sp)cpi(cpu)clock(cpu)
Installation
Only the likwidMetric.go requires preparation steps. For this, the Makefile can be used. The LIKWID build needs to be configured:
- Version of LIKWID in
LIKWID_VERSION - Target user for LIKWID's accessdaemon in
DAEMON_USER. The user has to have enough permissions to read themsrandpcidevice files - Target group for LIKWID's accessdaemon in
DAEMON_GROUP
It performs the following steps:
- Download LIKWID tarball
- Unpacking
- Adjusting configuration for LIKWID build
- Build it
- Copy all required files into
collectors/likwid - The accessdaemon is installed with the suid bit set using
sudoalso intocollectors/likwid