summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/storcli/charts.go
diff options
context:
space:
mode:
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.go45
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)
+ }
+}