Feature update for golang-github-prometheus-prometheus

Announcement ID: SUSE-FU-2022:0601-1
Rating: moderate
References:
Affected Products:
  • openSUSE Leap 15.3
  • openSUSE Leap 15.4
  • openSUSE Leap 15.5
  • SUSE Linux Enterprise Desktop 15
  • SUSE Linux Enterprise Desktop 15 SP1
  • SUSE Linux Enterprise Desktop 15 SP2
  • SUSE Linux Enterprise Desktop 15 SP3
  • SUSE Linux Enterprise Desktop 15 SP4
  • SUSE Linux Enterprise Desktop 15 SP5
  • SUSE Linux Enterprise Desktop 15 SP6
  • SUSE Linux Enterprise High Performance Computing 15
  • SUSE Linux Enterprise High Performance Computing 15 SP1
  • SUSE Linux Enterprise High Performance Computing 15 SP2
  • SUSE Linux Enterprise High Performance Computing 15 SP3
  • SUSE Linux Enterprise High Performance Computing 15 SP4
  • SUSE Linux Enterprise High Performance Computing 15 SP5
  • SUSE Linux Enterprise High Performance Computing 15 SP6
  • SUSE Linux Enterprise Real Time 15 SP1
  • SUSE Linux Enterprise Real Time 15 SP2
  • SUSE Linux Enterprise Real Time 15 SP3
  • SUSE Linux Enterprise Real Time 15 SP4
  • SUSE Linux Enterprise Real Time 15 SP5
  • SUSE Linux Enterprise Server 15
  • SUSE Linux Enterprise Server 15 SP1
  • SUSE Linux Enterprise Server 15 SP2
  • SUSE Linux Enterprise Server 15 SP3
  • SUSE Linux Enterprise Server 15 SP4
  • SUSE Linux Enterprise Server 15 SP5
  • SUSE Linux Enterprise Server 15 SP6
  • SUSE Linux Enterprise Server for SAP Applications 15
  • SUSE Linux Enterprise Server for SAP Applications 15 SP1
  • SUSE Linux Enterprise Server for SAP Applications 15 SP2
  • SUSE Linux Enterprise Server for SAP Applications 15 SP3
  • SUSE Linux Enterprise Server for SAP Applications 15 SP4
  • SUSE Linux Enterprise Server for SAP Applications 15 SP5
  • SUSE Linux Enterprise Server for SAP Applications 15 SP6
  • SUSE Manager Client Tools for SLE 15

An update that contains one feature and has one fix can now be installed.

Description:

This feature update for golang-github-prometheus-prometheus provides the following changes:

