From 3485edbd726679183b519ff3f5c2f74fc526e933c30fb5bf8869ec483cddb84f Mon Sep 17 00:00:00 2001 From: Dirk Stoecker Date: Sat, 6 Jul 2019 20:18:59 +0000 Subject: [PATCH 1/2] Accepting request 713709 from home:simoncrute:branches:server:monitoring - rebase patch002-Default-settings.patch - Update to 2.10.0: + Bug Fixes: * TSDB: Don't panic when running out of disk space and recover nicely from the condition * TSDB: Correctly handle empty labels. * TSDB: Don't crash on an unknown tombstone reference. * Storage/remote: Remove queue-manager specific metrics if queue no longer exists. * PromQL: Correctly display {__name__="a"}. * Discovery/kubernetes: Use service rather than ingress as the name for the service workqueue. * Discovery/azure: Don't panic on a VM with a public IP. * Web: Fixed Content-Type for js and css instead of using /etc/mime.types. * API: Encode alert values as string to correctly represent Inf/NaN. + Features: * Template expansion: Make external labels available as $externalLabels in alert and console template expansion. * TSDB: Add prometheus_tsdb_wal_segment_current metric for the WAL segment index that TSDB is currently writing to. tsdb * Scrape: Add scrape_series_added per-scrape metric. #5546 + Enhancements * Discovery/kubernetes: Add labels __meta_kubernetes_endpoint_node_name and __meta_kubernetes_endpoint_hostname. * Discovery/azure: Add label __meta_azure_machine_public_ip. * TSDB: Simplify mergedPostings.Seek, resulting in better performance if there are many posting lists. tsdb * Log filesystem type on startup. * Cmd/promtool: Use POST requests for Query and QueryRange. client_golang * Web: Sort alerts by group name. * Console templates: Add convenience variables $rawParams, $params, $path. - Upadte to 2.9.2 + Bug Fixes: * Make sure subquery range is taken into account for selection * Exhaust every request body before closing it * Cmd/promtool: return errors from rule evaluations * Remote Storage: string interner should not panic in release * Fix memory allocation regression in mergedPostings.Seek tsdb - Update to 2.9.1 + Bug Fixes: * Discovery/kubernetes: fix missing label sanitization * Remote_write: Prevent reshard concurrent with calling stop - Update to 2.9.0 + Feature: * Add honor_timestamps scrape option. + Enhancements: * Update Consul to support catalog.ServiceMultipleTags. * Discovery/kubernetes: add present labels for labels/annotations. * OpenStack SD: Add ProjectID and UserID meta labels. * Add GODEBUG and retention to the runtime page. * Add support for POSTing to /series endpoint. * Support PUT methods for Lifecycle and Admin APIs. * Scrape: Add global jitter for HA server. * Check for cancellation on every step of a range evaluation. * String interning for labels & values in the remote_write path. * Don't lose the scrape cache on a failed scrape. * Reload cert files from disk automatically. common * Use fixed length millisecond timestamp format for logs. common * Performance improvements for postings. Bug Fixes: * Remote Write: fix checkpoint reading. * Check if label value is valid when unmarshaling external labels from YAML. * Promparse: sort all labels when parsing. * Reload rules: copy state on both name and labels. * Exponentation operator to drop metric name in result of operation. * Config: resolve more file paths. * Promtool: resolve relative paths in alert test files. * Set TLSHandshakeTimeout in HTTP transport. common * Use fsync to be more resilient to machine crashes. * Keep series that are still in WAL in checkpoints. - Update to 2.8.1 + Bug Fixes * Display the job labels in /targets which was removed accidentally - Update to 2.8.0 + Change: * This release uses Write-Ahead Logging (WAL) for the remote_write API. This currently causes a slight increase in memory usage, which will be addressed in future releases. * Default time retention is used only when no size based retention is specified. These are flags where time retention is specified by the flag --storage.tsdb.retention and size retention by --storage.tsdb.retention.size. * prometheus_tsdb_storage_blocks_bytes_total is now prometheus_tsdb_storage_blocks_bytes. + Feature: * (EXPERIMENTAL) Time overlapping blocks are now allowed; vertical compaction and vertical query merge. It is an optional feature which is controlled by the --storage.tsdb.allow-overlapping-blocks flag, disabled by default. + Enhancements: * Use the WAL for remote_write API. * Query performance improvements. * UI enhancements with upgrade to Bootstrap 4. * Reduce time that Alertmanagers are in flux when reloaded. * Limit number of metrics displayed on UI to 10000. * (1) Remember All/Unhealthy choice on target-overview when reloading page. (2) Resize text-input area on Graph page on mouseclick. * In histogram_quantile merge buckets with equivalent le values. * Show list of offending labels in the error message in many-to-many scenarios. * Show Storage Retention criteria in effect on /status page. + Bug Fixes: + Fix sorting of rule groups. + Fix support for password_file and bearer_token_file in Kubernetes SD. + Scrape: catch errors when creating HTTP clients + Adds new metrics: prometheus_target_scrape_pools_total prometheus_target_scrape_pools_failed_total prometheus_target_scrape_pool_reloads_total prometheus_target_scrape_pool_reloads_failed_total + Fix panic when aggregator param is not a literal. OBS-URL: https://build.opensuse.org/request/show/713709 OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=12 --- 0002-Default-settings.patch | 11 +-- _service | 16 --- golang-github-prometheus-prometheus.changes | 102 ++++++++++++++++++++ golang-github-prometheus-prometheus.spec | 4 +- prometheus-2.10.0.tar.xz | 3 + prometheus-2.7.1.tar.xz | 3 - 6 files changed, 112 insertions(+), 27 deletions(-) delete mode 100644 _service create mode 100644 prometheus-2.10.0.tar.xz delete mode 100644 prometheus-2.7.1.tar.xz diff --git a/0002-Default-settings.patch b/0002-Default-settings.patch index c745862..8154b09 100644 --- a/0002-Default-settings.patch +++ b/0002-Default-settings.patch @@ -9,10 +9,10 @@ Signed-off-by: Jan Fajerski 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/prometheus/main.go b/cmd/prometheus/main.go -index 045ec537..380296ab 100644 +index 5529f0d..d6a18ff 100644 --- a/cmd/prometheus/main.go +++ b/cmd/prometheus/main.go -@@ -134,7 +134,7 @@ func main() { +@@ -133,7 +133,7 @@ func main() { a.HelpFlag.Short('h') a.Flag("config.file", "Prometheus configuration file path."). @@ -21,7 +21,7 @@ index 045ec537..380296ab 100644 a.Flag("web.listen-address", "Address to listen on for UI, API, and telemetry."). Default("0.0.0.0:9090").StringVar(&cfg.web.ListenAddress) -@@ -164,16 +164,16 @@ func main() { +@@ -163,10 +163,10 @@ func main() { Default("false").BoolVar(&cfg.web.EnableAdminAPI) a.Flag("web.console.templates", "Path to the console template directory, available at /consoles."). @@ -34,6 +34,8 @@ index 045ec537..380296ab 100644 a.Flag("web.page-title", "Document title of Prometheus instance."). Default("Prometheus Time Series Collection and Processing Server").StringVar(&cfg.web.PageTitle) +@@ -175,7 +175,7 @@ func main() { + Default(".*").StringVar(&cfg.corsRegexString) a.Flag("storage.tsdb.path", "Base path for metrics storage."). - Default("data/").StringVar(&cfg.localStoragePath) @@ -41,6 +43,3 @@ index 045ec537..380296ab 100644 a.Flag("storage.tsdb.min-block-duration", "Minimum duration of a data block before being persisted. For use in testing."). Hidden().Default("2h").SetValue(&cfg.tsdb.MinBlockDuration) --- -2.20.1 - diff --git a/_service b/_service deleted file mode 100644 index 5072cde..0000000 --- a/_service +++ /dev/null @@ -1,16 +0,0 @@ - - - https://github.com/prometheus/prometheus.git - git - .git - 2.7.1 - v2.7.1 - - - prometheus-*.tar - xz - - - prometheus - - diff --git a/golang-github-prometheus-prometheus.changes b/golang-github-prometheus-prometheus.changes index 6b28318..dfeeb5c 100644 --- a/golang-github-prometheus-prometheus.changes +++ b/golang-github-prometheus-prometheus.changes @@ -1,3 +1,105 @@ +------------------------------------------------------------------- +Thu Jul 4 12:08:24 UTC 2019 - Simon Crute + +- rebase patch002-Default-settings.patch + +- Update to 2.10.0: + + Bug Fixes: + * TSDB: Don't panic when running out of disk space and recover nicely from the condition + * TSDB: Correctly handle empty labels. + * TSDB: Don't crash on an unknown tombstone reference. + * Storage/remote: Remove queue-manager specific metrics if queue no longer exists. + * PromQL: Correctly display {__name__="a"}. + * Discovery/kubernetes: Use service rather than ingress as the name for the service workqueue. + * Discovery/azure: Don't panic on a VM with a public IP. + * Web: Fixed Content-Type for js and css instead of using /etc/mime.types. + * API: Encode alert values as string to correctly represent Inf/NaN. + + Features: + * Template expansion: Make external labels available as $externalLabels in alert and console template expansion. + * TSDB: Add prometheus_tsdb_wal_segment_current metric for the WAL segment index that TSDB is currently writing to. tsdb + * Scrape: Add scrape_series_added per-scrape metric. #5546 + + Enhancements + * Discovery/kubernetes: Add labels __meta_kubernetes_endpoint_node_name and __meta_kubernetes_endpoint_hostname. + * Discovery/azure: Add label __meta_azure_machine_public_ip. + * TSDB: Simplify mergedPostings.Seek, resulting in better performance if there are many posting lists. tsdb + * Log filesystem type on startup. + * Cmd/promtool: Use POST requests for Query and QueryRange. client_golang + * Web: Sort alerts by group name. + * Console templates: Add convenience variables $rawParams, $params, $path. +- Upadte to 2.9.2 + + Bug Fixes: + * Make sure subquery range is taken into account for selection + * Exhaust every request body before closing it + * Cmd/promtool: return errors from rule evaluations + * Remote Storage: string interner should not panic in release + * Fix memory allocation regression in mergedPostings.Seek tsdb + +- Update to 2.9.1 + + Bug Fixes: + * Discovery/kubernetes: fix missing label sanitization + * Remote_write: Prevent reshard concurrent with calling stop + +- Update to 2.9.0 + + Feature: + * Add honor_timestamps scrape option. + + Enhancements: + * Update Consul to support catalog.ServiceMultipleTags. + * Discovery/kubernetes: add present labels for labels/annotations. + * OpenStack SD: Add ProjectID and UserID meta labels. + * Add GODEBUG and retention to the runtime page. + * Add support for POSTing to /series endpoint. + * Support PUT methods for Lifecycle and Admin APIs. + * Scrape: Add global jitter for HA server. + * Check for cancellation on every step of a range evaluation. + * String interning for labels & values in the remote_write path. + * Don't lose the scrape cache on a failed scrape. + * Reload cert files from disk automatically. common + * Use fixed length millisecond timestamp format for logs. common + * Performance improvements for postings. + Bug Fixes: + * Remote Write: fix checkpoint reading. + * Check if label value is valid when unmarshaling external labels from YAML. + * Promparse: sort all labels when parsing. + * Reload rules: copy state on both name and labels. + * Exponentation operator to drop metric name in result of operation. + * Config: resolve more file paths. + * Promtool: resolve relative paths in alert test files. + * Set TLSHandshakeTimeout in HTTP transport. common + * Use fsync to be more resilient to machine crashes. + * Keep series that are still in WAL in checkpoints. + +- Update to 2.8.1 + + Bug Fixes + * Display the job labels in /targets which was removed accidentally + +- Update to 2.8.0 + + Change: + * This release uses Write-Ahead Logging (WAL) for the remote_write API. This currently causes a slight increase in memory usage, which will be addressed in future releases. + * Default time retention is used only when no size based retention is specified. These are flags where time retention is specified by the flag --storage.tsdb.retention and size retention by --storage.tsdb.retention.size. + * prometheus_tsdb_storage_blocks_bytes_total is now prometheus_tsdb_storage_blocks_bytes. + + Feature: + * (EXPERIMENTAL) Time overlapping blocks are now allowed; vertical compaction and vertical query merge. It is an optional feature which is controlled by the --storage.tsdb.allow-overlapping-blocks flag, disabled by default. + + Enhancements: + * Use the WAL for remote_write API. + * Query performance improvements. + * UI enhancements with upgrade to Bootstrap 4. + * Reduce time that Alertmanagers are in flux when reloaded. + * Limit number of metrics displayed on UI to 10000. + * (1) Remember All/Unhealthy choice on target-overview when reloading page. (2) Resize text-input area on Graph page on mouseclick. + * In histogram_quantile merge buckets with equivalent le values. + * Show list of offending labels in the error message in many-to-many scenarios. + * Show Storage Retention criteria in effect on /status page. + + Bug Fixes: + + Fix sorting of rule groups. + + Fix support for password_file and bearer_token_file in Kubernetes SD. + + Scrape: catch errors when creating HTTP clients + + Adds new metrics: + prometheus_target_scrape_pools_total + prometheus_target_scrape_pools_failed_total + prometheus_target_scrape_pool_reloads_total + prometheus_target_scrape_pool_reloads_failed_total + + Fix panic when aggregator param is not a literal. + ------------------------------------------------------------------- Fri Feb 22 09:20:11 UTC 2019 - Jan Fajerski diff --git a/golang-github-prometheus-prometheus.spec b/golang-github-prometheus-prometheus.spec index 324873e..ac5686c 100644 --- a/golang-github-prometheus-prometheus.spec +++ b/golang-github-prometheus-prometheus.spec @@ -20,7 +20,7 @@ %{go_nostrip} Name: golang-github-prometheus-prometheus -Version: 2.7.1 +Version: 2.10.0 Release: 0 Summary: The Prometheus monitoring system and time series database License: Apache-2.0 @@ -49,7 +49,7 @@ BuildRequires: fdupes BuildRequires: golang-github-prometheus-promu BuildRequires: golang-packaging BuildRequires: xz -BuildRequires: golang(API) >= 1.11 +BuildRequires: golang(API) >= 1.12 BuildRoot: %{_tmppath}/%{name}-%{version}-build %{?systemd_requires} Requires(pre): shadow diff --git a/prometheus-2.10.0.tar.xz b/prometheus-2.10.0.tar.xz new file mode 100644 index 0000000..9bc928f --- /dev/null +++ b/prometheus-2.10.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9838914564f8a155972d6ba0d6b9496d8b9f2a7d655c2b12d4d650f4be8a89e +size 7214868 diff --git a/prometheus-2.7.1.tar.xz b/prometheus-2.7.1.tar.xz deleted file mode 100644 index 9abc647..0000000 --- a/prometheus-2.7.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dba76906f00f2ecb379f6a183487574201cc98d7b2b4465e432c92d70b1f9667 -size 4268468 From cb6536eb0e649f96157fe3bd779d5c4985e3f48e628bbe98659115d4f10ec6d0 Mon Sep 17 00:00:00 2001 From: Jan Fajerski Date: Fri, 19 Jul 2019 07:43:39 +0000 Subject: [PATCH 2/2] Accepting request 716729 from home:simoncrute:branches:server:monitoring - readded _service file removed in error. - Update to 2.11.1 + Bug Fix: * Fix potential panic when prometheus is watching multiple zookeeper paths. - Update to 2.11.0 + Bug Fix: * resolve race condition in maxGauge. * Fix ZooKeeper connection leak. * Improved atomicity of .tmp block replacement during compaction for usual case. * Fix "unknown series references" after clean shutdown. * Re-calculate block size when calling block.Delete. * Fix unsafe snapshots with head block. * prometheus_tsdb_compactions_failed_total is now incremented on any compaction failure. + Changes: * Remove max_retries from queue_config (it has been unused since rewriting remote-write to utilize the write-ahead-log) * The meta file BlockStats no longer holds size information. This is now dynamically calculated and kept in memory. It also includes the meta file size which was not included before * Renamed metric from prometheus_tsdb_wal_reader_corruption_errors to prometheus_tsdb_wal_reader_corruption_errors_total + Features: * Add option to use Alertmanager API v2. * Added humanizePercentage function for templates. * Include InitContainers in Kubernetes Service Discovery. * Provide option to compress WAL records using Snappy. + Enhancements: * Create new clean segment when starting the WAL. * Reduce allocations in PromQL aggregations. * Add storage warnings to LabelValues and LabelNames API results. * Add prometheus_http_requests_total metric. * Enable openbsd/arm build. * Remote-write allocation improvements. * Query performance improvement: Efficient iteration and search in HashForLabels and HashWithoutLabels. * Allow injection of arbitrary headers in promtool. * Allow passing external_labels in alert unit tests groups. * Allows globs for rules when unit testing. * Improved postings intersection matching. * Reduced disk usage for WAL for small setups. * Optimize queries using regexp for set lookups. OBS-URL: https://build.opensuse.org/request/show/716729 OBS-URL: https://build.opensuse.org/package/show/server:monitoring/golang-github-prometheus-prometheus?expand=0&rev=13 --- _service | 16 ++++++++ golang-github-prometheus-prometheus.changes | 43 +++++++++++++++++++++ golang-github-prometheus-prometheus.spec | 2 +- prometheus-2.10.0.tar.xz | 3 -- prometheus-2.11.1.tar.xz | 3 ++ 5 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 _service delete mode 100644 prometheus-2.10.0.tar.xz create mode 100644 prometheus-2.11.1.tar.xz diff --git a/_service b/_service new file mode 100644 index 0000000..3a1bfb1 --- /dev/null +++ b/_service @@ -0,0 +1,16 @@ + + + https://github.com/prometheus/prometheus.git + git + .git + 2.11.1 + v2.11.1 + + + prometheus-*.tar + xz + + + prometheus + + diff --git a/golang-github-prometheus-prometheus.changes b/golang-github-prometheus-prometheus.changes index dfeeb5c..3778109 100644 --- a/golang-github-prometheus-prometheus.changes +++ b/golang-github-prometheus-prometheus.changes @@ -1,3 +1,46 @@ +------------------------------------------------------------------- +Thu Jul 18 01:06:13 UTC 2019 - Simon Crute + +- readded _service file removed in error. + +- Update to 2.11.1 + + Bug Fix: + * Fix potential panic when prometheus is watching multiple zookeeper paths. + +- Update to 2.11.0 + + Bug Fix: + * resolve race condition in maxGauge. + * Fix ZooKeeper connection leak. + * Improved atomicity of .tmp block replacement during compaction for usual case. + * Fix "unknown series references" after clean shutdown. + * Re-calculate block size when calling block.Delete. + * Fix unsafe snapshots with head block. + * prometheus_tsdb_compactions_failed_total is now incremented on any compaction failure. + + Changes: + * Remove max_retries from queue_config (it has been unused since rewriting remote-write to utilize the write-ahead-log) + * The meta file BlockStats no longer holds size information. This is now dynamically calculated and kept in memory. It also includes the meta file size which was not included before + * Renamed metric from prometheus_tsdb_wal_reader_corruption_errors to prometheus_tsdb_wal_reader_corruption_errors_total + + Features: + * Add option to use Alertmanager API v2. + * Added humanizePercentage function for templates. + * Include InitContainers in Kubernetes Service Discovery. + * Provide option to compress WAL records using Snappy. + + Enhancements: + * Create new clean segment when starting the WAL. + * Reduce allocations in PromQL aggregations. + * Add storage warnings to LabelValues and LabelNames API results. + * Add prometheus_http_requests_total metric. + * Enable openbsd/arm build. + * Remote-write allocation improvements. + * Query performance improvement: Efficient iteration and search in HashForLabels and HashWithoutLabels. + * Allow injection of arbitrary headers in promtool. + * Allow passing external_labels in alert unit tests groups. + * Allows globs for rules when unit testing. + * Improved postings intersection matching. + * Reduced disk usage for WAL for small setups. + * Optimize queries using regexp for set lookups. + + ------------------------------------------------------------------- Thu Jul 4 12:08:24 UTC 2019 - Simon Crute diff --git a/golang-github-prometheus-prometheus.spec b/golang-github-prometheus-prometheus.spec index ac5686c..ebcff3d 100644 --- a/golang-github-prometheus-prometheus.spec +++ b/golang-github-prometheus-prometheus.spec @@ -20,7 +20,7 @@ %{go_nostrip} Name: golang-github-prometheus-prometheus -Version: 2.10.0 +Version: 2.11.1 Release: 0 Summary: The Prometheus monitoring system and time series database License: Apache-2.0 diff --git a/prometheus-2.10.0.tar.xz b/prometheus-2.10.0.tar.xz deleted file mode 100644 index 9bc928f..0000000 --- a/prometheus-2.10.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c9838914564f8a155972d6ba0d6b9496d8b9f2a7d655c2b12d4d650f4be8a89e -size 7214868 diff --git a/prometheus-2.11.1.tar.xz b/prometheus-2.11.1.tar.xz new file mode 100644 index 0000000..3d639d3 --- /dev/null +++ b/prometheus-2.11.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5317a61f1516a7065ea6eb967990ef648bde9015ba6342648da3cdd09982268a +size 7431148