Skip to content

Commit c8a1083

Browse files
feat: additional elasticcloud roles
Signed-off-by: Christophe MORIO <[email protected]>
1 parent 416fa22 commit c8a1083

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

collector/nodes.go

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,14 @@ import (
2929
func getRoles(node NodeStatsNodeResponse) map[string]bool {
3030
// default settings (2.x) and map, which roles to consider
3131
roles := map[string]bool{
32-
"master": false,
33-
"data": false,
34-
"ingest": false,
35-
"client": true,
32+
"master": false,
33+
"data": false,
34+
"data_hot": false,
35+
"data_warm": false,
36+
"data_cold": false,
37+
"data_frozen": false,
38+
"ingest": false,
39+
"client": true,
3640
}
3741
// assumption: a 5.x node has at least one role, otherwise it's a 1.7 or 2.x node
3842
if len(node.Roles) > 0 {
@@ -84,7 +88,9 @@ func createRoleMetric(role string) *nodeMetric {
8488
}
8589

8690
var (
87-
defaultNodeLabels = []string{"cluster", "host", "name", "es_master_node", "es_data_node", "es_ingest_node", "es_client_node"}
91+
defaultNodeLabels = []string{"cluster", "host", "name", "es_master_node", "es_data_node",
92+
"es_data_hot_node", "es_data_warm_node", "es_data_cold_node", "es_data_frozen_node",
93+
"es_ingest_node", "es_client_node"}
8894
defaultRoleLabels = []string{"cluster", "host", "name"}
8995
defaultThreadPoolLabels = append(defaultNodeLabels, "type")
9096
defaultBreakerLabels = append(defaultNodeLabels, "breaker")
@@ -100,6 +106,10 @@ var (
100106
node.Name,
101107
fmt.Sprintf("%t", roles["master"]),
102108
fmt.Sprintf("%t", roles["data"]),
109+
fmt.Sprintf("%t", roles["data_hot"]),
110+
fmt.Sprintf("%t", roles["data_warm"]),
111+
fmt.Sprintf("%t", roles["data_cold"]),
112+
fmt.Sprintf("%t", roles["data_frozen"]),
103113
fmt.Sprintf("%t", roles["ingest"]),
104114
fmt.Sprintf("%t", roles["client"]),
105115
}
@@ -1866,7 +1876,8 @@ func (c *Nodes) Collect(ch chan<- prometheus.Metric) {
18661876
// Handle the node labels metric
18671877
roles := getRoles(node)
18681878

1869-
for _, role := range []string{"master", "data", "client", "ingest"} {
1879+
for _, role := range []string{"master", "data", "data_hot", "data_cold",
1880+
"data_warm", "data_frozen", "client", "ingest"} {
18701881
if roles[role] {
18711882
metric := createRoleMetric(role)
18721883
ch <- prometheus.MustNewConstMetric(

0 commit comments

Comments
 (0)