@@ -68,6 +68,16 @@ type resource struct {
6868}
6969
7070var (
71+ clusterNodesConf = prometheus .NewGauge (prometheus.GaugeOpts {
72+ Name : "cluster_nodes_configured_total" ,
73+ Help : "Number of nodes configured in ha cluster" ,
74+ })
75+
76+ clusterResourcesConf = prometheus .NewGauge (prometheus.GaugeOpts {
77+ Name : "cluster_resources_configured_total" ,
78+ Help : "Number of total configured resources in ha cluster" ,
79+ })
80+
7181 // metrics with labels. (prefer these always as guideline)
7282 clusterNodes = prometheus .NewGaugeVec (
7383 prometheus.GaugeOpts {
8595func initMetrics () {
8696 prometheus .MustRegister (clusterNodes )
8797 prometheus .MustRegister (nodeResources )
98+ prometheus .MustRegister (clusterResourcesConf )
99+ prometheus .MustRegister (clusterNodesConf )
88100}
89101
90102func resetMetrics () {
@@ -152,6 +164,9 @@ func main() {
152164 log .Panic (err )
153165 }
154166
167+ clusterResourcesConf .Set (float64 (status .Summary .Resources .Number ))
168+ clusterNodesConf .Set (float64 (status .Summary .Nodes .Number ))
169+
155170 // set node metrics
156171 // cluster_nodes{node="dma-dog-hana01" type="master"} 1
157172 for _ , nod := range status .Nodes .Node {
@@ -195,8 +210,8 @@ func main() {
195210
196211 // parse node status
197212 // this produce a metric like:
198- // cluster_resources{ node="dma-dog-hana01" resource_name="RA1" type="active", managed="true" role="master "} 1
199- // cluster_resources{ node="dma-dog-hana01" resource_name="RA1" type="failed" managed="false" role="master "} 1
213+ // cluster_node_resources{managed="false", node="dma-dog-hana01", resource_name="rsc_saphanatopology_prd_hdb00",role="started",status="active "} 1
214+ // cluster_node_resources{managed="true", node="dma-dog-hana01", resource_name="rsc_ip_prd_hdb00",role="started",status="active "} 1
200215 for _ , nod := range status .Nodes .Node {
201216 for _ , rsc := range nod .Resources {
202217 if rsc .Active {
0 commit comments