Commit Graph
100 Commits
Author SHA1 Message Date
Holger ObermaierandThomas Gruber 35510d3d39 Use strict JSON decoding 2026-03-13 17:57:33 +01:00
Holger ObermaierandThomas Gruber ef5e4c2604 Corrected json config 2026-03-13 17:57:33 +01:00
Holger ObermaierandThomas Gruber 44401318e4 Enable same linters as in CI pipeline 2026-03-13 17:57:33 +01:00
Holger ObermaierandThomas Gruber 2e60d3111c Add config option to exclude metrics 2026-03-13 17:57:33 +01:00
Holger ObermaierandThomas Gruber e8734c02db Add config option for manual device configuration 2026-03-13 17:57:33 +01:00
Holger ObermaierandThomas Gruber 54650d40a6 Store query command for later reuse 2026-03-13 17:57:33 +01:00
Holger ObermaierandThomas Gruber e7050834f5 * Honor config option excluded devices
* Use device type in read command
2026-03-13 17:57:33 +01:00
Holger ObermaierandThomas Gruber 893a0d69de Improve error reporting 2026-03-13 17:57:33 +01:00
Holger ObermaierandThomas Gruber 345119866a Switch from lp.NewMessage to lp.NewMetric 2026-03-13 17:57:33 +01:00
Holger ObermaierandThomas Gruber ec917cf802 Switch from lp.NewMessage to lp.NewMetric 2026-03-13 17:57:33 +01:00
Holger ObermaierandThomas Gruber c7cfc0723b Fix all linter warnings 2026-03-13 17:57:33 +01:00
Holger ObermaierandThomas Gruber 4f2685f4c4 Addapt to new ccMessage syntax 2026-03-13 17:57:33 +01:00
Holger Obermaier eeb60ba0df Add target to build stripped executable 2026-03-12 11:39:43 +01:00
Holger Obermaier a481a34dcd Avoid duplicate error printing 2026-03-12 10:08:23 +01:00
Holger ObermaierandGitHub b65576431e Stricter json parsing (#204) 2026-03-11 15:59:14 +01:00
Holger Obermaier a927565868 Fix router config syntax 2026-03-10 13:51:06 +01:00
Holger Obermaier ddb504c5c6 Fix: Do not overwrite hostname tag if already set (e.g. by receivers) 2026-03-02 15:47:57 +01:00
Holger Obermaier b1d6388624 Add modernize tool to Makefile 2026-02-24 15:38:13 +01:00
Holger Obermaier d639c942d5 Fix: Close file /proc/cpuinfo only once 2026-02-20 14:01:51 +01:00
Holger Obermaier 539581f952 Format with gofumpt 2026-02-16 14:16:03 +01:00
Holger Obermaier 9bb21b807a Remove depreceated function ccTopology.CpuList() 2026-02-16 11:34:54 +01:00
Holger Obermaier 47e68dfd2f Remove debug output 2026-02-16 11:02:50 +01:00
Holger Obermaier 40fe94cabb Embedded types should be at the top of the field list of a struct.
And there should be an empty line separating embedded fields from regular fields
2026-02-16 10:54:12 +01:00
Holger Obermaier 83720aa5be Use cc-lib lp.FromBytes, do not use influxdb client directly 2026-02-16 09:57:24 +01:00
Holger Obermaier 5829f86f4a Goroutine creation can be simplified using WaitGroup.Go (modernize) 2026-02-13 15:52:36 +01:00
Holger Obermaier 3eaea4ca62 upgraded go 1.24.0 => 1.25.0 2026-02-13 15:41:50 +01:00
Holger ObermaierandGitHub 64dab777a5 Replace deprecated functions (#198)
Replace depreceated functions
2026-02-13 15:15:17 +01:00
Holger ObermaierandGitHub 9908d76aac Cleanup (#197)
* Removed unused code
* Use cclog for logging
* Wrap errors so that they can be unwrapped
* Revert wrong use of slices.Delete()
* Fix derivative values should be float
* Suggestions from the gocritic linter
* Fixed: interface method AddChannel must have all named params (inamedparam)
* Enable linter: errorlint
* Replace fmt.Sprintf("%d", i)) by strconv.Itoa(i) for improved performance
* Correct misspelled words
* Break up very long lines into multiple lines
* lp.NewMessage -> lp.NewMetric
* Preallocate slices of known length
2026-02-13 09:36:14 +01:00
Holger ObermaierandGitHub fc297854d2 Golangci modernize fixes (#196)
* Fix: Loop can be simplified using slices.Contains
* Fix: for loop can be modernized using range over int
* Fix: interface{} can be replaced by any
* Fix: Replace m[k]=v loop with maps.Copy
* Run all linters with golangci-lint
2026-02-10 13:33:04 +01:00
Holger ObermaierandGitHub cca0d23efa Golangci lint fixes (#195)
* Add golangci-lin as make target
* Fix: could omit type ... from declaration; it will be inferred from the right-hand side (staticcheck)
* Fix func intArrayContains is unused (unused)
* Fix: could use strings.ReplaceAll instead (staticcheck)
* Fix: could expand call to math.Pow (staticcheck)
* Fix: could use tagged switch on `...` (staticcheck)
* Fix: Error return value of `...` is not checked (errcheck)
* Fix: ineffectual assignment to err (ineffassign)
* Fix: There is no need to wait for command completion
* Add cpustat, diskstat and schedstat config
* Use slices to exclude metrics
* Replaced stringArrayContains by slices.Contains
* Replace m[k]=v loop with maps.Copy
* Use module slices from the standard library. Remove use of golang.org/x/exp/slices
* Use SplitSeq and max to modernize code
2026-02-09 14:51:31 +01:00
Holger ObermaierandGitHub 7cff283001 Update ci (#192)
Add static analysis with GolangCI-Lint, govet and staticcheck
2026-01-23 14:39:39 +01:00
Holger ObermaierandGitHub fa45d0d973 Update ci (#191)
* Add UBI 10 build
* Add Almalinux 10 build
* Use Appstream Repository from Red Hat Universal Base Image
* Use Appstream Repository from Almalinux
2026-01-21 15:20:12 +01:00
Holger ObermaierandGitHub e70fd658f0 Update CI pipeline (#189)
* Updated Action "checkout" and "Setup golang"
* Update go-toolset to latest version
* Add golang-race dependency
* Update download-artifact and upload-artifact
2026-01-15 14:35:43 +01:00
Holger Obermaier 1ba08cd148 Add new requirements to module file 2022-12-23 11:42:46 +01:00
Holger Obermaier b78e83b055 Do not allow unknown fields in JSON configuration file 2022-12-08 14:15:56 +01:00
Holger Obermaier 56b41a9e57 Updated to latest package versions 2022-12-06 14:12:21 +01:00
Holger Obermaier ae98807ace Some servers return "ConsumedPowerWatt":65535 instead of "ConsumedPowerWatt":null 2022-12-06 13:40:22 +01:00
Holger Obermaier 31a8e63d72 Use package hostlist to expand a host list 2022-12-01 09:48:34 +01:00
Holger Obermaier 6f1f33f3a5 Use package hostlist to expand a host list 2022-12-01 09:25:40 +01:00
Holger Obermaier a29f0c7e3b Added tests for hostlist Expand() 2022-11-29 17:21:09 +01:00
Holger Obermaier 4fb6ac0140 Add hostlist package 2022-11-29 14:04:31 +01:00
Holger Obermaier 5918f96fd8 Minimal formating changes 2022-11-24 09:48:44 +01:00
Holger Obermaier 8cb87a2165 Add IPMI receiver example configuration to receivers.json 2022-11-23 10:37:31 +01:00
Holger Obermaier 3e91a37dee remove prefix enumeration like 01-... 2022-11-22 17:02:29 +01:00
Holger Obermaier ed68baeada Add IPMI metric: current 2022-11-22 15:32:41 +01:00
Holger Obermaier 888db31dbf Try to use common metric tags across hardware vendors 2022-11-22 15:09:56 +01:00
Holger Obermaier 18bffd7c14 Add documentaion for IPMI receiver 2022-11-21 13:58:30 +01:00
Holger Obermaier bd0105b370 Added config option to add ipmi-sensors command line options 2022-11-21 13:02:46 +01:00
Holger Obermaier b1a8674c4c Add receiver to gather remote IPMI sensor metrics 2022-11-18 16:55:11 +01:00
Holger Obermaier 234ad3c54e Fix kernel panic for receiver config with missing receiver type 2022-11-17 11:33:13 +01:00
Holger Obermaier 7bb80780e0 Fixed computing number of physical packages for non continous physical package IDs (e.g. on Ampere Altra Q80-30) 2022-11-16 14:58:11 +01:00
Holger Obermaier e66d52bb32 * Corrected json config in numastatsMetric.md
* Added some debug output to numastatsMetric.go
2022-11-16 14:10:25 +01:00
Holger Obermaier 9840d0193d Do not mess up with the orignal configuration 2022-11-16 09:37:40 +01:00
Holger Obermaier ce7eef8d30 Add running average power limit (RAPL) metric collector 2022-11-15 17:15:27 +01:00
Holger Obermaier 92e45ca62c Add running average power limit (RAPL) metric collector 2022-11-15 17:09:26 +01:00
Holger Obermaier fd10a279fc Corrected some typos 2022-11-14 09:35:02 +01:00
Holger Obermaier 9e63d0ea59 Run ipmitool asynchron. Improved error handling. 2022-11-11 16:16:14 +01:00
Holger Obermaier deb1bcfa2f Correct type: /proc/stats -> /proc/stat 2022-10-13 15:01:39 +02:00
Holger Obermaier 7a67d5e25f Check if at least one CPU with frequency information was detected 2022-10-13 14:53:55 +02:00
Holger Obermaier 503705d442 Allow multiple hosts to share the same client configuration 2022-08-26 11:55:53 +02:00
Holger Obermaier 7ccbf1ebe2 Allow global configuration for redfish devices username, password and endpoint. 2022-08-25 16:47:44 +02:00
Holger Obermaier 60ef0ed116 Fix for servers, which do not set status.state for thermals or powercontrols 2022-08-17 17:37:24 +02:00
Holger Obermaier a8beec29cc Skip non existing processor metrics URLs 2022-08-17 15:11:21 +02:00
Holger Obermaier 0dd430e7e9 Refactor redfishReceiver. 2022-08-16 15:14:20 +02:00
Holger Obermaier f7b39d027b url.JoinPath requires go 1.19. For now stay compatible with go 1.18 2022-08-15 15:25:59 +02:00
Holger Obermaier eaf8b1941d ioutils is depreceated 2022-08-15 15:25:20 +02:00
Holger Obermaier 62f6e4151a Added readProcessorMetrics to read read thermal an power metrics per CPU / GPU 2022-08-15 15:11:29 +02:00
Holger Obermaier acd092a977 Add redfish receiver documentation 2022-08-11 15:36:18 +02:00
Holger Obermaier 6eb8e3a1f5 Corrected comments. Added additional check 2022-08-10 17:00:47 +02:00
Holger Obermaier 8ba33568a6 Add reading of fan speeds 2022-08-10 16:24:21 +02:00
Holger Obermaier 2ca0359744 Add support to read thermal metrics 2022-08-10 10:30:59 +02:00
Holger Obermaier f818bf4c11 Read durations as string from json config 2022-07-22 17:48:11 +02:00
Holger Obermaier aedc1be277 Set HTTP timeout for redfish device connections 2022-07-22 12:06:02 +02:00
Holger Obermaier c75d394e11 Corrected json syntax for interval and duration 2022-07-14 16:07:45 +02:00
Holger Obermaier bae36473f7 Minimum requirement: golang version >= 1.18 2022-07-14 13:55:48 +02:00
Holger Obermaier 04819d9db2 Use mutex to ensure only on flush timer is running 2022-06-24 09:08:20 +02:00
Holger Obermaier 9ccc5a6ca7 Allow only one timer at a time 2022-06-23 21:53:02 +02:00
Holger Obermaier b7dcbaebcf Add drop rate, when send buffer is full 2022-06-23 18:27:03 +02:00
Holger Obermaier a3ac8f2ead Check that at least one sink is running 2022-06-23 15:44:02 +02:00
Holger Obermaier 8e7143a20a Updated to latest modules 2022-06-23 11:49:18 +02:00
Holger Obermaier 3a10f7cfdb Add memstats and topprocs metric 2022-06-23 11:44:06 +02:00
Holger Obermaier 0ca6d1a794 Improved dropping of metrics failed to send 2022-06-21 07:59:24 +02:00
Holger Obermaier 580d21d8bb Fix: When sending metrics failed the batch size could be exceeded 2022-06-20 18:06:27 +02:00
Holger Obermaier ee4bd558f1 Cleanup: Remove unused code 2022-05-06 11:44:57 +02:00
Holger Obermaier 186a62a86b Fix: influx sink ignores config batch_size.
Feature: Add Redfish receiver
2022-05-04 13:00:56 +02:00
Holger Obermaier e098c33179 Add some golang debug options 2022-05-04 12:48:46 +02:00
Holger Obermaier c35ac9dba8 Flush if batch size is reached 2022-05-04 11:28:06 +02:00
Holger Obermaier c019f8e7ad Reuse tags and meta data tags 2022-05-03 17:55:33 +02:00
Holger Obermaier fb6f6a4daa Fix GPFS collector last state handling 2022-05-02 16:57:19 +02:00
Holger Obermaier 9d6d0dbd93 Delete empty tags and meta data tags 2022-04-20 14:39:26 +02:00
Holger Obermaier c2d4272fdf Clear workerInput channel after done event 2022-04-20 12:36:45 +02:00
Holger Obermaier 8c73095548 Allow to shutdown redfish receiver during metric read 2022-04-20 09:58:02 +02:00
Holger Obermaier 31c5c89a5a Fix: Close done channel 2022-04-19 14:01:23 +02:00
Holger Obermaier bf9c7e1830 Update requirements 2022-04-19 12:15:51 +02:00
Holger Obermaier 48d34bf564 Adopt sinks.json for new meta_as_tags usage 2022-04-19 12:06:53 +02:00
Holger Obermaier a1d85fa886 Add redfish receiver 2022-04-19 12:05:03 +02:00
Holger Obermaier 96ee16398e Removed unused done channel and wg wait group 2022-04-19 11:53:11 +02:00
Holger Obermaier e7b8088c41 Extended go routine use case in sample receiver 2022-04-19 11:42:46 +02:00
Holger Obermaier 992b19d354 Move unit tag to meta data tags 2022-03-11 14:47:18 +01:00
Holger Obermaier 0b08ca9ae0 Simplified iota usage 2022-03-11 14:09:22 +01:00