diff --git a/collectors/collectorManager.go b/collectors/collectorManager.go index ee116c7..2f1423e 100644 --- a/collectors/collectorManager.go +++ b/collectors/collectorManager.go @@ -9,6 +9,7 @@ package collectors import ( "encoding/json" + "fmt" "sync" "time" @@ -104,7 +105,7 @@ func (cm *collectorManager) Init(ticker mct.MultiChanTicker, duration time.Durat err = collector.Init(collectorCfg) if err != nil { - cclog.ComponentError("CollectorManager", "Collector", collectorName, "initialization failed:", err.Error()) + cclog.ComponentError("CollectorManager", fmt.Sprintf("Collector %s initialization failed: %v", collectorName, err)) continue } cclog.ComponentDebug("CollectorManager", "ADD COLLECTOR", collector.Name()) diff --git a/collectors/netstatMetric.go b/collectors/netstatMetric.go index e6b901f..877e83c 100644 --- a/collectors/netstatMetric.go +++ b/collectors/netstatMetric.go @@ -10,7 +10,6 @@ package collectors import ( "bufio" "encoding/json" - "errors" "fmt" "os" "slices" @@ -111,10 +110,8 @@ func (m *NetstatCollector) Init(config json.RawMessage) error { // Check access to net statistic file file, err := os.Open(NETSTATFILE) if err != nil { - cclog.ComponentError(m.name, err.Error()) - return err + return fmt.Errorf("%s Init(): failed to open netstat file \"%s\": %w", m.name, NETSTATFILE, err) } - defer file.Close() scanner := bufio.NewScanner(file) for scanner.Scan() { @@ -178,8 +175,13 @@ func (m *NetstatCollector) Init(config json.RawMessage) error { } } + // Close netstat file + if err := file.Close(); err != nil { + return fmt.Errorf("%s Init(): failed to close netstat file \"%s\": %w", m.name, NETSTATFILE, err) + } + if len(m.matches) == 0 { - return errors.New("no devices to collector metrics found") + return fmt.Errorf("%s Init(): no devices to collect metrics found", m.name) } m.init = true return nil