From 798e0f745ac7002a8310f9fc8a54bbf8eb16b6bf Mon Sep 17 00:00:00 2001 From: Felix Peters Date: Sat, 20 Apr 2024 22:58:21 +0200 Subject: [PATCH] refactor: replace namespace to flxpeters --- collector/chassis_collector.go | 6 ++++-- collector/manager_collector.go | 6 ++++-- collector/redfish_collector.go | 8 +++++--- collector/system_collector.go | 6 ++++-- go.mod | 2 +- main.go | 2 +- 6 files changed, 19 insertions(+), 11 deletions(-) diff --git a/collector/chassis_collector.go b/collector/chassis_collector.go index 72a4a71..8d92a4f 100755 --- a/collector/chassis_collector.go +++ b/collector/chassis_collector.go @@ -34,6 +34,7 @@ var ( type ChassisCollector struct { redfishClient *gofish.APIClient metrics map[string]Metric + logger *slog.Logger collectorScrapeStatus *prometheus.GaugeVec } @@ -87,12 +88,13 @@ func createChassisMetricMap() map[string]Metric { } // NewChassisCollector returns a collector that collecting chassis statistics -func NewChassisCollector(redfishClient *gofish.APIClient) *ChassisCollector { +func NewChassisCollector(redfishClient *gofish.APIClient, logger *slog.Logger) *ChassisCollector { // get service from redfish client return &ChassisCollector{ redfishClient: redfishClient, metrics: chassisMetrics, + logger: logger, collectorScrapeStatus: prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: namespace, @@ -116,7 +118,7 @@ func (c *ChassisCollector) Describe(ch chan<- *prometheus.Desc) { // Collect implemented prometheus.Collector func (c *ChassisCollector) Collect(ch chan<- prometheus.Metric) { - logger := slog.Default().With(slog.String("collector", "ChassisCollector")) + logger := c.logger.With(slog.String("collector", "ChassisCollector")) service := c.redfishClient.Service // get a list of chassis from service diff --git a/collector/manager_collector.go b/collector/manager_collector.go index 2278f08..b0de911 100755 --- a/collector/manager_collector.go +++ b/collector/manager_collector.go @@ -23,6 +23,7 @@ var ( type ManagerCollector struct { redfishClient *gofish.APIClient metrics map[string]Metric + logger *slog.Logger collectorScrapeStatus *prometheus.GaugeVec } @@ -39,10 +40,11 @@ func createManagerMetricMap() map[string]Metric { } // NewManagerCollector returns a collector that collecting memory statistics -func NewManagerCollector(redfishClient *gofish.APIClient) *ManagerCollector { +func NewManagerCollector(redfishClient *gofish.APIClient, logger *slog.Logger) *ManagerCollector { return &ManagerCollector{ redfishClient: redfishClient, metrics: managerMetrics, + logger: logger, collectorScrapeStatus: prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: namespace, @@ -66,7 +68,7 @@ func (m *ManagerCollector) Describe(ch chan<- *prometheus.Desc) { // Collect implemented prometheus.Collector func (m *ManagerCollector) Collect(ch chan<- prometheus.Metric) { - logger := slog.Default().With(slog.String("collector", "ManagerCollector")) + logger := m.logger.With(slog.String("collector", "ManagerCollector")) service := m.redfishClient.Service // get a list of managers from service diff --git a/collector/redfish_collector.go b/collector/redfish_collector.go index 8d6dae7..cdb2ebe 100755 --- a/collector/redfish_collector.go +++ b/collector/redfish_collector.go @@ -39,13 +39,15 @@ type RedfishCollector struct { func NewRedfishCollector(host string, username string, password string) *RedfishCollector { var collectors map[string]prometheus.Collector + targetLogger := slog.Default().With(slog.String("target", host)) + redfishClient, err := newRedfishClient(host, username, password) if err != nil { slog.Error("error creating redfish client", slog.Any("error", err)) } else { - chassisCollector := NewChassisCollector(redfishClient) - systemCollector := NewSystemCollector(redfishClient) - managerCollector := NewManagerCollector(redfishClient) + chassisCollector := NewChassisCollector(redfishClient, targetLogger) + systemCollector := NewSystemCollector(redfishClient, targetLogger) + managerCollector := NewManagerCollector(redfishClient, targetLogger) collectors = map[string]prometheus.Collector{ "chassis": chassisCollector, diff --git a/collector/system_collector.go b/collector/system_collector.go index f214136..2b7ea43 100755 --- a/collector/system_collector.go +++ b/collector/system_collector.go @@ -33,6 +33,7 @@ var ( type SystemCollector struct { redfishClient *gofish.APIClient metrics map[string]Metric + logger *slog.Logger prometheus.Collector collectorScrapeStatus *prometheus.GaugeVec } @@ -93,10 +94,11 @@ func createSystemMetricMap() map[string]Metric { } // NewSystemCollector returns a collector that collecting memory statistics -func NewSystemCollector(redfishClient *gofish.APIClient) *SystemCollector { +func NewSystemCollector(redfishClient *gofish.APIClient, logger *slog.Logger) *SystemCollector { return &SystemCollector{ redfishClient: redfishClient, metrics: systemMetrics, + logger: logger, collectorScrapeStatus: prometheus.NewGaugeVec( prometheus.GaugeOpts{ Namespace: namespace, @@ -119,7 +121,7 @@ func (s *SystemCollector) Describe(ch chan<- *prometheus.Desc) { // Collect implements prometheus.Collector. func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { - logger := slog.Default().With(slog.String("collector", "SystemCollector")) + logger := s.logger.With(slog.String("collector", "SystemCollector")) service := s.redfishClient.Service // get a list of systems from service diff --git a/go.mod b/go.mod index 8a8425b..51f425a 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/jenningsloy318/redfish_exporter +module github.com/flxpeters/redfish_exporter go 1.21 diff --git a/main.go b/main.go index 3ee44b8..a52efcc 100755 --- a/main.go +++ b/main.go @@ -11,8 +11,8 @@ import ( "log/slog" + "github.com/flxpeters/redfish_exporter/collector" kitlog "github.com/go-kit/log" - "github.com/jenningsloy318/redfish_exporter/collector" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp"