2021-03-16 14:14:42 +01:00
|
|
|
From e55a27d2102a77ce3f01f3f36060843bb2b46fd2 Mon Sep 17 00:00:00 2001
|
2020-09-11 11:32:03 +02:00
|
|
|
From: Joao Cavalheiro <jcavalheiro@suse.de>
|
2020-11-17 13:05:11 +01:00
|
|
|
Date: Mon, 27 Jul 2020 17:42:33 +0200
|
|
|
|
Subject: [PATCH 3/3] Add Uyuni service discovery
|
2020-09-11 11:32:03 +02:00
|
|
|
|
|
|
|
---
|
2020-11-17 13:05:11 +01:00
|
|
|
discovery/install/install.go | 1 +
|
2021-03-16 14:14:42 +01:00
|
|
|
discovery/uyuni/uyuni.go | 405 ++++++++++++++++
|
2020-11-17 13:05:11 +01:00
|
|
|
discovery/uyuni/uyuni_test.go | 46 ++
|
|
|
|
go.mod | 1 +
|
|
|
|
go.sum | 2 +
|
|
|
|
vendor/github.com/kolo/xmlrpc/LICENSE | 19 +
|
|
|
|
vendor/github.com/kolo/xmlrpc/README.md | 90 ++++
|
|
|
|
vendor/github.com/kolo/xmlrpc/client.go | 161 +++++++
|
|
|
|
vendor/github.com/kolo/xmlrpc/decoder.go | 473 +++++++++++++++++++
|
|
|
|
vendor/github.com/kolo/xmlrpc/encoder.go | 181 +++++++
|
|
|
|
vendor/github.com/kolo/xmlrpc/go.mod | 5 +
|
|
|
|
vendor/github.com/kolo/xmlrpc/go.sum | 3 +
|
|
|
|
vendor/github.com/kolo/xmlrpc/is_zero.go | 44 ++
|
|
|
|
vendor/github.com/kolo/xmlrpc/request.go | 57 +++
|
|
|
|
vendor/github.com/kolo/xmlrpc/response.go | 42 ++
|
|
|
|
vendor/github.com/kolo/xmlrpc/test_server.rb | 25 +
|
|
|
|
vendor/modules.txt | 3 +
|
2021-03-16 14:14:42 +01:00
|
|
|
17 files changed, 1558 insertions(+)
|
2020-11-17 13:05:11 +01:00
|
|
|
create mode 100644 discovery/uyuni/uyuni.go
|
|
|
|
create mode 100644 discovery/uyuni/uyuni_test.go
|
|
|
|
create mode 100644 vendor/github.com/kolo/xmlrpc/LICENSE
|
|
|
|
create mode 100644 vendor/github.com/kolo/xmlrpc/README.md
|
|
|
|
create mode 100644 vendor/github.com/kolo/xmlrpc/client.go
|
|
|
|
create mode 100644 vendor/github.com/kolo/xmlrpc/decoder.go
|
|
|
|
create mode 100644 vendor/github.com/kolo/xmlrpc/encoder.go
|
|
|
|
create mode 100644 vendor/github.com/kolo/xmlrpc/go.mod
|
|
|
|
create mode 100644 vendor/github.com/kolo/xmlrpc/go.sum
|
|
|
|
create mode 100644 vendor/github.com/kolo/xmlrpc/is_zero.go
|
|
|
|
create mode 100644 vendor/github.com/kolo/xmlrpc/request.go
|
|
|
|
create mode 100644 vendor/github.com/kolo/xmlrpc/response.go
|
|
|
|
create mode 100644 vendor/github.com/kolo/xmlrpc/test_server.rb
|
2020-09-11 11:32:03 +02:00
|
|
|
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/discovery/install/install.go b/discovery/install/install.go
|
|
|
|
index d9394f270..7af209cac 100644
|
|
|
|
--- a/discovery/install/install.go
|
|
|
|
+++ b/discovery/install/install.go
|
|
|
|
@@ -30,5 +30,6 @@ import (
|
|
|
|
_ "github.com/prometheus/prometheus/discovery/marathon" // register marathon
|
|
|
|
_ "github.com/prometheus/prometheus/discovery/openstack" // register openstack
|
|
|
|
_ "github.com/prometheus/prometheus/discovery/triton" // register triton
|
|
|
|
+ _ "github.com/prometheus/prometheus/discovery/uyuni" // register uyuni
|
|
|
|
_ "github.com/prometheus/prometheus/discovery/zookeeper" // register zookeeper
|
2019-07-26 13:24:49 +02:00
|
|
|
)
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/discovery/uyuni/uyuni.go b/discovery/uyuni/uyuni.go
|
|
|
|
new file mode 100644
|
2021-03-16 14:14:42 +01:00
|
|
|
index 000000000..2336d2746
|
2019-07-26 13:24:49 +02:00
|
|
|
--- /dev/null
|
2020-11-17 13:05:11 +01:00
|
|
|
+++ b/discovery/uyuni/uyuni.go
|
2021-03-16 14:14:42 +01:00
|
|
|
@@ -0,0 +1,405 @@
|
2019-11-21 14:23:19 +01:00
|
|
|
+// Copyright 2019 The Prometheus Authors
|
2019-07-26 13:24:49 +02:00
|
|
|
+// Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
+// you may not use this file except in compliance with the License.
|
|
|
|
+// You may obtain a copy of the License at
|
|
|
|
+//
|
|
|
|
+// http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
+//
|
|
|
|
+// Unless required by applicable law or agreed to in writing, software
|
|
|
|
+// distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
+// See the License for the specific language governing permissions and
|
|
|
|
+// limitations under the License.
|
|
|
|
+
|
|
|
|
+package uyuni
|
|
|
|
+
|
|
|
|
+import (
|
|
|
|
+ "context"
|
|
|
|
+ "fmt"
|
2020-09-11 11:32:03 +02:00
|
|
|
+ "net"
|
2019-11-21 14:23:19 +01:00
|
|
|
+ "net/url"
|
|
|
|
+ "regexp"
|
|
|
|
+ "strings"
|
2019-07-26 13:24:49 +02:00
|
|
|
+ "time"
|
|
|
|
+
|
|
|
|
+ "github.com/go-kit/kit/log"
|
|
|
|
+ "github.com/go-kit/kit/log/level"
|
|
|
|
+ "github.com/kolo/xmlrpc"
|
|
|
|
+ "github.com/pkg/errors"
|
|
|
|
+ "github.com/prometheus/common/model"
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+ "github.com/prometheus/prometheus/discovery"
|
2019-07-26 13:24:49 +02:00
|
|
|
+ "github.com/prometheus/prometheus/discovery/refresh"
|
|
|
|
+ "github.com/prometheus/prometheus/discovery/targetgroup"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+const (
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ monitoringEntitlementLabel = "monitoring_entitled"
|
|
|
|
+ prometheusExporterFormulaName = "prometheus-exporters"
|
|
|
|
+ uyuniXMLRPCAPIPath = "/rpc/api"
|
2019-07-26 13:24:49 +02:00
|
|
|
+)
|
|
|
|
+
|
|
|
|
+// DefaultSDConfig is the default Uyuni SD configuration.
|
|
|
|
+var DefaultSDConfig = SDConfig{
|
|
|
|
+ RefreshInterval: model.Duration(1 * time.Minute),
|
|
|
|
+}
|
|
|
|
+
|
2019-11-21 14:23:19 +01:00
|
|
|
+// Regular expression to extract port from formula data
|
|
|
|
+var monFormulaRegex = regexp.MustCompile(`--(?:telemetry\.address|web\.listen-address)=\":([0-9]*)\"`)
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+func init() {
|
|
|
|
+ discovery.RegisterConfig(&SDConfig{})
|
|
|
|
+}
|
|
|
|
+
|
2019-07-26 13:24:49 +02:00
|
|
|
+// SDConfig is the configuration for Uyuni based service discovery.
|
|
|
|
+type SDConfig struct {
|
|
|
|
+ Host string `yaml:"host"`
|
|
|
|
+ User string `yaml:"username"`
|
|
|
|
+ Pass string `yaml:"password"`
|
|
|
|
+ RefreshInterval model.Duration `yaml:"refresh_interval,omitempty"`
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// Uyuni API Response structures
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+type systemGroupID struct {
|
|
|
|
+ GroupID int `xmlrpc:"id"`
|
|
|
|
+ GroupName string `xmlrpc:"name"`
|
2019-11-21 14:23:19 +01:00
|
|
|
+}
|
|
|
|
+
|
|
|
|
+type networkInfo struct {
|
2021-03-16 14:14:42 +01:00
|
|
|
+ SystemID int `xmlrpc:"system_id"`
|
|
|
|
+ Hostname string `xmlrpc:"hostname"`
|
|
|
|
+ PrimaryFQDN string `xmlrpc:"primary_fqdn"`
|
|
|
|
+ IP string `xmlrpc:"ip"`
|
2019-11-21 14:23:19 +01:00
|
|
|
+}
|
|
|
|
+
|
2019-07-26 13:24:49 +02:00
|
|
|
+type exporterConfig struct {
|
2020-09-11 11:32:03 +02:00
|
|
|
+ Address string `xmlrpc:"address"`
|
2019-11-21 14:23:19 +01:00
|
|
|
+ Args string `xmlrpc:"args"`
|
|
|
|
+ Enabled bool `xmlrpc:"enabled"`
|
2019-07-26 13:24:49 +02:00
|
|
|
+}
|
|
|
|
+
|
2020-09-11 11:32:03 +02:00
|
|
|
+type proxiedExporterConfig struct {
|
|
|
|
+ ProxyIsEnabled bool `xmlrpc:"proxy_enabled"`
|
|
|
|
+ ProxyPort float32 `xmlrpc:"proxy_port"`
|
|
|
|
+ NodeExporter exporterConfig `xmlrpc:"node_exporter"`
|
|
|
|
+ ApacheExporter exporterConfig `xmlrpc:"apache_exporter"`
|
|
|
|
+ PostgresExporter exporterConfig `xmlrpc:"postgres_exporter"`
|
|
|
|
+}
|
|
|
|
+
|
2019-11-21 14:23:19 +01:00
|
|
|
+// Discovery periodically performs Uyuni API requests. It implements the Discoverer interface.
|
|
|
|
+type Discovery struct {
|
|
|
|
+ *refresh.Discovery
|
|
|
|
+ interval time.Duration
|
|
|
|
+ sdConfig *SDConfig
|
|
|
|
+ logger log.Logger
|
2019-07-26 13:24:49 +02:00
|
|
|
+}
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+// Name returns the name of the Config.
|
|
|
|
+func (*SDConfig) Name() string { return "uyuni" }
|
|
|
|
+
|
|
|
|
+// NewDiscoverer returns a Discoverer for the Config.
|
|
|
|
+func (c *SDConfig) NewDiscoverer(opts discovery.DiscovererOptions) (discovery.Discoverer, error) {
|
|
|
|
+ return NewDiscovery(c, opts.Logger), nil
|
|
|
|
+}
|
|
|
|
+
|
2019-07-26 13:24:49 +02:00
|
|
|
+// UnmarshalYAML implements the yaml.Unmarshaler interface.
|
|
|
|
+func (c *SDConfig) UnmarshalYAML(unmarshal func(interface{}) error) error {
|
|
|
|
+ *c = DefaultSDConfig
|
|
|
|
+ type plain SDConfig
|
|
|
|
+ err := unmarshal((*plain)(c))
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ if c.Host == "" {
|
|
|
|
+ return errors.New("Uyuni SD configuration requires a Host")
|
|
|
|
+ }
|
|
|
|
+ if c.User == "" {
|
|
|
|
+ return errors.New("Uyuni SD configuration requires a Username")
|
|
|
|
+ }
|
|
|
|
+ if c.Pass == "" {
|
|
|
|
+ return errors.New("Uyuni SD configuration requires a Password")
|
|
|
|
+ }
|
|
|
|
+ if c.RefreshInterval <= 0 {
|
|
|
|
+ return errors.New("Uyuni SD configuration requires RefreshInterval to be a positive integer")
|
|
|
|
+ }
|
|
|
|
+ return nil
|
|
|
|
+}
|
|
|
|
+
|
2019-11-21 14:23:19 +01:00
|
|
|
+// Attempt to login in Uyuni Server and get an auth token
|
|
|
|
+func login(rpcclient *xmlrpc.Client, user string, pass string) (string, error) {
|
2019-07-26 13:24:49 +02:00
|
|
|
+ var result string
|
|
|
|
+ err := rpcclient.Call("auth.login", []interface{}{user, pass}, &result)
|
|
|
|
+ return result, err
|
|
|
|
+}
|
|
|
|
+
|
2019-11-21 14:23:19 +01:00
|
|
|
+// Logout from Uyuni API
|
|
|
|
+func logout(rpcclient *xmlrpc.Client, token string) error {
|
2019-07-26 13:24:49 +02:00
|
|
|
+ err := rpcclient.Call("auth.logout", token, nil)
|
|
|
|
+ return err
|
|
|
|
+}
|
|
|
|
+
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+// Get the system groups information of monitored clients
|
|
|
|
+func getSystemGroupsInfoOfMonitoredClients(rpcclient *xmlrpc.Client, token string) (map[int][]systemGroupID, error) {
|
|
|
|
+ var systemGroupsInfos []struct {
|
|
|
|
+ SystemID int `xmlrpc:"id"`
|
|
|
|
+ SystemGroups []systemGroupID `xmlrpc:"system_groups"`
|
|
|
|
+ }
|
|
|
|
+ err := rpcclient.Call("system.listSystemGroupsForSystemsWithEntitlement", []interface{}{token, monitoringEntitlementLabel}, &systemGroupsInfos)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+ result := make(map[int][]systemGroupID)
|
|
|
|
+ for _, systemGroupsInfo := range systemGroupsInfos {
|
|
|
|
+ result[systemGroupsInfo.SystemID] = systemGroupsInfo.SystemGroups
|
|
|
|
+ }
|
|
|
|
+ return result, nil
|
2019-07-26 13:24:49 +02:00
|
|
|
+}
|
|
|
|
+
|
2019-11-21 14:23:19 +01:00
|
|
|
+// GetSystemNetworkInfo lists client FQDNs
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+func getNetworkInformationForSystems(rpcclient *xmlrpc.Client, token string, systemIDs []int) (map[int]networkInfo, error) {
|
|
|
|
+ var networkInfos []networkInfo
|
|
|
|
+ err := rpcclient.Call("system.getNetworkForSystems", []interface{}{token, systemIDs}, &networkInfos)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+ result := make(map[int]networkInfo)
|
|
|
|
+ for _, networkInfo := range networkInfos {
|
|
|
|
+ result[networkInfo.SystemID] = networkInfo
|
|
|
|
+ }
|
|
|
|
+ return result, nil
|
2019-07-26 13:24:49 +02:00
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// Get formula data for a given system
|
2020-09-11 11:32:03 +02:00
|
|
|
+func getExporterDataForSystems(
|
|
|
|
+ rpcclient *xmlrpc.Client,
|
|
|
|
+ token string,
|
|
|
|
+ systemIDs []int,
|
|
|
|
+) (map[int]proxiedExporterConfig, error) {
|
|
|
|
+ var combinedFormulaData []struct {
|
|
|
|
+ SystemID int `xmlrpc:"system_id"`
|
|
|
|
+ ExporterConfigs proxiedExporterConfig `xmlrpc:"formula_values"`
|
|
|
|
+ }
|
|
|
|
+ err := rpcclient.Call(
|
|
|
|
+ "formula.getCombinedFormulaDataByServerIds",
|
|
|
|
+ []interface{}{token, prometheusExporterFormulaName, systemIDs},
|
|
|
|
+ &combinedFormulaData)
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
2020-09-11 11:32:03 +02:00
|
|
|
+ result := make(map[int]proxiedExporterConfig)
|
|
|
|
+ for _, combinedFormulaData := range combinedFormulaData {
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ result[combinedFormulaData.SystemID] = combinedFormulaData.ExporterConfigs
|
|
|
|
+ }
|
|
|
|
+ return result, nil
|
2019-11-21 14:23:19 +01:00
|
|
|
+}
|
|
|
|
+
|
2020-09-11 11:32:03 +02:00
|
|
|
+// extractPortFromFormulaData gets exporter port configuration from the formula.
|
|
|
|
+// args takes precedence over address.
|
|
|
|
+func extractPortFromFormulaData(args string, address string) (string, error) {
|
|
|
|
+ // first try args
|
|
|
|
+ var port string
|
2019-11-21 14:23:19 +01:00
|
|
|
+ tokens := monFormulaRegex.FindStringSubmatch(args)
|
|
|
|
+ if len(tokens) < 1 {
|
2020-09-11 11:32:03 +02:00
|
|
|
+ err := "Unable to find port in args: " + args
|
|
|
|
+ // now try address
|
|
|
|
+ _, addrPort, addrErr := net.SplitHostPort(address)
|
|
|
|
+ if addrErr != nil || len(addrPort) == 0 {
|
|
|
|
+ if addrErr != nil {
|
|
|
|
+ err = strings.Join([]string{addrErr.Error(), err}, " ")
|
|
|
|
+ }
|
|
|
|
+ return "", errors.New(err)
|
|
|
|
+ }
|
|
|
|
+ port = addrPort
|
|
|
|
+ } else {
|
|
|
|
+ port = tokens[1]
|
2019-11-21 14:23:19 +01:00
|
|
|
+ }
|
2020-09-11 11:32:03 +02:00
|
|
|
+
|
|
|
|
+ return port, nil
|
2019-11-21 14:23:19 +01:00
|
|
|
+}
|
|
|
|
+
|
2019-07-26 13:24:49 +02:00
|
|
|
+// NewDiscovery returns a new file discovery for the given paths.
|
|
|
|
+func NewDiscovery(conf *SDConfig, logger log.Logger) *Discovery {
|
|
|
|
+ d := &Discovery{
|
|
|
|
+ interval: time.Duration(conf.RefreshInterval),
|
|
|
|
+ sdConfig: conf,
|
2019-11-21 14:23:19 +01:00
|
|
|
+ logger: logger,
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
|
|
|
+ d.Discovery = refresh.NewDiscovery(
|
|
|
|
+ logger,
|
|
|
|
+ "uyuni",
|
|
|
|
+ time.Duration(conf.RefreshInterval),
|
|
|
|
+ d.refresh,
|
|
|
|
+ )
|
|
|
|
+ return d
|
|
|
|
+}
|
|
|
|
+
|
2020-09-11 11:32:03 +02:00
|
|
|
+func initializeExporterTargets(
|
|
|
|
+ targets *[]model.LabelSet,
|
|
|
|
+ module string, config exporterConfig,
|
|
|
|
+ proxyPort string,
|
|
|
|
+ errors *[]error,
|
|
|
|
+) {
|
|
|
|
+ if !(config.Enabled) {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ var port string
|
|
|
|
+ if len(proxyPort) == 0 {
|
|
|
|
+ exporterPort, err := extractPortFromFormulaData(config.Args, config.Address)
|
|
|
|
+ if err != nil {
|
|
|
|
+ *errors = append(*errors, err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ port = exporterPort
|
|
|
|
+ } else {
|
|
|
|
+ port = proxyPort
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ labels := model.LabelSet{}
|
|
|
|
+ labels["exporter"] = model.LabelValue(module + "_exporter")
|
|
|
|
+ // for now set only port number here
|
|
|
|
+ labels[model.AddressLabel] = model.LabelValue(port)
|
|
|
|
+ if len(proxyPort) > 0 {
|
|
|
|
+ labels[model.ParamLabelPrefix+"module"] = model.LabelValue(module)
|
|
|
|
+ }
|
|
|
|
+ *targets = append(*targets, labels)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (d *Discovery) getTargetsForSystem(
|
|
|
|
+ systemID int,
|
|
|
|
+ systemGroupsIDs []systemGroupID,
|
|
|
|
+ networkInfo networkInfo,
|
|
|
|
+ combinedFormulaData proxiedExporterConfig,
|
|
|
|
+) []model.LabelSet {
|
|
|
|
+
|
|
|
|
+ var labelSets []model.LabelSet
|
|
|
|
+ var errors []error
|
|
|
|
+ var proxyPortNumber string
|
2021-03-16 14:14:42 +01:00
|
|
|
+ var hostname string
|
2020-09-11 11:32:03 +02:00
|
|
|
+ if combinedFormulaData.ProxyIsEnabled {
|
|
|
|
+ proxyPortNumber = fmt.Sprintf("%d", int(combinedFormulaData.ProxyPort))
|
|
|
|
+ }
|
2021-03-16 14:14:42 +01:00
|
|
|
+ if len(networkInfo.PrimaryFQDN) > 0 {
|
|
|
|
+ hostname = networkInfo.PrimaryFQDN
|
|
|
|
+ } else {
|
|
|
|
+ hostname = networkInfo.Hostname
|
|
|
|
+ }
|
2020-09-11 11:32:03 +02:00
|
|
|
+ initializeExporterTargets(&labelSets, "node", combinedFormulaData.NodeExporter, proxyPortNumber, &errors)
|
|
|
|
+ initializeExporterTargets(&labelSets, "apache", combinedFormulaData.ApacheExporter, proxyPortNumber, &errors)
|
|
|
|
+ initializeExporterTargets(&labelSets, "postgres", combinedFormulaData.PostgresExporter, proxyPortNumber, &errors)
|
|
|
|
+ managedGroupNames := getSystemGroupNames(systemGroupsIDs)
|
|
|
|
+ for _, labels := range labelSets {
|
|
|
|
+ // add hostname to the address label
|
2021-03-16 14:14:42 +01:00
|
|
|
+ addr := fmt.Sprintf("%s:%s", hostname, labels[model.AddressLabel])
|
2020-09-11 11:32:03 +02:00
|
|
|
+ labels[model.AddressLabel] = model.LabelValue(addr)
|
2021-03-16 14:14:42 +01:00
|
|
|
+ labels["hostname"] = model.LabelValue(hostname)
|
2020-09-11 11:32:03 +02:00
|
|
|
+ labels["groups"] = model.LabelValue(strings.Join(managedGroupNames, ","))
|
|
|
|
+ if combinedFormulaData.ProxyIsEnabled {
|
|
|
|
+ labels[model.MetricsPathLabel] = "/proxy"
|
|
|
|
+ }
|
|
|
|
+ _ = level.Debug(d.logger).Log("msg", "Configured target", "Labels", fmt.Sprintf("%+v", labels))
|
|
|
|
+ }
|
|
|
|
+ for _, err := range errors {
|
|
|
|
+ level.Error(d.logger).Log("msg", "Invalid exporter port", "clientId", systemID, "err", err)
|
|
|
|
+ }
|
2019-07-26 13:24:49 +02:00
|
|
|
+
|
2020-09-11 11:32:03 +02:00
|
|
|
+ return labelSets
|
|
|
|
+}
|
2019-07-26 13:24:49 +02:00
|
|
|
+
|
2020-09-11 11:32:03 +02:00
|
|
|
+func getSystemGroupNames(systemGroupsIDs []systemGroupID) []string {
|
|
|
|
+ managedGroupNames := make([]string, 0, len(systemGroupsIDs))
|
|
|
|
+ for _, systemGroupInfo := range systemGroupsIDs {
|
|
|
|
+ managedGroupNames = append(managedGroupNames, systemGroupInfo.GroupName)
|
|
|
|
+ }
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+
|
2020-09-11 11:32:03 +02:00
|
|
|
+ if len(managedGroupNames) == 0 {
|
|
|
|
+ managedGroupNames = []string{"No group"}
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
2020-09-11 11:32:03 +02:00
|
|
|
+ return managedGroupNames
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+}
|
|
|
|
+
|
2020-09-11 11:32:03 +02:00
|
|
|
+func (d *Discovery) getTargetsForSystems(
|
|
|
|
+ rpcClient *xmlrpc.Client,
|
|
|
|
+ token string,
|
|
|
|
+ systemGroupIDsBySystemID map[int][]systemGroupID,
|
|
|
|
+) ([]model.LabelSet, error) {
|
|
|
|
+
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ result := make([]model.LabelSet, 0)
|
2019-07-26 13:24:49 +02:00
|
|
|
+
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ systemIDs := make([]int, 0, len(systemGroupIDsBySystemID))
|
|
|
|
+ for systemID := range systemGroupIDsBySystemID {
|
|
|
|
+ systemIDs = append(systemIDs, systemID)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ combinedFormulaDataBySystemID, err := getExporterDataForSystems(rpcClient, token, systemIDs)
|
2019-07-26 13:24:49 +02:00
|
|
|
+ if err != nil {
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ return nil, errors.Wrap(err, "Unable to get systems combined formula data")
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ networkInfoBySystemID, err := getNetworkInformationForSystems(rpcClient, token, systemIDs)
|
2019-11-21 14:23:19 +01:00
|
|
|
+ if err != nil {
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ return nil, errors.Wrap(err, "Unable to get the systems network information")
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
|
|
|
+
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ for _, systemID := range systemIDs {
|
2020-09-11 11:32:03 +02:00
|
|
|
+ targets := d.getTargetsForSystem(
|
|
|
|
+ systemID,
|
|
|
|
+ systemGroupIDsBySystemID[systemID],
|
|
|
|
+ networkInfoBySystemID[systemID],
|
|
|
|
+ combinedFormulaDataBySystemID[systemID])
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ result = append(result, targets...)
|
2019-11-21 14:23:19 +01:00
|
|
|
+
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ // Log debug information
|
|
|
|
+ if networkInfoBySystemID[systemID].IP != "" {
|
|
|
|
+ level.Debug(d.logger).Log("msg", "Found monitored system",
|
2021-03-16 14:14:42 +01:00
|
|
|
+ "PrimaryFQDN", networkInfoBySystemID[systemID].PrimaryFQDN,
|
|
|
|
+ "Hostname", networkInfoBySystemID[systemID].Hostname,
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ "Network", fmt.Sprintf("%+v", networkInfoBySystemID[systemID]),
|
|
|
|
+ "Groups", fmt.Sprintf("%+v", systemGroupIDsBySystemID[systemID]),
|
|
|
|
+ "Formulas", fmt.Sprintf("%+v", combinedFormulaDataBySystemID[systemID]))
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return result, nil
|
|
|
|
+}
|
2019-11-21 14:23:19 +01:00
|
|
|
+
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+func (d *Discovery) refresh(ctx context.Context) ([]*targetgroup.Group, error) {
|
|
|
|
+ config := d.sdConfig
|
|
|
|
+ apiURL := config.Host + uyuniXMLRPCAPIPath
|
2019-11-21 14:23:19 +01:00
|
|
|
+
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ startTime := time.Now()
|
2019-11-21 14:23:19 +01:00
|
|
|
+
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ // Check if the URL is valid and create rpc client
|
|
|
|
+ _, err := url.ParseRequestURI(apiURL)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, errors.Wrap(err, "Uyuni Server URL is not valid")
|
|
|
|
+ }
|
2019-11-21 14:23:19 +01:00
|
|
|
+
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ rpcClient, _ := xmlrpc.NewClient(apiURL, nil)
|
2019-07-26 13:24:49 +02:00
|
|
|
+
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ token, err := login(rpcClient, config.User, config.Pass)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, errors.Wrap(err, "Unable to login to Uyuni API")
|
|
|
|
+ }
|
|
|
|
+ systemGroupIDsBySystemID, err := getSystemGroupsInfoOfMonitoredClients(rpcClient, token)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, errors.Wrap(err, "Unable to get the managed system groups information of monitored clients")
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ targets := make([]model.LabelSet, 0)
|
|
|
|
+ if len(systemGroupIDsBySystemID) > 0 {
|
|
|
|
+ targetsForSystems, err := d.getTargetsForSystems(rpcClient, token, systemGroupIDsBySystemID)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ targets = append(targets, targetsForSystems...)
|
2019-11-21 14:23:19 +01:00
|
|
|
+ level.Info(d.logger).Log("msg", "Total discovery time", "time", time.Since(startTime))
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ } else {
|
|
|
|
+ fmt.Printf("\tFound 0 systems.\n")
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+
|
2020-09-11 11:32:03 +02:00
|
|
|
+ err = logout(rpcClient, token)
|
|
|
|
+ if err != nil {
|
|
|
|
+ level.Warn(d.logger).Log("msg", "Failed to log out from Uyuni API", "err", err)
|
|
|
|
+ }
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
+ rpcClient.Close()
|
|
|
|
+ return []*targetgroup.Group{&targetgroup.Group{Targets: targets, Source: config.Host}}, nil
|
2019-07-26 13:24:49 +02:00
|
|
|
+}
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/discovery/uyuni/uyuni_test.go b/discovery/uyuni/uyuni_test.go
|
|
|
|
new file mode 100644
|
|
|
|
index 000000000..c5fa8cc9e
|
2020-09-11 11:32:03 +02:00
|
|
|
--- /dev/null
|
2020-11-17 13:05:11 +01:00
|
|
|
+++ b/discovery/uyuni/uyuni_test.go
|
|
|
|
@@ -0,0 +1,46 @@
|
|
|
|
+// Copyright 2019 The Prometheus Authors
|
|
|
|
+// Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
+// you may not use this file except in compliance with the License.
|
|
|
|
+// You may obtain a copy of the License at
|
|
|
|
+//
|
|
|
|
+// http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
+//
|
|
|
|
+// Unless required by applicable law or agreed to in writing, software
|
|
|
|
+// distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
+// See the License for the specific language governing permissions and
|
|
|
|
+// limitations under the License.
|
|
|
|
+
|
2020-09-11 11:32:03 +02:00
|
|
|
+package uyuni
|
|
|
|
+
|
|
|
|
+import "testing"
|
|
|
|
+
|
|
|
|
+func TestExtractPortFromFormulaData(t *testing.T) {
|
|
|
|
+ type args struct {
|
|
|
|
+ args string
|
|
|
|
+ address string
|
|
|
|
+ }
|
|
|
|
+ tests := []struct {
|
|
|
|
+ name string
|
|
|
|
+ args args
|
|
|
|
+ want string
|
|
|
|
+ wantErr bool
|
|
|
|
+ }{
|
|
|
|
+ {name: `TestArgs`, args: args{args: `--web.listen-address=":9100"`}, want: `9100`},
|
|
|
|
+ {name: `TestAddress`, args: args{address: `:9100`}, want: `9100`},
|
|
|
|
+ {name: `TestArgsAndAddress`, args: args{args: `--web.listen-address=":9100"`, address: `9999`}, want: `9100`},
|
|
|
|
+ {name: `TestMissingPort`, args: args{args: `localhost`}, wantErr: true},
|
|
|
|
+ }
|
|
|
|
+ for _, tt := range tests {
|
|
|
|
+ t.Run(tt.name, func(t *testing.T) {
|
|
|
|
+ got, err := extractPortFromFormulaData(tt.args.args, tt.args.address)
|
|
|
|
+ if (err != nil) != tt.wantErr {
|
|
|
|
+ t.Errorf("extractPortFromFormulaData() error = %v, wantErr %v", err, tt.wantErr)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if got != tt.want {
|
|
|
|
+ t.Errorf("extractPortFromFormulaData() got = %v, want %v", got, tt.want)
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+}
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/go.mod b/go.mod
|
|
|
|
index 38982f449..9a261a5c9 100644
|
|
|
|
--- a/go.mod
|
|
|
|
+++ b/go.mod
|
|
|
|
@@ -38,6 +38,7 @@ require (
|
|
|
|
github.com/hetznercloud/hcloud-go v1.22.0
|
|
|
|
github.com/influxdata/influxdb v1.8.3
|
|
|
|
github.com/json-iterator/go v1.1.10
|
|
|
|
+ github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b
|
|
|
|
github.com/miekg/dns v1.1.31
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
github.com/mitchellh/mapstructure v1.2.2 // indirect
|
2020-11-17 13:05:11 +01:00
|
|
|
github.com/morikuni/aec v1.0.0 // indirect
|
|
|
|
diff --git a/go.sum b/go.sum
|
|
|
|
index 9a16a1838..be06c9453 100644
|
|
|
|
--- a/go.sum
|
|
|
|
+++ b/go.sum
|
|
|
|
@@ -524,6 +524,8 @@ github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
|
|
|
|
github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg=
|
|
|
|
github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
|
2020-11-17 13:05:11 +01:00
|
|
|
+github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b h1:iNjcivnc6lhbvJA3LD622NPrUponluJrBWPIwGG/3Bg=
|
|
|
|
+github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM=
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
2020-11-17 13:05:11 +01:00
|
|
|
github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s=
|
Accepting request 809049 from home:jcavalheiro:monitoring
- Update to 2.18.0
+ Features
* Tracing: Added experimental Jaeger support #7148
+ Changes
* Federation: Only use local TSDB for federation (ignore remote read). #7096
* Rules: `rule_evaluations_total` and `rule_evaluation_failures_total` have a `rule_group` label now. #7094
+ Enhancements
* TSDB: Significantly reduce WAL size kept around after a block cut. #7098
* Discovery: Add `architecture` meta label for EC2. #7000
+ Bug fixes
* UI: Fixed wrong MinTime reported by /status. #7182
* React UI: Fixed multiselect legend on OSX. #6880
* Remote Write: Fixed blocked resharding edge case. #7122
* Remote Write: Fixed remote write not updating on relabel configs change. #7073
- Changes from 2.17.2
+ Bug fixes
* Federation: Register federation metrics #7081
* PromQL: Fix panic in parser error handling #7132
* Rules: Fix reloads hanging when deleting a rule group that is being evaluated #7138
* TSDB: Fix a memory leak when prometheus starts with an empty TSDB WAL #7135
* TSDB: Make isolation more robust to panics in web handlers #7129 #7136
- Changes from 2.17.1
+ Bug fixes
* TSDB: Fix query performance regression that increased memory and CPU usage #7051
- Changes from 2.17.0
+ Features
* TSDB: Support isolation #6841
* This release implements isolation in TSDB. API queries and recording rules are
guaranteed to only see full scrapes and full recording rules. This comes with a
certain overhead in resource usage. Depending on the situation, there might be
some increase in memory usage, CPU usage, or query latency.
+ Enhancements
* PromQL: Allow more keywords as metric names #6933
* React UI: Add normalization of localhost URLs in targets page #6794
* Remote read: Read from remote storage concurrently #6770
* Rules: Mark deleted rule series as stale after a reload #6745
* Scrape: Log scrape append failures as debug rather than warn #6852
* TSDB: Improve query performance for queries that partially hit the head #6676
* Consul SD: Expose service health as meta label #5313
* EC2 SD: Expose EC2 instance lifecycle as meta label #6914
* Kubernetes SD: Expose service type as meta label for K8s service role #6684
* Kubernetes SD: Expose label_selector and field_selector #6807
* Openstack SD: Expose hypervisor id as meta label #6962
+ Bug fixes
* PromQL: Do not escape HTML-like chars in query log #6834 #6795
* React UI: Fix data table matrix values #6896
* React UI: Fix new targets page not loading when using non-ASCII characters #6892
* Remote read: Fix duplication of metrics read from remote storage with external labels #6967 #7018
* Remote write: Register WAL watcher and live reader metrics for all remotes, not just the first one #6998
* Scrape: Prevent removal of metric names upon relabeling #6891
* Scrape: Fix 'superfluous response.WriteHeader call' errors when scrape fails under some circonstances #6986
* Scrape: Fix crash when reloads are separated by two scrape intervals #7011
- Changes from 2.16.0
+ Features
* React UI: Support local timezone on /graph #6692
* PromQL: add absent_over_time query function #6490
* Adding optional logging of queries to their own file #6520
+ Enhancements
* React UI: Add support for rules page and "Xs ago" duration displays #6503
* React UI: alerts page, replace filtering togglers tabs with checkboxes #6543
* TSDB: Export metric for WAL write errors #6647
* TSDB: Improve query performance for queries that only touch the most recent 2h of data. #6651
* PromQL: Refactoring in parser errors to improve error messages #6634
* PromQL: Support trailing commas in grouping opts #6480
* Scrape: Reduce memory usage on reloads by reusing scrape cache #6670
* Scrape: Add metrics to track bytes and entries in the metadata cache #6675
* promtool: Add support for line-column numbers for invalid rules output #6533
* Avoid restarting rule groups when it is unnecessary #6450
+ Bug fixes
* React UI: Send cookies on fetch() on older browsers #6553
* React UI: adopt grafana flot fix for stacked graphs #6603
* React UI: broken graph page browser history so that back button works as expected #6659
* TSDB: ensure compactionsSkipped metric is registered, and log proper error if one is returned from head.Init #6616
* TSDB: return an error on ingesting series with duplicate labels #6664
* PromQL: Fix unary operator precedence #6579
* PromQL: Respect query.timeout even when we reach query.max-concurrency #6712
* PromQL: Fix string and parentheses handling in engine, which affected React UI #6612
* PromQL: Remove output labels returned by absent() if they are produced by multiple identical label matchers #6493
* Scrape: Validate that OpenMetrics input ends with `# EOF` #6505
* Remote read: return the correct error if configs can't be marshal'd to JSON #6622
* Remote write: Make remote client `Store` use passed context, which can affect shutdown timing #6673
* Remote write: Improve sharding calculation in cases where we would always be consistently behind by tracking pendingSamples #6511
* Ensure prometheus_rule_group metrics are deleted when a rule group is removed #6693
- Changes from 2.15.2
+ Bug fixes
* TSDB: Fixed support for TSDB blocks built with Prometheus before 2.1.0. #6564
* TSDB: Fixed block compaction issues on Windows. #6547
- Changes from 2.15.1
+ Bug fixes
* TSDB: Fixed race on concurrent queries against same data. #6512
- Changes from 2.15.0
+ Features
* API: Added new endpoint for exposing per metric metadata `/metadata`. #6420 #6442
+ Changes
* Discovery: Removed `prometheus_sd_kubernetes_cache_*` metrics. Additionally `prometheus_sd_kubernetes_workqueue_latency_seconds` and `prometheus_sd_kubernetes_workqueue_work_duration_seconds` metrics now show correct values in seconds. #6393
* Remote write: Changed `query` label on `prometheus_remote_storage_*` metrics to `remote_name` and `url`. #6043
+ Enhancements
* TSDB: Significantly reduced memory footprint of loaded TSDB blocks. #6418 #6461
* TSDB: Significantly optimized what we buffer during compaction which should result in lower memory footprint during compaction. #6422 #6452 #6468 #6475
* TSDB: Improve replay latency. #6230
* TSDB: WAL size is now used for size based retention calculation. #5886
* Remote read: Added query grouping and range hints to the remote read request #6401
* Remote write: Added `prometheus_remote_storage_sent_bytes_total` counter per queue. #6344
* promql: Improved PromQL parser performance. #6356
* React UI: Implemented missing pages like `/targets` #6276, TSDB status page #6281 #6267 and many other fixes and performance improvements.
* promql: Prometheus now accepts spaces between time range and square bracket. e.g `[ 5m]` #6065
+ Bug fixes
* Config: Fixed alertmanager configuration to not miss targets when configurations are similar. #6455
* Remote write: Value of `prometheus_remote_storage_shards_desired` gauge shows raw value of desired shards and it's updated correctly. #6378
* Rules: Prometheus now fails the evaluation of rules and alerts where metric results collide with labels specified in `labels` field. #6469
* API: Targets Metadata API `/targets/metadata` now accepts empty `match_targets` parameter as in the spec. #6303
- Changes from 2.14.0
+ Features
* API: `/api/v1/status/runtimeinfo` and `/api/v1/status/buildinfo` endpoints added for use by the React UI. #6243
* React UI: implement the new experimental React based UI. #5694 and many more
* Can be found by under `/new`.
* Not all pages are implemented yet.
* Status: Cardinality statistics added to the Runtime & Build Information page. #6125
+ Enhancements
* Remote write: fix delays in remote write after a compaction. #6021
* UI: Alerts can be filtered by state. #5758
+ Bug fixes
* Ensure warnings from the API are escaped. #6279
* API: lifecycle endpoints return 403 when not enabled. #6057
* Build: Fix Solaris build. #6149
* Promtool: Remove false duplicate rule warnings when checking rule files with alerts. #6270
* Remote write: restore use of deduplicating logger in remote write. #6113
* Remote write: do not reshard when unable to send samples. #6111
* Service discovery: errors are no longer logged on context cancellation. #6116, #6133
* UI: handle null response from API properly. #6071
- Changes from 2.13.1
+ Bug fixes
* Fix panic in ARM builds of Prometheus. #6110
* promql: fix potential panic in the query logger. #6094
* Multiple errors of http: superfluous response.WriteHeader call in the logs. #6145
- Changes from 2.13.0
+ Enhancements
* Metrics: renamed prometheus_sd_configs_failed_total to prometheus_sd_failed_configs and changed to Gauge #5254
* Include the tsdb tool in builds. #6089
* Service discovery: add new node address types for kubernetes. #5902
* UI: show warnings if query have returned some warnings. #5964
* Remote write: reduce memory usage of the series cache. #5849
* Remote read: use remote read streaming to reduce memory usage. #5703
* Metrics: added metrics for remote write max/min/desired shards to queue manager. #5787
* Promtool: show the warnings during label query. #5924
* Promtool: improve error messages when parsing bad rules. #5965
* Promtool: more promlint rules. #5515
+ Bug fixes
* UI: Fix a Stored DOM XSS vulnerability with query history [CVE-2019-10215](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10215). #6098
* Promtool: fix recording inconsistency due to duplicate labels. #6026
* UI: fixes service-discovery view when accessed from unhealthy targets. #5915
* Metrics format: OpenMetrics parser crashes on short input. #5939
* UI: avoid truncated Y-axis values. #6014
- Changes from 2.12.0
+ Features
* Track currently active PromQL queries in a log file. #5794
* Enable and provide binaries for `mips64` / `mips64le` architectures. #5792
+ Enhancements
* Improve responsiveness of targets web UI and API endpoint. #5740
* Improve remote write desired shards calculation. #5763
* Flush TSDB pages more precisely. tsdb#660
* Add `prometheus_tsdb_retention_limit_bytes` metric. tsdb#667
* Add logging during TSDB WAL replay on startup. tsdb#662
* Improve TSDB memory usage. tsdb#653, tsdb#643, tsdb#654, tsdb#642, tsdb#627
+ Bug fixes
* Check for duplicate label names in remote read. #5829
* Mark deleted rules' series as stale on next evaluation. #5759
* Fix JavaScript error when showing warning about out-of-sync server time. #5833
* Fix `promtool test rules` panic when providing empty `exp_labels`. #5774
* Only check last directory when discovering checkpoint number. #5756
* Fix error propagation in WAL watcher helper functions. #5741
* Correctly handle empty labels from alert templates. #5845
- Update Uyuni/SUSE Manager service discovery patch
+ Modified 0003-Add-Uyuni-service-discovery.patch:
+ Adapt service discovery to the new Uyuni API endpoints
+ Modified spec file: force golang 1.12 to fix build issues in SLE15SP2
- Update to Prometheus 2.11.2
OBS-URL: https://build.opensuse.org/request/show/809049
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=30
2020-06-02 22:45:18 +02:00
|
|
|
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/vendor/github.com/kolo/xmlrpc/LICENSE b/vendor/github.com/kolo/xmlrpc/LICENSE
|
|
|
|
new file mode 100644
|
|
|
|
index 000000000..8103dd139
|
2019-07-26 13:24:49 +02:00
|
|
|
--- /dev/null
|
2020-11-17 13:05:11 +01:00
|
|
|
+++ b/vendor/github.com/kolo/xmlrpc/LICENSE
|
2019-07-26 13:24:49 +02:00
|
|
|
@@ -0,0 +1,19 @@
|
|
|
|
+Copyright (C) 2012 Dmitry Maksimov
|
|
|
|
+
|
|
|
|
+Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
+of this software and associated documentation files (the "Software"), to deal
|
|
|
|
+in the Software without restriction, including without limitation the rights
|
|
|
|
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
+copies of the Software, and to permit persons to whom the Software is
|
|
|
|
+furnished to do so, subject to the following conditions:
|
|
|
|
+
|
|
|
|
+The above copyright notice and this permission notice shall be included in
|
|
|
|
+all copies or substantial portions of the Software.
|
|
|
|
+
|
|
|
|
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
|
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
|
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
|
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
|
+THE SOFTWARE.
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/vendor/github.com/kolo/xmlrpc/README.md b/vendor/github.com/kolo/xmlrpc/README.md
|
|
|
|
new file mode 100644
|
|
|
|
index 000000000..fecfcd839
|
2019-07-26 13:24:49 +02:00
|
|
|
--- /dev/null
|
2020-11-17 13:05:11 +01:00
|
|
|
+++ b/vendor/github.com/kolo/xmlrpc/README.md
|
|
|
|
@@ -0,0 +1,90 @@
|
2019-07-26 13:24:49 +02:00
|
|
|
+[![GoDoc](https://godoc.org/github.com/kolo/xmlrpc?status.svg)](https://godoc.org/github.com/kolo/xmlrpc)
|
|
|
|
+
|
|
|
|
+## Overview
|
|
|
|
+
|
|
|
|
+xmlrpc is an implementation of client side part of XMLRPC protocol in Go language.
|
|
|
|
+
|
|
|
|
+## Status
|
|
|
|
+
|
|
|
|
+This project is in minimal maintenance mode with no further development. Bug fixes
|
|
|
|
+are accepted, but it might take some time until they will be merged.
|
|
|
|
+
|
|
|
|
+## Installation
|
|
|
|
+
|
|
|
|
+To install xmlrpc package run `go get github.com/kolo/xmlrpc`. To use
|
|
|
|
+it in application add `"github.com/kolo/xmlrpc"` string to `import`
|
|
|
|
+statement.
|
|
|
|
+
|
|
|
|
+## Usage
|
|
|
|
+
|
|
|
|
+ client, _ := xmlrpc.NewClient("https://bugzilla.mozilla.org/xmlrpc.cgi", nil)
|
|
|
|
+ result := struct{
|
|
|
|
+ Version string `xmlrpc:"version"`
|
|
|
|
+ }{}
|
|
|
|
+ client.Call("Bugzilla.version", nil, &result)
|
|
|
|
+ fmt.Printf("Version: %s\n", result.Version) // Version: 4.2.7+
|
|
|
|
+
|
|
|
|
+Second argument of NewClient function is an object that implements
|
|
|
|
+[http.RoundTripper](http://golang.org/pkg/net/http/#RoundTripper)
|
|
|
|
+interface, it can be used to get more control over connection options.
|
|
|
|
+By default it initialized by http.DefaultTransport object.
|
|
|
|
+
|
|
|
|
+### Arguments encoding
|
|
|
|
+
|
|
|
|
+xmlrpc package supports encoding of native Go data types to method
|
|
|
|
+arguments.
|
|
|
|
+
|
|
|
|
+Data types encoding rules:
|
|
|
|
+
|
|
|
|
+* int, int8, int16, int32, int64 encoded to int;
|
|
|
|
+* float32, float64 encoded to double;
|
|
|
|
+* bool encoded to boolean;
|
|
|
|
+* string encoded to string;
|
|
|
|
+* time.Time encoded to datetime.iso8601;
|
|
|
|
+* xmlrpc.Base64 encoded to base64;
|
|
|
|
+* slice encoded to array;
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+Structs encoded to struct by following rules:
|
2019-07-26 13:24:49 +02:00
|
|
|
+
|
|
|
|
+* all public field become struct members;
|
|
|
|
+* field name become member name;
|
|
|
|
+* if field has xmlrpc tag, its value become member name.
|
2020-11-17 13:05:11 +01:00
|
|
|
+* for fields tagged with `",omitempty"`, empty values are omitted;
|
2019-07-26 13:24:49 +02:00
|
|
|
+
|
|
|
|
+Server method can accept few arguments, to handle this case there is
|
|
|
|
+special approach to handle slice of empty interfaces (`[]interface{}`).
|
|
|
|
+Each value of such slice encoded as separate argument.
|
|
|
|
+
|
|
|
|
+### Result decoding
|
|
|
|
+
|
|
|
|
+Result of remote function is decoded to native Go data type.
|
|
|
|
+
|
|
|
|
+Data types decoding rules:
|
|
|
|
+
|
|
|
|
+* int, i4 decoded to int, int8, int16, int32, int64;
|
|
|
|
+* double decoded to float32, float64;
|
|
|
|
+* boolean decoded to bool;
|
|
|
|
+* string decoded to string;
|
|
|
|
+* array decoded to slice;
|
|
|
|
+* structs decoded following the rules described in previous section;
|
|
|
|
+* datetime.iso8601 decoded as time.Time data type;
|
|
|
|
+* base64 decoded to string.
|
|
|
|
+
|
|
|
|
+## Implementation details
|
|
|
|
+
|
|
|
|
+xmlrpc package contains clientCodec type, that implements [rpc.ClientCodec](http://golang.org/pkg/net/rpc/#ClientCodec)
|
|
|
|
+interface of [net/rpc](http://golang.org/pkg/net/rpc) package.
|
|
|
|
+
|
|
|
|
+xmlrpc package works over HTTP protocol, but some internal functions
|
|
|
|
+and data type were made public to make it easier to create another
|
|
|
|
+implementation of xmlrpc that works over another protocol. To encode
|
|
|
|
+request body there is EncodeMethodCall function. To decode server
|
|
|
|
+response Response data type can be used.
|
|
|
|
+
|
|
|
|
+## Contribution
|
|
|
|
+
|
|
|
|
+See [project status](#status).
|
|
|
|
+
|
|
|
|
+## Authors
|
|
|
|
+
|
|
|
|
+Dmitry Maksimov (dmtmax@gmail.com)
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/vendor/github.com/kolo/xmlrpc/client.go b/vendor/github.com/kolo/xmlrpc/client.go
|
|
|
|
new file mode 100644
|
|
|
|
index 000000000..643dc1c10
|
2019-07-26 13:24:49 +02:00
|
|
|
--- /dev/null
|
2020-11-17 13:05:11 +01:00
|
|
|
+++ b/vendor/github.com/kolo/xmlrpc/client.go
|
|
|
|
@@ -0,0 +1,161 @@
|
2019-07-26 13:24:49 +02:00
|
|
|
+package xmlrpc
|
|
|
|
+
|
|
|
|
+import (
|
|
|
|
+ "errors"
|
|
|
|
+ "fmt"
|
|
|
|
+ "io/ioutil"
|
|
|
|
+ "net/http"
|
|
|
|
+ "net/http/cookiejar"
|
|
|
|
+ "net/rpc"
|
|
|
|
+ "net/url"
|
|
|
|
+ "sync"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+type Client struct {
|
|
|
|
+ *rpc.Client
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// clientCodec is rpc.ClientCodec interface implementation.
|
|
|
|
+type clientCodec struct {
|
|
|
|
+ // url presents url of xmlrpc service
|
|
|
|
+ url *url.URL
|
|
|
|
+
|
|
|
|
+ // httpClient works with HTTP protocol
|
|
|
|
+ httpClient *http.Client
|
|
|
|
+
|
|
|
|
+ // cookies stores cookies received on last request
|
|
|
|
+ cookies http.CookieJar
|
|
|
|
+
|
|
|
|
+ // responses presents map of active requests. It is required to return request id, that
|
|
|
|
+ // rpc.Client can mark them as done.
|
|
|
|
+ responses map[uint64]*http.Response
|
|
|
|
+ mutex sync.Mutex
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+ response Response
|
2019-07-26 13:24:49 +02:00
|
|
|
+
|
|
|
|
+ // ready presents channel, that is used to link request and it`s response.
|
|
|
|
+ ready chan uint64
|
|
|
|
+
|
|
|
|
+ // close notifies codec is closed.
|
|
|
|
+ close chan uint64
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (codec *clientCodec) WriteRequest(request *rpc.Request, args interface{}) (err error) {
|
|
|
|
+ httpRequest, err := NewRequest(codec.url.String(), request.ServiceMethod, args)
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
2019-07-26 13:24:49 +02:00
|
|
|
+ if codec.cookies != nil {
|
|
|
|
+ for _, cookie := range codec.cookies.Cookies(codec.url) {
|
|
|
|
+ httpRequest.AddCookie(cookie)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var httpResponse *http.Response
|
|
|
|
+ httpResponse, err = codec.httpClient.Do(httpRequest)
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if codec.cookies != nil {
|
|
|
|
+ codec.cookies.SetCookies(codec.url, httpResponse.Cookies())
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ codec.mutex.Lock()
|
|
|
|
+ codec.responses[request.Seq] = httpResponse
|
|
|
|
+ codec.mutex.Unlock()
|
|
|
|
+
|
|
|
|
+ codec.ready <- request.Seq
|
|
|
|
+
|
|
|
|
+ return nil
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (codec *clientCodec) ReadResponseHeader(response *rpc.Response) (err error) {
|
|
|
|
+ var seq uint64
|
|
|
|
+ select {
|
|
|
|
+ case seq = <-codec.ready:
|
|
|
|
+ case <-codec.close:
|
|
|
|
+ return errors.New("codec is closed")
|
|
|
|
+ }
|
2020-11-17 13:05:11 +01:00
|
|
|
+ response.Seq = seq
|
2019-07-26 13:24:49 +02:00
|
|
|
+
|
|
|
|
+ codec.mutex.Lock()
|
|
|
|
+ httpResponse := codec.responses[seq]
|
2020-11-17 13:05:11 +01:00
|
|
|
+ delete(codec.responses, seq)
|
2019-07-26 13:24:49 +02:00
|
|
|
+ codec.mutex.Unlock()
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+ defer httpResponse.Body.Close()
|
|
|
|
+
|
2019-07-26 13:24:49 +02:00
|
|
|
+ if httpResponse.StatusCode < 200 || httpResponse.StatusCode >= 300 {
|
2020-11-17 13:05:11 +01:00
|
|
|
+ response.Error = fmt.Sprintf("request error: bad status code - %d", httpResponse.StatusCode)
|
|
|
|
+ return nil
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+ body, err := ioutil.ReadAll(httpResponse.Body)
|
2019-07-26 13:24:49 +02:00
|
|
|
+ if err != nil {
|
2020-11-17 13:05:11 +01:00
|
|
|
+ response.Error = err.Error()
|
|
|
|
+ return nil
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+ resp := Response(body)
|
|
|
|
+ if err := resp.Err(); err != nil {
|
|
|
|
+ response.Error = err.Error()
|
|
|
|
+ return nil
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ codec.response = resp
|
|
|
|
+
|
|
|
|
+ return nil
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (codec *clientCodec) ReadResponseBody(v interface{}) (err error) {
|
|
|
|
+ if v == nil {
|
|
|
|
+ return nil
|
|
|
|
+ }
|
2020-11-17 13:05:11 +01:00
|
|
|
+ return codec.response.Unmarshal(v)
|
2019-07-26 13:24:49 +02:00
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (codec *clientCodec) Close() error {
|
|
|
|
+ if transport, ok := codec.httpClient.Transport.(*http.Transport); ok {
|
|
|
|
+ transport.CloseIdleConnections()
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ close(codec.close)
|
|
|
|
+
|
|
|
|
+ return nil
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// NewClient returns instance of rpc.Client object, that is used to send request to xmlrpc service.
|
|
|
|
+func NewClient(requrl string, transport http.RoundTripper) (*Client, error) {
|
|
|
|
+ if transport == nil {
|
|
|
|
+ transport = http.DefaultTransport
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ httpClient := &http.Client{Transport: transport}
|
|
|
|
+
|
|
|
|
+ jar, err := cookiejar.New(nil)
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ u, err := url.Parse(requrl)
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ codec := clientCodec{
|
|
|
|
+ url: u,
|
|
|
|
+ httpClient: httpClient,
|
|
|
|
+ close: make(chan uint64),
|
|
|
|
+ ready: make(chan uint64),
|
|
|
|
+ responses: make(map[uint64]*http.Response),
|
|
|
|
+ cookies: jar,
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return &Client{rpc.NewClientWithCodec(&codec)}, nil
|
|
|
|
+}
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/vendor/github.com/kolo/xmlrpc/decoder.go b/vendor/github.com/kolo/xmlrpc/decoder.go
|
|
|
|
new file mode 100644
|
|
|
|
index 000000000..d4dcb19ad
|
2019-07-26 13:24:49 +02:00
|
|
|
--- /dev/null
|
2020-11-17 13:05:11 +01:00
|
|
|
+++ b/vendor/github.com/kolo/xmlrpc/decoder.go
|
2019-07-26 13:24:49 +02:00
|
|
|
@@ -0,0 +1,473 @@
|
|
|
|
+package xmlrpc
|
|
|
|
+
|
|
|
|
+import (
|
|
|
|
+ "bytes"
|
|
|
|
+ "encoding/xml"
|
|
|
|
+ "errors"
|
|
|
|
+ "fmt"
|
|
|
|
+ "io"
|
|
|
|
+ "reflect"
|
|
|
|
+ "strconv"
|
|
|
|
+ "strings"
|
|
|
|
+ "time"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+const (
|
|
|
|
+ iso8601 = "20060102T15:04:05"
|
|
|
|
+ iso8601Z = "20060102T15:04:05Z07:00"
|
|
|
|
+ iso8601Hyphen = "2006-01-02T15:04:05"
|
|
|
|
+ iso8601HyphenZ = "2006-01-02T15:04:05Z07:00"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+var (
|
|
|
|
+ // CharsetReader is a function to generate reader which converts a non UTF-8
|
|
|
|
+ // charset into UTF-8.
|
|
|
|
+ CharsetReader func(string, io.Reader) (io.Reader, error)
|
|
|
|
+
|
|
|
|
+ timeLayouts = []string{iso8601, iso8601Z, iso8601Hyphen, iso8601HyphenZ}
|
|
|
|
+ invalidXmlError = errors.New("invalid xml")
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+type TypeMismatchError string
|
|
|
|
+
|
|
|
|
+func (e TypeMismatchError) Error() string { return string(e) }
|
|
|
|
+
|
|
|
|
+type decoder struct {
|
|
|
|
+ *xml.Decoder
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func unmarshal(data []byte, v interface{}) (err error) {
|
|
|
|
+ dec := &decoder{xml.NewDecoder(bytes.NewBuffer(data))}
|
|
|
|
+
|
|
|
|
+ if CharsetReader != nil {
|
|
|
|
+ dec.CharsetReader = CharsetReader
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var tok xml.Token
|
|
|
|
+ for {
|
|
|
|
+ if tok, err = dec.Token(); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if t, ok := tok.(xml.StartElement); ok {
|
|
|
|
+ if t.Name.Local == "value" {
|
|
|
|
+ val := reflect.ValueOf(v)
|
|
|
|
+ if val.Kind() != reflect.Ptr {
|
|
|
|
+ return errors.New("non-pointer value passed to unmarshal")
|
|
|
|
+ }
|
|
|
|
+ if err = dec.decodeValue(val.Elem()); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // read until end of document
|
|
|
|
+ err = dec.Skip()
|
|
|
|
+ if err != nil && err != io.EOF {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return nil
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (dec *decoder) decodeValue(val reflect.Value) error {
|
|
|
|
+ var tok xml.Token
|
|
|
|
+ var err error
|
|
|
|
+
|
|
|
|
+ if val.Kind() == reflect.Ptr {
|
|
|
|
+ if val.IsNil() {
|
|
|
|
+ val.Set(reflect.New(val.Type().Elem()))
|
|
|
|
+ }
|
|
|
|
+ val = val.Elem()
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var typeName string
|
|
|
|
+ for {
|
|
|
|
+ if tok, err = dec.Token(); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if t, ok := tok.(xml.EndElement); ok {
|
|
|
|
+ if t.Name.Local == "value" {
|
|
|
|
+ return nil
|
|
|
|
+ } else {
|
|
|
|
+ return invalidXmlError
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if t, ok := tok.(xml.StartElement); ok {
|
|
|
|
+ typeName = t.Name.Local
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // Treat value data without type identifier as string
|
|
|
|
+ if t, ok := tok.(xml.CharData); ok {
|
|
|
|
+ if value := strings.TrimSpace(string(t)); value != "" {
|
|
|
|
+ if err = checkType(val, reflect.String); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ val.SetString(value)
|
|
|
|
+ return nil
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ switch typeName {
|
|
|
|
+ case "struct":
|
|
|
|
+ ismap := false
|
|
|
|
+ pmap := val
|
|
|
|
+ valType := val.Type()
|
|
|
|
+
|
|
|
|
+ if err = checkType(val, reflect.Struct); err != nil {
|
|
|
|
+ if checkType(val, reflect.Map) == nil {
|
|
|
|
+ if valType.Key().Kind() != reflect.String {
|
|
|
|
+ return fmt.Errorf("only maps with string key type can be unmarshalled")
|
|
|
|
+ }
|
|
|
|
+ ismap = true
|
|
|
|
+ } else if checkType(val, reflect.Interface) == nil && val.IsNil() {
|
|
|
|
+ var dummy map[string]interface{}
|
|
|
|
+ valType = reflect.TypeOf(dummy)
|
|
|
|
+ pmap = reflect.New(valType).Elem()
|
|
|
|
+ val.Set(pmap)
|
|
|
|
+ ismap = true
|
|
|
|
+ } else {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var fields map[string]reflect.Value
|
|
|
|
+
|
|
|
|
+ if !ismap {
|
|
|
|
+ fields = make(map[string]reflect.Value)
|
|
|
|
+
|
|
|
|
+ for i := 0; i < valType.NumField(); i++ {
|
|
|
|
+ field := valType.Field(i)
|
|
|
|
+ fieldVal := val.FieldByName(field.Name)
|
|
|
|
+
|
|
|
|
+ if fieldVal.CanSet() {
|
|
|
|
+ if fn := field.Tag.Get("xmlrpc"); fn != "" {
|
|
|
|
+ fields[fn] = fieldVal
|
|
|
|
+ } else {
|
|
|
|
+ fields[field.Name] = fieldVal
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ // Create initial empty map
|
|
|
|
+ pmap.Set(reflect.MakeMap(valType))
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // Process struct members.
|
|
|
|
+ StructLoop:
|
|
|
|
+ for {
|
|
|
|
+ if tok, err = dec.Token(); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ switch t := tok.(type) {
|
|
|
|
+ case xml.StartElement:
|
|
|
|
+ if t.Name.Local != "member" {
|
|
|
|
+ return invalidXmlError
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ tagName, fieldName, err := dec.readTag()
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ if tagName != "name" {
|
|
|
|
+ return invalidXmlError
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var fv reflect.Value
|
|
|
|
+ ok := true
|
|
|
|
+
|
|
|
|
+ if !ismap {
|
|
|
|
+ fv, ok = fields[string(fieldName)]
|
|
|
|
+ } else {
|
|
|
|
+ fv = reflect.New(valType.Elem())
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if ok {
|
|
|
|
+ for {
|
|
|
|
+ if tok, err = dec.Token(); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ if t, ok := tok.(xml.StartElement); ok && t.Name.Local == "value" {
|
|
|
|
+ if err = dec.decodeValue(fv); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // </value>
|
|
|
|
+ if err = dec.Skip(); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // </member>
|
|
|
|
+ if err = dec.Skip(); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if ismap {
|
|
|
|
+ pmap.SetMapIndex(reflect.ValueOf(string(fieldName)), reflect.Indirect(fv))
|
|
|
|
+ val.Set(pmap)
|
|
|
|
+ }
|
|
|
|
+ case xml.EndElement:
|
|
|
|
+ break StructLoop
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ case "array":
|
|
|
|
+ slice := val
|
|
|
|
+ if checkType(val, reflect.Interface) == nil && val.IsNil() {
|
|
|
|
+ slice = reflect.ValueOf([]interface{}{})
|
|
|
|
+ } else if err = checkType(val, reflect.Slice); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ ArrayLoop:
|
|
|
|
+ for {
|
|
|
|
+ if tok, err = dec.Token(); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ switch t := tok.(type) {
|
|
|
|
+ case xml.StartElement:
|
|
|
|
+ var index int
|
|
|
|
+ if t.Name.Local != "data" {
|
|
|
|
+ return invalidXmlError
|
|
|
|
+ }
|
|
|
|
+ DataLoop:
|
|
|
|
+ for {
|
|
|
|
+ if tok, err = dec.Token(); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ switch tt := tok.(type) {
|
|
|
|
+ case xml.StartElement:
|
|
|
|
+ if tt.Name.Local != "value" {
|
|
|
|
+ return invalidXmlError
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if index < slice.Len() {
|
|
|
|
+ v := slice.Index(index)
|
|
|
|
+ if v.Kind() == reflect.Interface {
|
|
|
|
+ v = v.Elem()
|
|
|
|
+ }
|
|
|
|
+ if v.Kind() != reflect.Ptr {
|
|
|
|
+ return errors.New("error: cannot write to non-pointer array element")
|
|
|
|
+ }
|
|
|
|
+ if err = dec.decodeValue(v); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ v := reflect.New(slice.Type().Elem())
|
|
|
|
+ if err = dec.decodeValue(v); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ slice = reflect.Append(slice, v.Elem())
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // </value>
|
|
|
|
+ if err = dec.Skip(); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ index++
|
|
|
|
+ case xml.EndElement:
|
|
|
|
+ val.Set(slice)
|
|
|
|
+ break DataLoop
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ case xml.EndElement:
|
|
|
|
+ break ArrayLoop
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ default:
|
|
|
|
+ if tok, err = dec.Token(); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var data []byte
|
|
|
|
+
|
|
|
|
+ switch t := tok.(type) {
|
|
|
|
+ case xml.EndElement:
|
|
|
|
+ return nil
|
|
|
|
+ case xml.CharData:
|
|
|
|
+ data = []byte(t.Copy())
|
|
|
|
+ default:
|
|
|
|
+ return invalidXmlError
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ switch typeName {
|
|
|
|
+ case "int", "i4", "i8":
|
|
|
|
+ if checkType(val, reflect.Interface) == nil && val.IsNil() {
|
|
|
|
+ i, err := strconv.ParseInt(string(data), 10, 64)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ pi := reflect.New(reflect.TypeOf(i)).Elem()
|
|
|
|
+ pi.SetInt(i)
|
|
|
|
+ val.Set(pi)
|
|
|
|
+ } else if err = checkType(val, reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ } else {
|
|
|
|
+ i, err := strconv.ParseInt(string(data), 10, val.Type().Bits())
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ val.SetInt(i)
|
|
|
|
+ }
|
|
|
|
+ case "string", "base64":
|
|
|
|
+ str := string(data)
|
|
|
|
+ if checkType(val, reflect.Interface) == nil && val.IsNil() {
|
|
|
|
+ pstr := reflect.New(reflect.TypeOf(str)).Elem()
|
|
|
|
+ pstr.SetString(str)
|
|
|
|
+ val.Set(pstr)
|
|
|
|
+ } else if err = checkType(val, reflect.String); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ } else {
|
|
|
|
+ val.SetString(str)
|
|
|
|
+ }
|
|
|
|
+ case "dateTime.iso8601":
|
|
|
|
+ var t time.Time
|
|
|
|
+ var err error
|
|
|
|
+
|
|
|
|
+ for _, layout := range timeLayouts {
|
|
|
|
+ t, err = time.Parse(layout, string(data))
|
|
|
|
+ if err == nil {
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if checkType(val, reflect.Interface) == nil && val.IsNil() {
|
|
|
|
+ ptime := reflect.New(reflect.TypeOf(t)).Elem()
|
|
|
|
+ ptime.Set(reflect.ValueOf(t))
|
|
|
|
+ val.Set(ptime)
|
|
|
|
+ } else if _, ok := val.Interface().(time.Time); !ok {
|
|
|
|
+ return TypeMismatchError(fmt.Sprintf("error: type mismatch error - can't decode %v to time", val.Kind()))
|
|
|
|
+ } else {
|
|
|
|
+ val.Set(reflect.ValueOf(t))
|
|
|
|
+ }
|
|
|
|
+ case "boolean":
|
|
|
|
+ v, err := strconv.ParseBool(string(data))
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if checkType(val, reflect.Interface) == nil && val.IsNil() {
|
|
|
|
+ pv := reflect.New(reflect.TypeOf(v)).Elem()
|
|
|
|
+ pv.SetBool(v)
|
|
|
|
+ val.Set(pv)
|
|
|
|
+ } else if err = checkType(val, reflect.Bool); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ } else {
|
|
|
|
+ val.SetBool(v)
|
|
|
|
+ }
|
|
|
|
+ case "double":
|
|
|
|
+ if checkType(val, reflect.Interface) == nil && val.IsNil() {
|
|
|
|
+ i, err := strconv.ParseFloat(string(data), 64)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ pdouble := reflect.New(reflect.TypeOf(i)).Elem()
|
|
|
|
+ pdouble.SetFloat(i)
|
|
|
|
+ val.Set(pdouble)
|
|
|
|
+ } else if err = checkType(val, reflect.Float32, reflect.Float64); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ } else {
|
|
|
|
+ i, err := strconv.ParseFloat(string(data), val.Type().Bits())
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ val.SetFloat(i)
|
|
|
|
+ }
|
|
|
|
+ default:
|
|
|
|
+ return errors.New("unsupported type")
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // </type>
|
|
|
|
+ if err = dec.Skip(); err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return nil
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (dec *decoder) readTag() (string, []byte, error) {
|
|
|
|
+ var tok xml.Token
|
|
|
|
+ var err error
|
|
|
|
+
|
|
|
|
+ var name string
|
|
|
|
+ for {
|
|
|
|
+ if tok, err = dec.Token(); err != nil {
|
|
|
|
+ return "", nil, err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if t, ok := tok.(xml.StartElement); ok {
|
|
|
|
+ name = t.Name.Local
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ value, err := dec.readCharData()
|
|
|
|
+ if err != nil {
|
|
|
|
+ return "", nil, err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return name, value, dec.Skip()
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (dec *decoder) readCharData() ([]byte, error) {
|
|
|
|
+ var tok xml.Token
|
|
|
|
+ var err error
|
|
|
|
+
|
|
|
|
+ if tok, err = dec.Token(); err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if t, ok := tok.(xml.CharData); ok {
|
|
|
|
+ return []byte(t.Copy()), nil
|
|
|
|
+ } else {
|
|
|
|
+ return nil, invalidXmlError
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func checkType(val reflect.Value, kinds ...reflect.Kind) error {
|
|
|
|
+ if len(kinds) == 0 {
|
|
|
|
+ return nil
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if val.Kind() == reflect.Ptr {
|
|
|
|
+ val = val.Elem()
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ match := false
|
|
|
|
+
|
|
|
|
+ for _, kind := range kinds {
|
|
|
|
+ if val.Kind() == kind {
|
|
|
|
+ match = true
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if !match {
|
|
|
|
+ return TypeMismatchError(fmt.Sprintf("error: type mismatch - can't unmarshal %v to %v",
|
|
|
|
+ val.Kind(), kinds[0]))
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return nil
|
|
|
|
+}
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/vendor/github.com/kolo/xmlrpc/encoder.go b/vendor/github.com/kolo/xmlrpc/encoder.go
|
|
|
|
new file mode 100644
|
|
|
|
index 000000000..7ab271aa5
|
2019-07-26 13:24:49 +02:00
|
|
|
--- /dev/null
|
2020-11-17 13:05:11 +01:00
|
|
|
+++ b/vendor/github.com/kolo/xmlrpc/encoder.go
|
|
|
|
@@ -0,0 +1,181 @@
|
2019-07-26 13:24:49 +02:00
|
|
|
+package xmlrpc
|
|
|
|
+
|
|
|
|
+import (
|
|
|
|
+ "bytes"
|
|
|
|
+ "encoding/xml"
|
|
|
|
+ "fmt"
|
|
|
|
+ "reflect"
|
|
|
|
+ "sort"
|
|
|
|
+ "strconv"
|
2020-11-17 13:05:11 +01:00
|
|
|
+ "strings"
|
2019-07-26 13:24:49 +02:00
|
|
|
+ "time"
|
|
|
|
+)
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+// Base64 represents value in base64 encoding
|
|
|
|
+type Base64 string
|
|
|
|
+
|
2019-07-26 13:24:49 +02:00
|
|
|
+type encodeFunc func(reflect.Value) ([]byte, error)
|
|
|
|
+
|
|
|
|
+func marshal(v interface{}) ([]byte, error) {
|
|
|
|
+ if v == nil {
|
|
|
|
+ return []byte{}, nil
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ val := reflect.ValueOf(v)
|
|
|
|
+ return encodeValue(val)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func encodeValue(val reflect.Value) ([]byte, error) {
|
|
|
|
+ var b []byte
|
|
|
|
+ var err error
|
|
|
|
+
|
|
|
|
+ if val.Kind() == reflect.Ptr || val.Kind() == reflect.Interface {
|
|
|
|
+ if val.IsNil() {
|
|
|
|
+ return []byte("<value/>"), nil
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ val = val.Elem()
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ switch val.Kind() {
|
|
|
|
+ case reflect.Struct:
|
|
|
|
+ switch val.Interface().(type) {
|
|
|
|
+ case time.Time:
|
|
|
|
+ t := val.Interface().(time.Time)
|
|
|
|
+ b = []byte(fmt.Sprintf("<dateTime.iso8601>%s</dateTime.iso8601>", t.Format(iso8601)))
|
|
|
|
+ default:
|
|
|
|
+ b, err = encodeStruct(val)
|
|
|
|
+ }
|
|
|
|
+ case reflect.Map:
|
|
|
|
+ b, err = encodeMap(val)
|
|
|
|
+ case reflect.Slice:
|
|
|
|
+ b, err = encodeSlice(val)
|
|
|
|
+ case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
|
|
|
|
+ b = []byte(fmt.Sprintf("<int>%s</int>", strconv.FormatInt(val.Int(), 10)))
|
|
|
|
+ case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
|
|
|
|
+ b = []byte(fmt.Sprintf("<i4>%s</i4>", strconv.FormatUint(val.Uint(), 10)))
|
|
|
|
+ case reflect.Float32, reflect.Float64:
|
|
|
|
+ b = []byte(fmt.Sprintf("<double>%s</double>",
|
|
|
|
+ strconv.FormatFloat(val.Float(), 'f', -1, val.Type().Bits())))
|
|
|
|
+ case reflect.Bool:
|
|
|
|
+ if val.Bool() {
|
|
|
|
+ b = []byte("<boolean>1</boolean>")
|
|
|
|
+ } else {
|
|
|
|
+ b = []byte("<boolean>0</boolean>")
|
|
|
|
+ }
|
|
|
|
+ case reflect.String:
|
|
|
|
+ var buf bytes.Buffer
|
|
|
|
+
|
|
|
|
+ xml.Escape(&buf, []byte(val.String()))
|
|
|
|
+
|
|
|
|
+ if _, ok := val.Interface().(Base64); ok {
|
|
|
|
+ b = []byte(fmt.Sprintf("<base64>%s</base64>", buf.String()))
|
|
|
|
+ } else {
|
|
|
|
+ b = []byte(fmt.Sprintf("<string>%s</string>", buf.String()))
|
|
|
|
+ }
|
|
|
|
+ default:
|
|
|
|
+ return nil, fmt.Errorf("xmlrpc encode error: unsupported type")
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return []byte(fmt.Sprintf("<value>%s</value>", string(b))), nil
|
|
|
|
+}
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+func encodeStruct(structVal reflect.Value) ([]byte, error) {
|
2019-07-26 13:24:49 +02:00
|
|
|
+ var b bytes.Buffer
|
|
|
|
+
|
|
|
|
+ b.WriteString("<struct>")
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+ structType := structVal.Type()
|
|
|
|
+ for i := 0; i < structType.NumField(); i++ {
|
|
|
|
+ fieldVal := structVal.Field(i)
|
|
|
|
+ fieldType := structType.Field(i)
|
2019-07-26 13:24:49 +02:00
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+ name := fieldType.Tag.Get("xmlrpc")
|
|
|
|
+ // if the tag has the omitempty property, skip it
|
|
|
|
+ if strings.HasSuffix(name, ",omitempty") && isZero(fieldVal) {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ name = strings.TrimSuffix(name, ",omitempty")
|
2019-07-26 13:24:49 +02:00
|
|
|
+ if name == "" {
|
2020-11-17 13:05:11 +01:00
|
|
|
+ name = fieldType.Name
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+ p, err := encodeValue(fieldVal)
|
2019-07-26 13:24:49 +02:00
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+ b.WriteString("<member>")
|
|
|
|
+ b.WriteString(fmt.Sprintf("<name>%s</name>", name))
|
|
|
|
+ b.Write(p)
|
2019-07-26 13:24:49 +02:00
|
|
|
+ b.WriteString("</member>")
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ b.WriteString("</struct>")
|
|
|
|
+
|
|
|
|
+ return b.Bytes(), nil
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+var sortMapKeys bool
|
|
|
|
+
|
|
|
|
+func encodeMap(val reflect.Value) ([]byte, error) {
|
|
|
|
+ var t = val.Type()
|
|
|
|
+
|
|
|
|
+ if t.Key().Kind() != reflect.String {
|
|
|
|
+ return nil, fmt.Errorf("xmlrpc encode error: only maps with string keys are supported")
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var b bytes.Buffer
|
|
|
|
+
|
|
|
|
+ b.WriteString("<struct>")
|
|
|
|
+
|
|
|
|
+ keys := val.MapKeys()
|
|
|
|
+
|
|
|
|
+ if sortMapKeys {
|
|
|
|
+ sort.Slice(keys, func(i, j int) bool { return keys[i].String() < keys[j].String() })
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for i := 0; i < val.Len(); i++ {
|
|
|
|
+ key := keys[i]
|
|
|
|
+ kval := val.MapIndex(key)
|
|
|
|
+
|
|
|
|
+ b.WriteString("<member>")
|
|
|
|
+ b.WriteString(fmt.Sprintf("<name>%s</name>", key.String()))
|
|
|
|
+
|
|
|
|
+ p, err := encodeValue(kval)
|
|
|
|
+
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ b.Write(p)
|
|
|
|
+ b.WriteString("</member>")
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ b.WriteString("</struct>")
|
|
|
|
+
|
|
|
|
+ return b.Bytes(), nil
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func encodeSlice(val reflect.Value) ([]byte, error) {
|
|
|
|
+ var b bytes.Buffer
|
|
|
|
+
|
|
|
|
+ b.WriteString("<array><data>")
|
|
|
|
+
|
|
|
|
+ for i := 0; i < val.Len(); i++ {
|
|
|
|
+ p, err := encodeValue(val.Index(i))
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ b.Write(p)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ b.WriteString("</data></array>")
|
|
|
|
+
|
|
|
|
+ return b.Bytes(), nil
|
|
|
|
+}
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/vendor/github.com/kolo/xmlrpc/go.mod b/vendor/github.com/kolo/xmlrpc/go.mod
|
|
|
|
new file mode 100644
|
|
|
|
index 000000000..42e7acd80
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/vendor/github.com/kolo/xmlrpc/go.mod
|
|
|
|
@@ -0,0 +1,5 @@
|
|
|
|
+module github.com/kolo/xmlrpc
|
|
|
|
+
|
|
|
|
+go 1.14
|
|
|
|
+
|
|
|
|
+require golang.org/x/text v0.3.3
|
|
|
|
diff --git a/vendor/github.com/kolo/xmlrpc/go.sum b/vendor/github.com/kolo/xmlrpc/go.sum
|
|
|
|
new file mode 100644
|
|
|
|
index 000000000..fd5b10f79
|
2019-07-26 13:24:49 +02:00
|
|
|
--- /dev/null
|
2020-11-17 13:05:11 +01:00
|
|
|
+++ b/vendor/github.com/kolo/xmlrpc/go.sum
|
|
|
|
@@ -0,0 +1,3 @@
|
|
|
|
+golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
|
|
|
|
+golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
|
|
|
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
|
|
|
diff --git a/vendor/github.com/kolo/xmlrpc/is_zero.go b/vendor/github.com/kolo/xmlrpc/is_zero.go
|
|
|
|
new file mode 100644
|
|
|
|
index 000000000..65276d04a
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/vendor/github.com/kolo/xmlrpc/is_zero.go
|
|
|
|
@@ -0,0 +1,44 @@
|
2019-07-26 13:24:49 +02:00
|
|
|
+package xmlrpc
|
|
|
|
+
|
|
|
|
+import (
|
2020-11-17 13:05:11 +01:00
|
|
|
+ "math"
|
|
|
|
+ . "reflect"
|
2019-07-26 13:24:49 +02:00
|
|
|
+)
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+func isZero(v Value) bool {
|
|
|
|
+ switch v.Kind() {
|
|
|
|
+ case Bool:
|
|
|
|
+ return !v.Bool()
|
|
|
|
+ case Int, Int8, Int16, Int32, Int64:
|
|
|
|
+ return v.Int() == 0
|
|
|
|
+ case Uint, Uint8, Uint16, Uint32, Uint64, Uintptr:
|
|
|
|
+ return v.Uint() == 0
|
|
|
|
+ case Float32, Float64:
|
|
|
|
+ return math.Float64bits(v.Float()) == 0
|
|
|
|
+ case Complex64, Complex128:
|
|
|
|
+ c := v.Complex()
|
|
|
|
+ return math.Float64bits(real(c)) == 0 && math.Float64bits(imag(c)) == 0
|
|
|
|
+ case Array:
|
|
|
|
+ for i := 0; i < v.Len(); i++ {
|
|
|
|
+ if !isZero(v.Index(i)) {
|
|
|
|
+ return false
|
|
|
|
+ }
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
2020-11-17 13:05:11 +01:00
|
|
|
+ return true
|
|
|
|
+ case Chan, Func, Interface, Map, Ptr, Slice, UnsafePointer:
|
|
|
|
+ return v.IsNil()
|
|
|
|
+ case String:
|
|
|
|
+ return v.Len() == 0
|
|
|
|
+ case Struct:
|
|
|
|
+ for i := 0; i < v.NumField(); i++ {
|
|
|
|
+ if !isZero(v.Field(i)) {
|
|
|
|
+ return false
|
|
|
|
+ }
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
2020-11-17 13:05:11 +01:00
|
|
|
+ return true
|
|
|
|
+ default:
|
|
|
|
+ // This should never happens, but will act as a safeguard for
|
|
|
|
+ // later, as a default value doesn't makes sense here.
|
|
|
|
+ panic(&ValueError{"reflect.Value.IsZero", v.Kind()})
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
|
|
|
+}
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/vendor/github.com/kolo/xmlrpc/request.go b/vendor/github.com/kolo/xmlrpc/request.go
|
|
|
|
new file mode 100644
|
|
|
|
index 000000000..acb8251b2
|
2019-07-26 13:24:49 +02:00
|
|
|
--- /dev/null
|
2020-11-17 13:05:11 +01:00
|
|
|
+++ b/vendor/github.com/kolo/xmlrpc/request.go
|
2019-07-26 13:24:49 +02:00
|
|
|
@@ -0,0 +1,57 @@
|
|
|
|
+package xmlrpc
|
|
|
|
+
|
|
|
|
+import (
|
|
|
|
+ "bytes"
|
|
|
|
+ "fmt"
|
|
|
|
+ "net/http"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+func NewRequest(url string, method string, args interface{}) (*http.Request, error) {
|
|
|
|
+ var t []interface{}
|
|
|
|
+ var ok bool
|
|
|
|
+ if t, ok = args.([]interface{}); !ok {
|
|
|
|
+ if args != nil {
|
|
|
|
+ t = []interface{}{args}
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ body, err := EncodeMethodCall(method, t...)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ request, err := http.NewRequest("POST", url, bytes.NewReader(body))
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ request.Header.Set("Content-Type", "text/xml")
|
|
|
|
+ request.Header.Set("Content-Length", fmt.Sprintf("%d", len(body)))
|
|
|
|
+
|
|
|
|
+ return request, nil
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func EncodeMethodCall(method string, args ...interface{}) ([]byte, error) {
|
|
|
|
+ var b bytes.Buffer
|
|
|
|
+ b.WriteString(`<?xml version="1.0" encoding="UTF-8"?>`)
|
|
|
|
+ b.WriteString(fmt.Sprintf("<methodCall><methodName>%s</methodName>", method))
|
|
|
|
+
|
|
|
|
+ if args != nil {
|
|
|
|
+ b.WriteString("<params>")
|
|
|
|
+
|
|
|
|
+ for _, arg := range args {
|
|
|
|
+ p, err := marshal(arg)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ b.WriteString(fmt.Sprintf("<param>%s</param>", string(p)))
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ b.WriteString("</params>")
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ b.WriteString("</methodCall>")
|
|
|
|
+
|
|
|
|
+ return b.Bytes(), nil
|
|
|
|
+}
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/vendor/github.com/kolo/xmlrpc/response.go b/vendor/github.com/kolo/xmlrpc/response.go
|
|
|
|
new file mode 100644
|
|
|
|
index 000000000..18e6d366c
|
2019-07-26 13:24:49 +02:00
|
|
|
--- /dev/null
|
2020-11-17 13:05:11 +01:00
|
|
|
+++ b/vendor/github.com/kolo/xmlrpc/response.go
|
|
|
|
@@ -0,0 +1,42 @@
|
2019-07-26 13:24:49 +02:00
|
|
|
+package xmlrpc
|
|
|
|
+
|
|
|
|
+import (
|
2020-11-17 13:05:11 +01:00
|
|
|
+ "fmt"
|
2019-07-26 13:24:49 +02:00
|
|
|
+ "regexp"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+var (
|
|
|
|
+ faultRx = regexp.MustCompile(`<fault>(\s|\S)+</fault>`)
|
|
|
|
+)
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+// FaultError is returned from the server when an invalid call is made
|
|
|
|
+type FaultError struct {
|
|
|
|
+ Code int `xmlrpc:"faultCode"`
|
|
|
|
+ String string `xmlrpc:"faultString"`
|
2019-07-26 13:24:49 +02:00
|
|
|
+}
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+// Error implements the error interface
|
|
|
|
+func (e FaultError) Error() string {
|
|
|
|
+ return fmt.Sprintf("Fault(%d): %s", e.Code, e.String)
|
2019-07-26 13:24:49 +02:00
|
|
|
+}
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+type Response []byte
|
2019-07-26 13:24:49 +02:00
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+func (r Response) Err() error {
|
|
|
|
+ if !faultRx.Match(r) {
|
|
|
|
+ return nil
|
2019-07-26 13:24:49 +02:00
|
|
|
+ }
|
2020-11-17 13:05:11 +01:00
|
|
|
+ var fault FaultError
|
|
|
|
+ if err := unmarshal(r, &fault); err != nil {
|
2019-07-26 13:24:49 +02:00
|
|
|
+ return err
|
|
|
|
+ }
|
2020-11-17 13:05:11 +01:00
|
|
|
+ return fault
|
2019-07-26 13:24:49 +02:00
|
|
|
+}
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+func (r Response) Unmarshal(v interface{}) error {
|
|
|
|
+ if err := unmarshal(r, v); err != nil {
|
2019-07-26 13:24:49 +02:00
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return nil
|
|
|
|
+}
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/vendor/github.com/kolo/xmlrpc/test_server.rb b/vendor/github.com/kolo/xmlrpc/test_server.rb
|
|
|
|
new file mode 100644
|
|
|
|
index 000000000..1ccfc9ac4
|
2019-07-26 13:24:49 +02:00
|
|
|
--- /dev/null
|
2020-11-17 13:05:11 +01:00
|
|
|
+++ b/vendor/github.com/kolo/xmlrpc/test_server.rb
|
2019-07-26 13:24:49 +02:00
|
|
|
@@ -0,0 +1,25 @@
|
|
|
|
+# encoding: utf-8
|
|
|
|
+
|
|
|
|
+require "xmlrpc/server"
|
|
|
|
+
|
|
|
|
+class Service
|
|
|
|
+ def time
|
|
|
|
+ Time.now
|
|
|
|
+ end
|
|
|
|
+
|
|
|
|
+ def upcase(s)
|
|
|
|
+ s.upcase
|
|
|
|
+ end
|
|
|
|
+
|
|
|
|
+ def sum(x, y)
|
|
|
|
+ x + y
|
|
|
|
+ end
|
|
|
|
+
|
2020-11-17 13:05:11 +01:00
|
|
|
+ def error
|
|
|
|
+ raise XMLRPC::FaultException.new(500, "Server error")
|
|
|
|
+ end
|
2019-07-26 13:24:49 +02:00
|
|
|
+end
|
|
|
|
+
|
|
|
|
+server = XMLRPC::Server.new 5001, 'localhost'
|
|
|
|
+server.add_handler "service", Service.new
|
|
|
|
+server.serve
|
2020-11-17 13:05:11 +01:00
|
|
|
diff --git a/vendor/modules.txt b/vendor/modules.txt
|
|
|
|
index a2365b4c8..7f30086c3 100644
|
|
|
|
--- a/vendor/modules.txt
|
|
|
|
+++ b/vendor/modules.txt
|
|
|
|
@@ -312,6 +312,9 @@ github.com/jpillora/backoff
|
|
|
|
github.com/json-iterator/go
|
|
|
|
# github.com/julienschmidt/httprouter v1.3.0
|
|
|
|
github.com/julienschmidt/httprouter
|
|
|
|
+# github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b
|
|
|
|
+## explicit
|
|
|
|
+github.com/kolo/xmlrpc
|
|
|
|
# github.com/konsorten/go-windows-terminal-sequences v1.0.3
|
|
|
|
github.com/konsorten/go-windows-terminal-sequences
|
|
|
|
# github.com/mailru/easyjson v0.7.1
|
|
|
|
--
|
2021-03-16 14:14:42 +01:00
|
|
|
2.26.2
|
2020-11-17 13:05:11 +01:00
|
|
|
|