Upgrade golang-github-prometheus-prometheus from version 2.27.1 to version 2.32.1: (jsc#SLE-22863)

  • Use obs-service-go_modules
  • Added hardening to systemd service(s). Modified prometheus.service (bsc#1181400)
  • Bugfixes:
  • Scrape: Fix reporting metrics when sample limit is reached during the report.
  • Scrape: Ensure that scrape interval and scrape timeout are always set.
  • TSDB: Expose and fix bug in iterators' Seek() method.
  • TSDB: Add more size checks when writing individual sections in the index.
  • PromQL: Make deriv() return zero values for constant series.
  • TSDB: Fix panic when checkpoint directory is empty. #9687
  • TSDB: Fix panic, out of order chunks, and race warning during WAL replay.
  • UI: Correctly render links for targets with IPv6 addresses that contain a Zone ID.
  • Promtool: Fix checking of authorization.credentials_file and bearer_token_file fields.
  • Uyuni SD: Fix null pointer exception during initialization.
  • TSDB: Fix queries after a failed snapshot replay.
  • SD: Fix a panic when the experimental discovery manager receives targets during a reload.
  • Backfill: Apply rule labels after query labels.
  • Scrape: Resolve conflicts between multiple exported label prefixes.
  • Scrape: Restart scrape loops when scrape_interval is changed.
  • TSDB: Fix memory leak in samples deletion.
  • UI: Use consistent margin-bottom for all alert kinds.
  • TSDB: Fix panic on failed snapshot replay.
  • TSDB: Don't fail snapshot replay with exemplar storage disabled when the snapshot contains exemplars.
  • TSDB: Don't error on overlapping m-mapped chunks during WAL replay.
  • promtool rules backfill: Prevent creation of data before the start time.
  • promtool rules backfill: Do not query after the end time.
  • Azure SD: Fix panic when no computername is set.
  • Exemplars: Fix panic when resizing exemplar storage from 0 to a non-zero size.
  • TSDB: Correctly decrement prometheus_tsdb_head_active_appenders when the append has no samples.
  • promtool rules backfill: Return 1 if backfill was unsuccessful.
  • promtool rules backfill: Avoid creation of overlapping blocks.
  • config: Fix a panic when reloading configuration with a null relabel action.
  • Fix Kubernetes SD failing to discover Ingress in Kubernetes v1.22.
  • Fix data race in loading write-ahead-log (WAL).
  • TSDB: align atomically accessed int64 to prevent panic in 32-bit archs.
  • Log when total symbol size exceeds 2^32 bytes, causing compaction to fail, and skip compaction.
  • Fix incorrect target_limit reloading of zero value.
  • Fix head GC and pending readers race condition.
  • Fix timestamp handling in OpenMetrics parser.
  • Fix potential duplicate metrics in /federate endpoint when specifying multiple matchers.
  • Fix server configuration and validation for authentication via client cert.
  • Allow start and end again as label names in PromQL queries. They were disallowed since the introduction of @ timestamp feature.
  • HTTP SD: Allow charset specification in Content-Type header.
  • HTTP SD: Fix handling of disappeared target groups.
  • Fix incorrect log-level handling after moving to go-kit/log.
  • UI: In the experimental PromQL editor, fix autocompletion and parsing for special float values and improve series metadata fetching.
  • TSDB: When merging chunks, split resulting chunks if they would contain more than the maximum of 120 samples.
  • SD: Fix the computation of the prometheus_sd_discovered_targets metric when using multiple service discoveries.
  • Change:
  • remote-write: Change default max retry time from 100ms to 5 seconds.
  • UI: Remove standard PromQL editor in favour of the codemirror-based editor.
  • Promote --storage.tsdb.allow-overlapping-blocks flag to stable.
  • Promote --storage.tsdb.retention.size flag to stable.
  • UI: Make the new experimental PromQL editor the default.
  • Features:
  • Agent: New mode of operation optimized for remote-write only scenarios, without local storage.
  • Promtool: Add promtool check service-discovery command.
  • PromQL: Add trigonometric functions and atan2 binary operator.
  • Remote: Add support for exemplar in the remote write receiver endpoint.
  • SD: Add PuppetDB service discovery.
  • SD: Add Uyuni service discovery.
  • Web: Add support for security-related HTTP headers.
  • experimental TSDB: Snapshot in-memory chunks on shutdown for faster restarts.
  • experimental Scrape: Configure scrape interval and scrape timeout via relabeling using __scrape_interval__ and __scrape_timeout__ labels respectively.
  • Scrape: Add scrape_timeout_seconds and scrape_sample_limit metric.
  • Add Kuma service discovery.
  • Add present_over_time PromQL function.
  • Allow configuring exemplar storage via file and make it reloadable.
  • UI: Allow selecting time range with mouse drag.
  • promtool: Add feature flags flag --enable-feature.
  • promtool: Add file_sd file validation.
  • Linode SD: Add Linode service discovery.
  • HTTP SD: Add generic HTTP-based service discovery.
  • Kubernetes SD: Allow configuring API Server access via a kubeconfig file.
  • UI: Add exemplar display support to the graphing interface.
  • Consul SD: Add namespace support for Consul Enterprise.
  • Enhancements:
  • Promtool: Improve test output.
  • Promtool: Use kahan summation for better numerical stability.
  • Remote-write: Reuse memory for marshalling.
  • Scrape: Add scrape_body_size_bytes scrape metric behind the --enable-feature=extra-scrape-metrics flag.
  • TSDB: Add windows arm64 support.
  • TSDB: Optimize query by skipping unneeded sorting in TSDB.
  • Templates: Support int and uint as datatypes for template formatting.
  • UI: Prefer rate over rad, delta over deg, and count over cos in autocomplete.
  • Azure SD: Add proxy_url, follow_redirects, tls_config.
  • Backfill: Add --max-block-duration in promtool create-blocks-from rules.
  • Config: Print human-readable sizes with unit instead of raw numbers.
  • HTTP: Re-enable HTTP/2.
  • Kubernetes SD: Warn user if number of endpoints exceeds limit.
  • OAuth2: Add TLS configuration to token requests.
  • PromQL: Several optimizations.
  • PromQL: Make aggregations deterministic in instant queries.
  • Rules: Add the ability to limit number of alerts or series.
  • SD: Experimental discovery manager to avoid restarts upon reload.
  • UI: Debounce timerange setting changes.
  • Remote Write: Redact remote write URL when used for metric label.
  • UI: Redact remote write URL and proxy URL passwords in the /config page.
  • Scrape: Add --scrape.timestamp-tolerance flag to adjust scrape timestamp tolerance when enabled via --scrape.adjust-timestamps.
  • Remote Write: Improve throughput when sending exemplars.
  • TSDB: Optimise WAL loading by removing extra map and caching min-time
  • promtool: Speed up checking for duplicate rules.
  • Scrape: Reduce allocations when parsing the metrics.
  • docker_sd: Support host network mode
  • Reduce blocking of outgoing remote write requests from series garbage collection.
  • Improve write-ahead-log decoding performance.
  • Improve append performance in TSDB by reducing mutexes usage.
  • Allow configuring max_samples_per_send for remote write metadata.
  • Add __meta_gce_interface_ipv4_<name> meta label to GCE discovery.
  • Add __meta_ec2_availability_zone_id meta label to EC2 discovery.
  • Add __meta_azure_machine_computer_name meta label to Azure discovery.
  • Add __meta_hetzner_hcloud_labelpresent_<labelname> meta label to Hetzner discovery.
  • promtool: Add compaction efficiency to promtool tsdb analyze reports.
  • promtool: Allow configuring max block duration for backfilling via --max-block-duration flag.
  • UI: Add sorting and filtering to flags page.
  • UI: Improve alerts page rendering performance.
  • Promtool: Allow silencing output when importing / backfilling data.
  • Consul SD: Support reading tokens from file.
  • Rules: Add a new .ExternalURL alert field templating variable, containing the external URL of the Prometheus server.
  • Scrape: Add experimental body_size_limit scrape configuration setting to limit the allowed response body size for target scrapes.
  • Kubernetes SD: Add ingress class name label for ingress discovery.
  • UI: Show a startup screen with progress bar when the TSDB is not ready yet.
  • SD: Add a target creation failure counter prometheus_target_sync_failed_total and improve target creation failure handling.
  • TSDB: Improve validation of exemplar label set length.
  • TSDB: Add a prometheus_tsdb_clean_start metric that indicates whether a TSDB lockfile from a previous run still existed upon startup.

Patch Instructions:

To install this SUSE update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • SUSE Manager Client Tools for SLE 15
    zypper in -t patch SUSE-SLE-Manager-Tools-15-2022-601=1

Package List:

  • SUSE Manager Client Tools for SLE 15 (aarch64 ppc64le s390x x86_64)
    • golang-github-prometheus-prometheus-2.32.1-3.35.1

References: