From 19c89251c089249fbeff468f88f48e209fc23e8d Mon Sep 17 00:00:00 2001 From: Piotr Boruc Date: Thu, 28 Feb 2019 14:21:34 +0100 Subject: [PATCH] added global logstash reloads counter --- vendor/collector/nodeinfo_api.go | 8 ++++++-- vendor/collector/nodeinfo_collector.go | 28 +++++++++++++++++++++++--- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/vendor/collector/nodeinfo_api.go b/vendor/collector/nodeinfo_api.go index 0929e59..1fa03ff 100644 --- a/vendor/collector/nodeinfo_api.go +++ b/vendor/collector/nodeinfo_api.go @@ -7,7 +7,11 @@ type NodeInfoResponse struct { HTTPAddress string `json:"http_address"` ID string `json:"id"` Name string `json:"name"` - Pipeline struct { + Reloads struct { + Successes int `json:"successes"` + Failures int `json:"failures"` + } `json:"reloads"` + Pipeline struct { Workers int `json:"workers"` BatchSize int `json:"batch_size"` BatchDelay int `json:"batch_delay"` @@ -42,7 +46,7 @@ func NodeInfo(endpoint string) (NodeInfoResponse, error) { var response NodeInfoResponse handler := &HTTPHandler{ - Endpoint: endpoint + "/_node", + Endpoint: endpoint + "/_node/stats", } err := getMetrics(handler, &response) diff --git a/vendor/collector/nodeinfo_collector.go b/vendor/collector/nodeinfo_collector.go index 27cbdb9..04e47f0 100644 --- a/vendor/collector/nodeinfo_collector.go +++ b/vendor/collector/nodeinfo_collector.go @@ -10,9 +10,10 @@ import ( type NodeInfoCollector struct { endpoint string - NodeInfos *prometheus.Desc - OsInfos *prometheus.Desc - JvmInfos *prometheus.Desc + NodeInfos *prometheus.Desc + OsInfos *prometheus.Desc + JvmInfos *prometheus.Desc + ReloadsInfos *prometheus.Desc } // NewNodeInfoCollector function @@ -42,6 +43,13 @@ func NewNodeInfoCollector(logstashEndpoint string) (Collector, error) { []string{"name", "version", "vendor"}, nil, ), + + ReloadsInfos: prometheus.NewDesc( + prometheus.BuildFQName(Namespace, subsystem, "reloads"), + "Logstash reloads", + []string{"result"}, + nil, + ), }, nil } @@ -86,5 +94,19 @@ func (c *NodeInfoCollector) collect(ch chan<- prometheus.Metric) (*prometheus.De stats.Jvm.VMVendor, ) + ch <- prometheus.MustNewConstMetric( + c.ReloadsInfos, + prometheus.CounterValue, + float64(stats.Reloads.Successes), + "success", + ) + + ch <- prometheus.MustNewConstMetric( + c.ReloadsInfos, + prometheus.CounterValue, + float64(stats.Reloads.Failures), + "failure", + ) + return nil, nil }