diff options
Diffstat (limited to 'src/go/collectors/go.d.plugin/modules/storcli/charts.go')
-rw-r--r-- | src/go/collectors/go.d.plugin/modules/storcli/charts.go | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/storcli/charts.go b/src/go/collectors/go.d.plugin/modules/storcli/charts.go index 65cd75a331..f12b2d1a78 100644 --- a/src/go/collectors/go.d.plugin/modules/storcli/charts.go +++ b/src/go/collectors/go.d.plugin/modules/storcli/charts.go @@ -18,6 +18,8 @@ const ( prioPhysDrivePredictiveFailures prioPhysDriveSmartAlertStatus prioPhysDriveTemperature + + prioBBUTemperature ) var controllerChartsTmpl = module.Charts{ @@ -106,7 +108,7 @@ var ( physDriveTemperatureChartTmpl = module.Chart{ ID: "phys_drive_%s_cntrl_%s_temperature", Title: "Physical Drive temperature", - Units: "status", + Units: "Celsius", Fam: "pd temperature", Ctx: "storcli.phys_drive_temperature", Type: module.Line, @@ -117,6 +119,25 @@ var ( } ) +var bbuChartsTmpl = module.Charts{ + bbuTemperatureChartTmpl.Copy(), +} + +var ( + bbuTemperatureChartTmpl = module.Chart{ + ID: "bbu_%s_cntrl_%s_temperature", + Title: "BBU temperature", + Units: "Celsius", + Fam: "bbu temperature", + Ctx: "storcli.bbu_temperature", + Type: module.Line, + Priority: prioBBUTemperature, + Dims: module.Dims{ + {ID: "bbu_%s_cntrl_%s_temperature", Name: "temperature"}, + }, + } +) + func (s *StorCli) addControllerCharts(cntrl controllerInfo) { charts := controllerChartsTmpl.Copy() @@ -141,7 +162,7 @@ func (s *StorCli) addControllerCharts(cntrl controllerInfo) { func (s *StorCli) addPhysDriveCharts(cntrlNum int, di *driveInfo, ds *driveState, da *driveAttrs) { charts := physDriveChartsTmpl.Copy() - if _, ok := parseInt(getDriveTemperature(ds.DriveTemperature)); !ok { + if _, ok := parseInt(getTemperature(ds.DriveTemperature)); !ok { _ = charts.Remove(physDriveTemperatureChartTmpl.ID) } @@ -169,3 +190,23 @@ func (s *StorCli) addPhysDriveCharts(cntrlNum int, di *driveInfo, ds *driveState s.Warning(err) } } + +func (s *StorCli) addBBUCharts(cntrlNum, bbuNum, model string) { + charts := bbuChartsTmpl.Copy() + + for _, chart := range *charts { + chart.ID = fmt.Sprintf(chart.ID, bbuNum, cntrlNum) + chart.Labels = []module.Label{ + {Key: "controller_number", Value: cntrlNum}, + {Key: "bbu_number", Value: bbuNum}, + {Key: "model", Value: model}, + } + for _, dim := range chart.Dims { + dim.ID = fmt.Sprintf(dim.ID, bbuNum, cntrlNum) + } + } + + if err := s.Charts().Add(*charts...); err != nil { + s.Warning(err) + } +} |