From 21a0a90b5532013541907bb7642f207dfa743ea2 Mon Sep 17 00:00:00 2001 From: Tom Booth Date: Wed, 23 Aug 2017 11:39:46 +0100 Subject: [PATCH] Make filterZone metrics more generic We don't only have country filters now, so structure the metrics to handle this --- controllers/nginx/pkg/metric/collector/vts.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/controllers/nginx/pkg/metric/collector/vts.go b/controllers/nginx/pkg/metric/collector/vts.go index 33eeac492..45656d171 100644 --- a/controllers/nginx/pkg/metric/collector/vts.go +++ b/controllers/nginx/pkg/metric/collector/vts.go @@ -97,17 +97,17 @@ func NewNGINXVTSCollector(watchNamespace, ingressClass string, port int, path st filterZoneBytes: prometheus.NewDesc( prometheus.BuildFQName(ns, "", "filterzone_bytes_total"), "Nginx bytes count", - []string{"ingress_class", "namespace", "server_zone", "key", "direction"}, nil), + []string{"ingress_class", "namespace", "filter_name", "filter_key", "direction"}, nil), filterZoneResponses: prometheus.NewDesc( prometheus.BuildFQName(ns, "", "filterzone_responses_total"), "The number of responses with status codes 1xx, 2xx, 3xx, 4xx, and 5xx.", - []string{"ingress_class", "namespace", "server_zone", "key", "status_code"}, nil), + []string{"ingress_class", "namespace", "filter_name", "filter_key", "status_code"}, nil), filterZoneCache: prometheus.NewDesc( prometheus.BuildFQName(ns, "", "filterzone_cache_total"), "Nginx cache count", - []string{"ingress_class", "namespace", "server_zone", "key", "type"}, nil), + []string{"ingress_class", "namespace", "filter_name", "filter_key", "type"}, nil), upstreamBackup: prometheus.NewDesc( prometheus.BuildFQName(ns, "", "upstream_backup"), @@ -247,15 +247,15 @@ func (p vtsCollector) scrapeVts(ch chan<- prometheus.Metric) { prometheus.CounterValue, zone.OutBytes, p.ingressClass, p.watchNamespace, name, "out") } - for serverZone, keys := range nginxMetrics.FilterZones { - for name, zone := range keys { - reflectMetrics(&zone.Responses, p.data.filterZoneResponses, ch, p.ingressClass, p.watchNamespace, serverZone, name) - reflectMetrics(&zone.Cache, p.data.filterZoneCache, ch, p.ingressClass, p.watchNamespace, serverZone, name) + for filterName, filterKeys := range nginxMetrics.FilterZones { + for filterKey, zone := range filterKeys { + reflectMetrics(&zone.Responses, p.data.filterZoneResponses, ch, p.ingressClass, p.watchNamespace, filterName, filterKey) + reflectMetrics(&zone.Cache, p.data.filterZoneCache, ch, p.ingressClass, p.watchNamespace, filterName, filterKey) ch <- prometheus.MustNewConstMetric(p.data.filterZoneBytes, - prometheus.CounterValue, zone.InBytes, p.ingressClass, p.watchNamespace, serverZone, name, "in") + prometheus.CounterValue, zone.InBytes, p.ingressClass, p.watchNamespace, filterName, filterKey, "in") ch <- prometheus.MustNewConstMetric(p.data.filterZoneBytes, - prometheus.CounterValue, zone.OutBytes, p.ingressClass, p.watchNamespace, serverZone, name, "out") + prometheus.CounterValue, zone.OutBytes, p.ingressClass, p.watchNamespace, filterName, filterKey, "out") } } }