diff --git a/collector/client.go b/collector/client.go index 60ccd24..68aff45 100644 --- a/collector/client.go +++ b/collector/client.go @@ -143,7 +143,7 @@ func (c *Client) GetClusterSettings() (map[string]interface{}, error) { c.logger.Debug("Getting cluster settings") resp, err := c.es.Cluster.GetSettings( c.es.Cluster.GetSettings.WithIncludeDefaults(true), - c.es.Cluster.GetSettings.WithFilterPath("persistent.cluster.routing.allocation.exclude"), + c.es.Cluster.GetSettings.WithFilterPath("*.cluster.routing.allocation.exclude"), ) if err != nil { return nil, fmt.Errorf("error getting response: %s", err) diff --git a/collector/cluster-settings.go b/collector/cluster-settings.go index c161c03..a2eb08c 100644 --- a/collector/cluster-settings.go +++ b/collector/cluster-settings.go @@ -1,6 +1,8 @@ package collector import ( + "fmt" + "github.com/prometheus/client_golang/prometheus" "github.com/sirupsen/logrus" ) @@ -35,9 +37,25 @@ func (c *ClusterSettingsCollector) Collect(ch chan<- prometheus.Metric) { c.logger.Fatalf("error getting indices settings: %v", err) } + fmt.Printf("%v\n", settings["persistent"]) + if len(settings) == 0 { ch <- prometheus.MustNewConstMetric(c.excludeExists, prometheus.CounterValue, 0, "persistent") + ch <- prometheus.MustNewConstMetric(c.excludeExists, prometheus.CounterValue, 0, "transient") } else { - ch <- prometheus.MustNewConstMetric(c.excludeExists, prometheus.CounterValue, 1, "persistent") + if settings["persistent"] == nil { + ch <- prometheus.MustNewConstMetric(c.excludeExists, prometheus.CounterValue, 0, "persistent") + } else { + ch <- prometheus.MustNewConstMetric(c.excludeExists, prometheus.CounterValue, 1, "persistent") + } + if settings["transient"] == nil { + ch <- prometheus.MustNewConstMetric(c.excludeExists, prometheus.CounterValue, 0, "transient") + } else { + ch <- prometheus.MustNewConstMetric(c.excludeExists, prometheus.CounterValue, 1, "transient") + } + /* for k := range settings { + ch <- prometheus.MustNewConstMetric(c.excludeExists, prometheus.CounterValue, 1, k) + } + */ } }