Skip to content

Commit 3fa51fc

Browse files
feat: add analytics_cluster_status
As with v1 - green is 2, yellow is 1 and red is 0 Fixes #127 Signed-off-by: Ricky Moorhouse <[email protected]>
1 parent 2e796c7 commit 3fa51fc

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

nets/analytics/analytics.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ type IngestionPipelineStats struct {
9191
} `json:"data"`
9292
}
9393

94+
var clusterStatus = promauto.NewGaugeVec(prometheus.GaugeOpts{Name: "analytics_cluster_status", Help: "Cluster Status"}, []string{"component", "namespace"})
9495
var dataNodeCount = promauto.NewGaugeVec(prometheus.GaugeOpts{Name: "analytics_data_nodes_total", Help: "Active Shards"}, []string{"component", "namespace"})
9596
var nodeCount = promauto.NewGaugeVec(prometheus.GaugeOpts{Name: "analytics_nodes_total", Help: "Active Shards"}, []string{"component", "namespace"})
9697
var primaryShards = promauto.NewGaugeVec(prometheus.GaugeOpts{Name: "analytics_active_primary_shards_total", Help: "Active Shards"}, []string{"component", "namespace"})
@@ -139,6 +140,14 @@ func (a *Analytics) clusterHealth(analytics_url string, analyticsName string, an
139140
initializingShards.WithLabelValues(analyticsName, analyticsNamespace).Set(float64(health.InitialisingShards))
140141
unassignedShards.WithLabelValues(analyticsName, analyticsNamespace).Set(float64(health.UnassignedShards))
141142
pendingTasks.WithLabelValues(analyticsName, analyticsNamespace).Set(float64(health.PendingTasks))
143+
switch health.Status {
144+
case "green":
145+
clusterStatus.WithLabelValues(analyticsName, analyticsNamespace).Set(2)
146+
case "yellow":
147+
clusterStatus.WithLabelValues(analyticsName, analyticsNamespace).Set(1)
148+
case "red":
149+
clusterStatus.WithLabelValues(analyticsName, analyticsNamespace).Set(0)
150+
}
142151
}
143152
}
144153

0 commit comments

Comments
 (0)