@@ -29,10 +29,14 @@ import (
2929func 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
8690var (
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