* Remove go-toolkit as build requirement for RPM builds if run in CI
* Remove condition around BuildRequires and use go-toolkit for RPM builds
* use go-toolkit for RPM builds
* Install go-toolkit to fulfill build requirements for RPM
* Add golang-race for UBI9 and Alma9
* Fix wrongly named packages
* Fix wrongly named packages
* Fix Release part
* Fix Release part
* Fix documentation of RAPL collector
* Mark all JSON config fields of message processor as omitempty
* Generate HUGO inputs out of Markdown files
* Check creation of CCMessage in NATS receiver
* Use CCMessage FromBytes instead of Influx's decoder
* Rename 'process_message' to 'process_messages' in metricRouter config
This makes the behavior more consistent with the other modules, which
have their MessageProcessor named 'process_messages'. This most likely
was just a typo.
* Add optional interface alias in netstat (#130)
* Check creation of CCMessage in NATS receiver
* add optional interface aliases for netstatMetric
* small fix
---------
Co-authored-by: Thomas Roehl <thomas.roehl@fau.de>
Co-authored-by: exterr2f <Robert.Externbrink@rub.de>
Co-authored-by: Thomas Gruber <Thomas.Roehl@googlemail.com>
* Fix excluded metrics for diskstat and add exclude_mounts (#131)
* Check creation of CCMessage in NATS receiver
* fix excluded metrics and add optional mountpoint exclude
---------
Co-authored-by: Thomas Roehl <thomas.roehl@fau.de>
Co-authored-by: exterr2f <Robert.Externbrink@rub.de>
Co-authored-by: Thomas Gruber <Thomas.Roehl@googlemail.com>
* Add derived values for nfsiostat (#132)
* Check creation of CCMessage in NATS receiver
* add derived_values for nfsiostatMetric
---------
Co-authored-by: Thomas Roehl <thomas.roehl@fau.de>
Co-authored-by: exterr2f <Robert.Externbrink@rub.de>
Co-authored-by: Thomas Gruber <Thomas.Roehl@googlemail.com>
* Add exclude_devices to iostat (#133)
* Check creation of CCMessage in NATS receiver
* add exclude_device for iostatMetric
* add md file
---------
Co-authored-by: Thomas Roehl <thomas.roehl@fau.de>
Co-authored-by: exterr2f <Robert.Externbrink@rub.de>
Co-authored-by: Thomas Gruber <Thomas.Roehl@googlemail.com>
* Add derived_values for numastats (#134)
* Check creation of CCMessage in NATS receiver
* add derived_values for numastats
* change to ccMessage
* remove vim command artefact
---------
Co-authored-by: Thomas Roehl <thomas.roehl@fau.de>
Co-authored-by: exterr2f <Robert.Externbrink@rub.de>
Co-authored-by: Thomas Gruber <Thomas.Roehl@googlemail.com>
* Fix artifacts of not done cc-lib switch
* Fix artifacts in netstat collector of not done cc-lib switch
* Change to cc-lib (#135)
* Change to ccMessage from cc-lib
* Remove local development path
* Use receiver, sinks, ccLogger and ccConfig from cc-lib
* Fix ccLogger import path
* Update CI
* Delete mountpoint when it vanishes, not just its data (#137)
---------
Co-authored-by: Michael Panzlaff <michael.panzlaff@fau.de>
Co-authored-by: brinkcoder <Robert.Externbrink@ruhr-uni-bochum.de>
Co-authored-by: exterr2f <Robert.Externbrink@rub.de>
* Add cpu_used (all-cpu_idle) to CpustatCollector
* Update cc-metric-collector.init
* Allow selection of timestamp precision in HttpSink
* Add comment about precision requirement for cc-metric-store
* Fix for API changes in gofish@v0.15.0
* Update requirements to latest version
* Read sensors through redfish
* Update golang toolchain to 1.21
* Remove stray error check
* Update main config in configuration.md
* Update Release action to use golang 1.22 stable release, no golang RPMs anymore
* Update runonce action to use golang 1.22 stable release, no golang RPMs anymore
* Update README.md
Use right JSON type in configuration
* Update sink's README
* Test whether ipmitool or ipmi-sensors can be executed without errors
* Little fixes to the prometheus sink (#115)
* Add uint64 to float64 cast option
* Add prometheus sink to the list of available sinks
* Add aggregated counters by gpu for nvlink errors
---------
Co-authored-by: Michael Schwarz <schwarz@uni-paderborn.de>
* Ccmessage migration (#119)
* Add cpu_used (all-cpu_idle) to CpustatCollector
* Update cc-metric-collector.init
* Allow selection of timestamp precision in HttpSink
* Add comment about precision requirement for cc-metric-store
* Fix for API changes in gofish@v0.15.0
* Update requirements to latest version
* Read sensors through redfish
* Update golang toolchain to 1.21
* Remove stray error check
* Update main config in configuration.md
* Update Release action to use golang 1.22 stable release, no golang RPMs anymore
* Update runonce action to use golang 1.22 stable release, no golang RPMs anymore
* Switch to CCMessage for all files.
---------
Co-authored-by: Holger Obermaier <Holger.Obermaier@kit.edu>
Co-authored-by: Holger Obermaier <40787752+ho-ob@users.noreply.github.com>
* Switch to ccmessage also for latest additions in nvidiaMetric
* New Message processor (#118)
* Add cpu_used (all-cpu_idle) to CpustatCollector
* Update cc-metric-collector.init
* Allow selection of timestamp precision in HttpSink
* Add comment about precision requirement for cc-metric-store
* Fix for API changes in gofish@v0.15.0
* Update requirements to latest version
* Read sensors through redfish
* Update golang toolchain to 1.21
* Remove stray error check
* Update main config in configuration.md
* Update Release action to use golang 1.22 stable release, no golang RPMs anymore
* Update runonce action to use golang 1.22 stable release, no golang RPMs anymore
* New message processor to check whether a message should be dropped or manipulate it in flight
* Create a copy of message before manipulation
---------
Co-authored-by: Holger Obermaier <Holger.Obermaier@kit.edu>
Co-authored-by: Holger Obermaier <40787752+ho-ob@users.noreply.github.com>
* Update collector's Makefile and go.mod/sum files
* Use message processor in router, all sinks and all receivers
* Add support for credential file (NKEY) to NATS sink and receiver
* Fix JSON keys in message processor configuration
* Update docs for message processor, router and the default router config file
* Add link to expr syntax and fix regex matching docs
* Update sample collectors
* Minor style change in collector manager
* Some helpers for ccTopology
* LIKWID collector: write log owner change only once
* Fix for metrics without units and reduce debugging messages for messageProcessor
* Use shorted hostname for hostname added by router
* Define default port for NATS
* CPUstat collector: only add unit for applicable metrics
* Add precision option to all sinks using Influx's encoder
* Add message processor to all sink documentation
* Add units to documentation of cpustat collector
---------
Co-authored-by: Holger Obermaier <Holger.Obermaier@kit.edu>
Co-authored-by: Holger Obermaier <40787752+ho-ob@users.noreply.github.com>
Co-authored-by: oscarminus <me@oscarminus.de>
Co-authored-by: Michael Schwarz <schwarz@uni-paderborn.de>
* Provide info to CollectorManager whether the collector can be executed in parallel with others
* Split serial and parallel collectors. Read in parallel first
* Use channels, add a metric router, split up configuration and use extended version of Influx line protocol internally
* Use central timer for collectors and router. Add expressions to router
* Add expression to router config
* Update entry points
* Start with README
* Update README for CCMetric
* Formatting
* Update README.md
* Add README for MultiChanTicker
* Add README for MultiChanTicker
* Update README.md
* Add README to metric router
* Update main README
* Remove SinkEntity type
* Update README for sinks
* Update go files
* Update README for receivers
* Update collectors README
* Update collectors README
* Use seperate page per collector
* Fix for tempstat page
* Add docs for customcmd collector
* Add docs for ipmistat collector
* Add docs for topprocs collector
* Update customCmdMetric.md
* Use seconds when calculating LIKWID metrics
* Add IB metrics ib_recv_pkts and ib_xmit_pkts
* Drop domain part of host name
* Updated to latest stable version of likwid
* Define source code dependencies in Makefile
* Add GPFS / IBM Spectrum Scale collector
* Add vet and staticcheck make targets
* Add vet and staticcheck make targets
* Avoid go vet warning:
struct field tag `json:"..., omitempty"` not compatible with reflect.StructTag.Get: suspicious space in struct tag value
struct field tag `json:"...", omitempty` not compatible with reflect.StructTag.Get: key:"value" pairs not separated by spaces
* Add sample collector to README.md
* Add CPU frequency collector
* Avoid staticcheck warning: redundant return statement
* Avoid staticcheck warning: unnecessary assignment to the blank identifier
* Simplified code
* Add CPUFreqCollectorCpuinfo
a metric collector to measure the current frequency of the CPUs
as obtained from /proc/cpuinfo
Only measure on the first hyperthread
* Add collector for NFS clients
* Move publication of metrics into Flush() for NatsSink
* Update GitHub actions
* Refactoring
* Avoid vet warning: Println arg list ends with redundant newline
* Avoid vet warning struct field commands has json tag but is not exported
* Avoid vet warning: return copies lock value.
* Corrected typo
* Refactoring
* Add go sources in internal/...
* Bad separator in Makefile
* Fix Infiniband collector
Co-authored-by: Holger Obermaier <40787752+ho-ob@users.noreply.github.com>