thanos

Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.

APACHE-2.0 License

Stars
12.6K
Committers
620

Bot releases are hidden (Show)

thanos - v0.30.0-rc.0

Published by bwplotka almost 2 years ago

v0.30 brings many important fixes & optimizations to compaction, store gateway, receive replication and querying. Make sure to try the new PromQL engine which is more & more efficient every week.

NOTE: Querier's query.promql-engine flag enabling the new PromQL engine is now unhidden. We encourage users to use new experimental PromQL engine for efficiency reasons.

Furthermore, we recommend you use Redis as a caching client (if you use store GW or query frontend caching) and Ketama algorithm as receiver hashing algorithm ( --receive.hashrings-algorithm=ketama - introducing consistent hashing to receiver).

Enjoy & Happy Christmas Holidays! πŸŽ‰

Changes

Fixed

  • #5716 DNS: Fix miekgdns resolver LookupSRV to work with CNAME records.
  • #5844 Query Frontend: Fixes @ modifier time range when splitting queries by interval.
  • #5854 Query Frontend: lookback_delta param is now handled in query frontend.
  • #5860 Query: Fixed bug of not showing query warnings in Thanos UI.
  • #5856 Store: Fixed handling of debug logging flag.
  • #5230 Rule: Stateless ruler support restoring for state from query API servers. The query API servers should be able to access the remote write storage.
  • #5880 Query Frontend: Fixes some edge cases of query sharding analysis.
  • #5893 Cache: Fixed redis client not respecting SetMultiBatchSize config value.
  • #5966 Query: Stop relying on non-existent hints for mint and maxt when selecting series for the api/v1/series HTTP endpoint.
  • #5948 Store: chunks_fetched_duration wrong calculation.
  • #5910: Receive: Fixed ketama quorum bug that was could cause success response for failed replication. This also optimize heavily receiver CPU use.

Added

  • #5814 Store: Added metric thanos_bucket_store_postings_size_bytes that shows the distribution of how many postings (in bytes) were needed for each Series() call in Thanos Store. Useful for determining limits.
  • #5703 StoreAPI: Added hash field to series' chunks. Store gateway and receive implements that field and proxy leverage that for quicker deduplication.
  • #5801 Store: Added a new flag --store.grpc.downloaded-bytes-limit that limits the number of bytes downloaded in each Series/LabelNames/LabelValues call. Use thanos_bucket_store_postings_size_bytes for determining the limits.
  • #5836 Receive: Added hidden flag tsdb.memory-snapshot-on-shutdown to enable experimental TSDB feature to snapshot on shutdown. This is intended to speed up receiver restart.
  • #5839 Receive: Added parameter --tsdb.out-of-order.time-window to set time window for experimental out-of-order samples ingestion. Disabled by default (set to 0s). Please note if you enable this option and you use compactor, make sure you set the --enable-vertical-compaction flag, otherwise you might risk compactor halt.
  • #5889 Query Frontend: Added support for vertical sharding label_replace and label_join functions.
  • #5865 Compact: Retry on sync metas error.
  • #5819 Store: Added a few objectives for Store's data summaries (touched/fetched amount and sizes). They are: 50, 95, and 99 quantiles.
  • #5837 Store: Added streaming retrival of series from object storage.
  • #5940 Objstore: Support for authenticating to Swift using application credentials.
  • #5945 Tools: Added new no-downsample marker to skip blocks when downsampling via thanos tools bucket mark --marker=no-downsample-mark.json. This will skip downsampling for blocks with the new marker.
  • #5977 Tools: Added remove flag on bucket mark command to remove deletion, no-downsample or no-compact markers on the block

Changed

  • #5785 Query: thanos_store_nodes_grpc_connections now trimms external_labels label name longer than 1000 character. It also allows customizations in what labels to preserve using query.conn-metric.label flag.
  • #5542 Mixin: Added query concurrency panel to Querier dashboard.
  • #5846 Query Frontend: vertical query sharding supports subqueries.
  • #5909 Receive: Compact tenant head after no appends have happened for 1.5 tsdb.max-block-size.
  • #5593 Cache: Switched Redis client to Rueidis. Rueidis is faster and provides client-side caching. It is highly recommended to use it so that repeated requests for the same key would not be needed.
  • #5896 *: Upgraded Prometheus to v0.40.7 without implementing native histogram support. Querying native histograms will fail with Error executing query: invalid chunk encoding "<unknown>" and native histograms in write requests are ignored.
  • #5838 Mixin: Added data touched type to Store dashboard.
  • #5922 Compact: Retry on clean, partial marked errors when possible.

Removed

  • #5824 Mixin: Remove noisy ThanosReceiveTrafficBelowThreshold alert.

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.29.0...v0.30.0-rc.0πŸŽ‰

thanos - v0.29.0

Published by GiedriusS almost 2 years ago

v0.29.0 is out after 69 days of work since v0.28.0! Thank you to all 35 contributors who have contributed to this release. It wouldn't be the same without you. v0.29.0 has no changes since the release candidate.

Some of the highlights include OpenTelemetry support, Azure support has been improved with a new SDK, increased query speed, receive has new features to limit series per tenant.

First, let's celebrate new contributors, and then you can find the changelog where you can find all of the details. Please try it out and let us know if you spot any problems!

New Contributors

Fixed

  • #5642 Receive: Log labels correctly in writer debug messages.
  • #5655 Receive: Fix recreating already pruned tenants.
  • #5702 Store: Upgrade minio-go/v7 to fix panic caused by leaked goroutines.
  • #5736 Compact: Fix crash in GatherNoCompactionMarkFilter.NoCompactMarkedBlocks.
  • #5763 Compact: Enable metadata cache.
  • #5759 Compact: Fix missing duration log key.
  • #5799 Query Frontend: Fixed sharding behaviour for vector matches. Now queries with sharding should work properly where the query looks like: foo and without (lbl) bar.

Added

  • #5565 Receive: Allow remote write request limits to be defined per file and tenant (experimental).
  • #5654 Query: add --grpc-compression flag that controls the compression used in gRPC client. With the flag it is now possible to compress the traffic between Query and StoreAPI nodes - you get lower network usage in exchange for a bit higher CPU/RAM usage.
  • #5650 Query Frontend: Add sharded queries metrics. thanos_frontend_sharding_middleware_queries_total shows how many queries were sharded or not sharded.
  • #5658 Query Frontend: Introduce new optional parameters (query-range.min-split-interval, query-range.max-split-interval, query-range.horizontal-shards) to implement more dynamic horizontal query splitting.
  • #5721 Store: Add metric thanos_bucket_store_empty_postings_total for number of empty postings when fetching series.
  • #5723 Compactor: Support disable block viewer UI.
  • #5674 Query Frontend/Store: Add support connecting to redis using TLS.
  • #5734 Store: Support disable block viewer UI.
  • #5411 Tracing: Add OpenTelemetry Protocol exporter.
  • #5779 Objstore: Support specifying S3 storage class.
  • #5741 Query: add metrics on how much data is being selected by downstream Store APIs.
  • #5673 Receive: Reload tenant limit configuration on file change.
  • #5749 Query Frontend: Added small LRU cache to cache query analysis results.

Changed

  • #5738 Global: replace crypto/sha256 with minio/sha256-simd to make hash calculation faster in metadata and reloader packages.
  • #5648 Query Frontend: cache vertical shards in query-frontend.
  • #5753 Build with Go 1.19.
  • #5255 Query: Use k-way merging for the proxying logic. The proxying sub-system now uses much less resources (~25-80% less CPU usage, ~30-50% less RAM usage according to our benchmarks). Reduces query duration by a few percent on queries with lots of series.
  • #5690 Compact: update --debug.accept-malformed-index flag to apply to downsampling. Previously the flag only applied to compaction, and fatal errors would still occur when downsampling was attempted.
  • #5707 Objstore: Update objstore to latest version which includes a refactored Azure Storage Account implementation with a new SDK.
  • #5641 Store: Remove hardcoded labels in shard matcher.
  • #5641 Query: Inject unshardable le label in query analyzer.
  • #5685 Receive: Make active/head series limiting configuration per tenant by adding it to new limiting config.
  • #5411 Tracing: Change Jaeger exporter from OpenTracing to OpenTelemetry. Options RPC Metrics, Gen128Bit and Disabled are now deprecated and won't have any effect when set ⚠️.
  • #5767 *: Upgrade Prometheus to v2.39.0.
  • #5771 *: Upgrade Prometheus to v2.39.1.

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.28.1...v0.29.0

thanos - v0.29.0-rc.0

Published by GiedriusS about 2 years ago

v0.29.0-rc.0 is out after 56 days of work since v0.28.0! Thank you to all 35 contributors who have contributed to this release. It wouldn't be the same without you.

Some of the highlights include OpenTelemetry support, Azure support has been improved with a new SDK, increased query speed, receive has new features to limit series per tenant.

First, let's celebrate new contributors, and then you can find the changelog where you can find all of the details. Please try out this RC and let us know if you spot any problems!

New Contributors

Fixed

  • #5642 Receive: Log labels correctly in writer debug messages.
  • #5655 Receive: Fix recreating already pruned tenants.
  • #5702 Store: Upgrade minio-go/v7 to fix panic caused by leaked goroutines.
  • #5736 Compact: Fix crash in GatherNoCompactionMarkFilter.NoCompactMarkedBlocks.
  • #5763 Compact: Enable metadata cache.
  • #5759 Compact: Fix missing duration log key.
  • #5799 Query Frontend: Fixed sharding behaviour for vector matches. Now queries with sharding should work properly where the query looks like: foo and without (lbl) bar.

Added

  • #5565 Receive: Allow remote write request limits to be defined per file and tenant (experimental).
  • #5654 Query: add --grpc-compression flag that controls the compression used in gRPC client. With the flag it is now possible to compress the traffic between Query and StoreAPI nodes - you get lower network usage in exchange for a bit higher CPU/RAM usage.
  • #5650 Query Frontend: Add sharded queries metrics. thanos_frontend_sharding_middleware_queries_total shows how many queries were sharded or not sharded.
  • #5658 Query Frontend: Introduce new optional parameters (query-range.min-split-interval, query-range.max-split-interval, query-range.horizontal-shards) to implement more dynamic horizontal query splitting.
  • #5721 Store: Add metric thanos_bucket_store_empty_postings_total for number of empty postings when fetching series.
  • #5723 Compactor: Support disable block viewer UI.
  • #5674 Query Frontend/Store: Add support connecting to redis using TLS.
  • #5734 Store: Support disable block viewer UI.
  • #5411 Tracing: Add OpenTelemetry Protocol exporter.
  • #5779 Objstore: Support specifying S3 storage class.
  • #5741 Query: add metrics on how much data is being selected by downstream Store APIs.
  • #5673 Receive: Reload tenant limit configuration on file change.
  • #5749 Query Frontend: Added small LRU cache to cache query analysis results.

Changed

  • #5738 Global: replace crypto/sha256 with minio/sha256-simd to make hash calculation faster in metadata and reloader packages.
  • #5648 Query Frontend: cache vertical shards in query-frontend.
  • #5753 Build with Go 1.19.
  • #5255 Query: Use k-way merging for the proxying logic. The proxying sub-system now uses much less resources (~25-80% less CPU usage, ~30-50% less RAM usage according to our benchmarks). Reduces query duration by a few percent on queries with lots of series.
  • #5690 Compact: update --debug.accept-malformed-index flag to apply to downsampling. Previously the flag only applied to compaction, and fatal errors would still occur when downsampling was attempted.
  • #5707 Objstore: Update objstore to latest version which includes a refactored Azure Storage Account implementation with a new SDK.
  • #5641 Store: Remove hardcoded labels in shard matcher.
  • #5641 Query: Inject unshardable le label in query analyzer.
  • #5685 Receive: Make active/head series limiting configuration per tenant by adding it to new limiting config.
  • #5411 Tracing: Change Jaeger exporter from OpenTracing to OpenTelemetry. Options RPC Metrics, Gen128Bit and Disabled are now deprecated and won't have any effect when set ⚠️.
  • #5767 *: Upgrade Prometheus to v2.39.0.
  • #5771 *: Upgrade Prometheus to v2.39.1.

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.28.1...v0.29.0-rc.0

thanos - v0.28.1

Published by yeya24 about 2 years ago

What's Changed

Fixed

  • #5702 Store: Upgrade minio-go/v7 to fix panic caused by leaked goroutines.

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.28.0...v0.28.1

thanos - v0.28.0

Published by yeya24 about 2 years ago

What's Changed

Fixed

  • #5502 Receive: Handle exemplar storage errors as conflict error.
  • #5534 Query: Set struct return by query API alerts same as prometheus API.
  • #5554 Query/Receiver: Fix querying exemplars from multi-tenant receivers.
  • #5583 Query: Fix data race between Respond() and query/queryRange functions. Fixes #5410.

Added

  • #5440 HTTP metrics: export number of in-flight HTTP requests.
  • #5424 Receive: Export metrics regarding size of remote write requests.
  • #5420 Receive: Automatically remove stale tenants.
  • #5472 Receive: Add new tenant metrics to example dashboard.
  • #5475 Compact/Store: Added --block-files-concurrency allowing to configure number of go routines for downloading and uploading block files during compaction.
  • #5470 Receive: Expose TSDB stats as metrics for all tenants.
  • #5493 Compact: Added --compact.blocks-fetch-concurrency allowing to configure number of goroutines for downloading blocks during compactions.
  • #5480 Query: Expose endpoint info timeout as a hidden flag --endpoint.info-timeout.
  • #5527 Receive: Add per request limits for remote write. Added four new hidden flags --receive.write-request-limits.max-size-bytes, --receive.write-request-limits.max-series, --receive.write-request-limits.max-samples and --receive.write-request-limits.max-concurrency for limiting requests max body size, max amount of series, max amount of samples and max amount of concurrent requests.
  • #5520 Receive: Meta-monitoring based active series limiting (experimental). This mode is only available if Receiver is in Router or RouterIngestor mode, and config is provided. Added four new hidden flags receive.tenant-limits.max-head-series for the max active series for the tenant, receive.tenant-limits.meta-monitoring-url for the Meta-monitoring URL, receive.tenant-limits.meta-monitoring-query for specifying the PromQL query to execute and receive.tenant-limits.meta-monitoring-client for specifying HTTP client configs.
  • #5555 Query: Added --query.active-query-path flag, allowing the user to configure the directory to create an active query tracking file, queries.active, for different resolution.
  • #5566 Receive: Added experimental support to enable chunk write queue via --tsdb.write-queue-size flag.
  • #5575 Receive: Add support for gRPC compression with snappy.
  • #5508 Receive: Validate labels in write requests.
  • #5439 Mixin: Add Alert ThanosQueryOverload to Mixin.
  • #5342 Query/Query Frontend: Implement vertical sharding at query frontend for range queries.
  • #5561 Query Frontend: Support instant query vertical sharding.
  • #5453 Compact: Skip erroneous empty non *AggrChunk chunks during 1h downsampling of 5m resolution blocks.
  • #5607 Query: Support custom lookback delta from request in query api.

Changed

  • #5447 Promclient: Ignore 405 status codes for Prometheus buildVersion requests.
  • #5451 Azure: Reduce memory usage by not buffering file downloads entirely in memory.
  • #5484 Update Prometheus deps to v2.36.2.
  • #5511 Update Prometheus deps to v2.37.0.
  • #5588 Store: Improve index header reading performance by sorting values first.
  • #5596 Store: Filter external labels from matchers on LabelValues/LabelNames to improve performance.

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.27.0...v0.28.0

thanos - v0.28.0-rc.0

Published by yeya24 about 2 years ago

What's Changed

Fixed

  • #5502 Receive: Handle exemplar storage errors as conflict error.
  • #5534 Query: Set struct return by query API alerts same as prometheus API.
  • #5554 Query/Receiver: Fix querying exemplars from multi-tenant receivers.
  • #5583 Query: Fix data race between Respond() and query/queryRange functions. Fixes #5410.

Added

  • #5440 HTTP metrics: export number of in-flight HTTP requests.
  • #5424 Receive: Export metrics regarding size of remote write requests.
  • #5420 Receive: Automatically remove stale tenants.
  • #5472 Receive: Add new tenant metrics to example dashboard.
  • #5475 Compact/Store: Added --block-files-concurrency allowing to configure number of go routines for downloading and uploading block files during compaction.
  • #5470 Receive: Expose TSDB stats as metrics for all tenants.
  • #5493 Compact: Added --compact.blocks-fetch-concurrency allowing to configure number of goroutines for downloading blocks during compactions.
  • #5480 Query: Expose endpoint info timeout as a hidden flag --endpoint.info-timeout.
  • #5527 Receive: Add per request limits for remote write. Added four new hidden flags --receive.write-request-limits.max-size-bytes, --receive.write-request-limits.max-series, --receive.write-request-limits.max-samples and --receive.write-request-limits.max-concurrency for limiting requests max body size, max amount of series, max amount of samples and max amount of concurrent requests.
  • #5520 Receive: Meta-monitoring based active series limiting (experimental). This mode is only available if Receiver is in Router or RouterIngestor mode, and config is provided. Added four new hidden flags receive.tenant-limits.max-head-series for the max active series for the tenant, receive.tenant-limits.meta-monitoring-url for the Meta-monitoring URL, receive.tenant-limits.meta-monitoring-query for specifying the PromQL query to execute and receive.tenant-limits.meta-monitoring-client for specifying HTTP client configs.
  • #5555 Query: Added --query.active-query-path flag, allowing the user to configure the directory to create an active query tracking file, queries.active, for different resolution.
  • #5566 Receive: Added experimental support to enable chunk write queue via --tsdb.write-queue-size flag.
  • #5575 Receive: Add support for gRPC compression with snappy.
  • #5508 Receive: Validate labels in write requests.
  • #5439 Mixin: Add Alert ThanosQueryOverload to Mixin.
  • #5342 Query/Query Frontend: Implement vertical sharding at query frontend for range queries.
  • #5561 Query Frontend: Support instant query vertical sharding.
  • #5453 Compact: Skip erroneous empty non *AggrChunk chunks during 1h downsampling of 5m resolution blocks.- #5607 Query: Support custom lookback delta from request in query api.
  • #5607 Query: Support custom lookback delta from request in query api.

Changed

  • #5447 Promclient: Ignore 405 status codes for Prometheus buildVersion requests.
  • #5451 Azure: Reduce memory usage by not buffering file downloads entirely in memory.
  • #5484 Update Prometheus deps to v2.36.2.
  • #5511 Update Prometheus deps to v2.37.0.
  • #5588 Store: Improve index header reading performance by sorting values first.
  • #5596 Store: Filter external labels from matchers on LabelValues/LabelNames to improve performance.

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.27.0...v0.28.0-rc.0

thanos - v0.27.0

Published by matej-g over 2 years ago

What's Changed

Fixed

  • #5339 Receive: When running in routerOnly mode, an interupt (SIGINT) will now exit the process.
  • #5357 Store: Fix groupcache handling by making sure slashes in the cache's key are not getting interpreted by the router anymore.
  • #5427 Receive: Fix Ketama hashring replication consistency. With the Ketama hashring, replication is currently handled by choosing subsequent nodes in the list of endpoints. This can lead to existing nodes getting more series when the hashring is scaled. This change makes replication to choose subsequent nodes from the hashring which should not create new series in old nodes when the hashring is scaled. Ketama hashring can be used by setting --receive.hashrings-algorithm=ketama.

Added

  • #5337 Thanos Object Store: Add the prefix option to buckets.
  • #5409 S3: Add option to force DNS style lookup.
  • #5352 Cache: Add cache metrics to groupcache: thanos_cache_groupcache_bytes, thanos_cache_groupcache_evictions_total, thanos_cache_groupcache_items and thanos_cache_groupcache_max_bytes.
  • #5391 Receive: Add relabeling support with the flag --receive.relabel-config-file or alternatively --receive.relabel-config.
  • #5408 Receive: Add support for consistent hashrings. The flag --receive.hashrings-algorithm uses default hashmod but can also be set to ketama to leverage consistent hashrings. More technical information can be found here: https://dgryski.medium.com/consistent-hashing-algorithmic-tradeoffs-ef6b8e2fcae8.
  • #5402 Receive: Implement api/v1/status/tsdb.

Changed

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.26.0...v0.27.0

thanos - v0.27.0-rc.0

Published by wiardvanrij over 2 years ago

What's Changed

Fixed

  • #5339 Receive: When running in routerOnly mode, an interupt (SIGINT) will now exit the process.
  • #5357 Store: Fix groupcache handling by making sure slashes in the cache's key are not getting interpreted by the router anymore.
  • #5427 Receive: Fix Ketama hashring replication consistency. With the Ketama hashring, replication is currently handled by choosing subsequent nodes in the list of endpoints. This can lead to existing nodes getting more series when the hashring is scaled. This change makes replication to choose subsequent nodes from the hashring which should not create new series in old nodes when the hashring is scaled. Ketama hashring can be used by setting --receive.hashrings-algorithm=ketama

Added

  • #5337 Thanos Object Store: Add the prefix option to buckets.
  • #5409 S3: Add option to force DNS style lookup.
  • #5352 Cache: Add cache metrics to groupcache: thanos_cache_groupcache_bytes, thanos_cache_groupcache_evictions_total, thanos_cache_groupcache_items and thanos_cache_groupcache_max_bytes
  • #5391 Receive: Add relabeling support with the flag --receive.relabel-config-file or alternatively --receive.relabel-config
  • #5408 Receive: Add support for consistent hashrings. The flag --receive.hashrings-algorithm uses default hashmod but can also be set to ketama to leverage consistent hashrings. More technical information can be found here: https://dgryski.medium.com/consistent-hashing-algorithmic-tradeoffs-ef6b8e2fcae8
  • #5402 Receive: Implement api/v1/status/tsdb.

Changed

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.26.0...v0.27.0-rc.0

thanos - v0.26.0

Published by wiardvanrij over 2 years ago

What's Changed

Fixed

  • #5281 Blocks: Use correct separators for filesystem paths and object storage paths respectively.
  • #5300 Query: Ignore cache on queries with deduplication off.

Added

  • #5220 Query Frontend: Add --query-frontend.forward-header flag, forward headers to downstream querier.
  • #5250 Querier: Expose Query and QueryRange APIs through GRPC.
  • #5290 Add support for ppc64le

Changed

  • #4838 Tracing: Chanced client for Stackdriver which deprecated "type: STACKDRIVER" in tracing YAML configuration. Use type: GOOGLE_CLOUD instead (STACKDRIVER type remains for backward compatibility).
  • #5170 All: Upgraded the TLS version from TLS1.2 to TLS1.3.
  • #5205 Rule: Add ruler labels as external labels in stateless ruler mode.
  • #5206 Cache: Add timeout for groupcache's fetch operation.
  • #5218 Tools: Thanos tools bucket downsample is now running continously.
  • #5231 Tools: Bucket verify tool ignores blocks with deletion markers.
  • #5244 Query: Promote negative offset and @ modifier to stable features as per Prometheus #10121.
  • #5255 InfoAPI: Set store API unavailable when stores are not ready.
  • #5256 Update Prometheus deps v2.33.5.
  • #5271 DNS: Fix miekgdns resolver to work with CNAME records too.

Removed

  • #5145 UI: Remove old Prometheus UI.

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.25.2...v0.26.0

thanos - v0.26.0-rc.0

Published by wiardvanrij over 2 years ago

What's Changed

Fixed

  • #5281 Blocks: Use correct separators for filesystem paths and object storage paths respectively.
  • #5300 Query: Ignore cache on queries with deduplication off.

Added

  • #5220 Query Frontend: Add --query-frontend.forward-header flag, forward headers to downstream querier.
  • #5250 Querier: Expose Query and QueryRange APIs through GRPC.
  • #5290 Add support for ppc64le

Changed

  • #4838 Tracing: Chanced client for Stackdriver which deprecated "type: STACKDRIVER" in tracing YAML configuration. Use type: GOOGLE_CLOUD instead (STACKDRIVER type remains for backward compatibility).
  • #5170 All: Upgraded the TLS version from TLS1.2 to TLS1.3.
  • #5205 Rule: Add ruler labels as external labels in stateless ruler mode.
  • #5206 Cache: Add timeout for groupcache's fetch operation.
  • #5218 Tools: Thanos tools bucket downsample is now running continously.
  • #5231 Tools: Bucket verify tool ignores blocks with deletion markers.
  • #5244 Query: Promote negative offset and @ modifier to stable features as per Prometheus #10121.
  • #5255 InfoAPI: Set store API unavailable when stores are not ready.
  • #5256 Update Prometheus deps v2.33.5.
  • #5271 DNS: Fix miekgdns resolver to work with CNAME records too.

Removed

  • #5145 UI: Remove old Prometheus UI.

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.25.2...v0.26.0-rc.0

thanos - v0.25.2

Published by matej-g over 2 years ago

Fixed

  • #5202 Exemplars: Return empty data instead of nil if no data available.
  • #5242 Ruler: Make ruler use the correct WAL directory.

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.25.1...v0.25.2

thanos - v0.25.2-rc.0

Published by matej-g over 2 years ago

Fixed

  • #5202 Exemplars: Return empty data instead of nil if no data available.
  • #5242 Ruler: Make ruler use the correct WAL directory.

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.25.1...v0.25.2-rc.0

thanos - v0.25.1

Published by metalmatze over 2 years ago

The binaries published with this release are built with Go1.17.8 to avoid CVE-2022-24921.

Fixed

  • #5226 Rebuild Thanos for v0.25.1 with Go 1.17.8

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.25.0...v0.25.1

thanos - v0.25.0

Published by matej-g over 2 years ago

Added

  • #5110 Block: Do not upload DebugMeta files to obj store.
  • #4963 Compactor, Store, Tools: Loading block metadata now only filters out duplicates within a source (or compaction group if replica labels are configured), and does so in parallel over sources.
  • #5089 S3: Create an empty map in the case SSE-KMS is used and no KMSEncryptionContext is passed.
  • #4970 Tools tools bucket ls: Added a new flag exclude-delete to exclude blocks marked for deletion.
  • #4903 Compactor: Added tracing support for compaction.
  • #4909 Compactor: Add flag --max-time / --min-time to filter blocks that are ready to be compacted.
  • #4942 Tracing: add traceid_128bit support for jaeger.
  • #4917 Query: add initial query pushdown for a subset of aggregations. Can be enabled with --enable-feature=query-pushdown on Thanos Query.
  • #4888 Cache: Support redis cache backend.
  • #4946 Store: Support tls_config configuration for the s3 minio client.
  • #4974 Store: Support tls_config configuration for connecting with Azure storage.
  • #4999 COS: Support endpoint configuration for vpc internal endpoint.
  • #5059 Compactor: Adding minimum retention flag validation for downsampling retention.
  • #4667 S3: Add a pure AWS-SDK auth for S3 storage.
  • #5111 Query: Add matcher support to Rules endpoint.
  • #5117 Bucket replicate: Added flag --ignore-marked-for-deletion to avoid replication of blocks with the deletion mark.
  • #5148 Receive: Add tenant tag for tracing spans.
  • #4927 Rule: Added ability to specify multiple remote write targets.
  • #4818 Store: Add Groupcache as a cache backend.

Changed

  • #5144 UI: Improve graph color.
  • #5119 UI: Optimize Target, Alert and Service Discovery page and on each of them add a search bar.
  • #4885 Store: Make queryStats log with human-readable format.

Fixed

  • #5102 UI: Filter block rows in bucket UI according to searched block ID.
  • #5051 Prober: Decrease 'changing probe status' log spamming.
  • #4918 Tracing: Fixing force tracing with Jaeger.
  • #4879 Bucket verify: Fixed bug causing wrong number of blocks to be checked.
  • #4908 UI: Show 'minus' icon and add tooltip when store min / max time is not available.
  • #4883 Mixin: adhere to RFC 1123 compatible component naming.
  • #5114 Tools thanos bucket inspect: Fix time formatting.
  • #5139 COS: Support multi-part upload, fix upload issue when index size is larger than 5GB.
  • #5014 Query: Set default times for query_exemplars API.
  • #5103 Store: Fix race condition in filesystem client's Delete().

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.24.0...v0.25.0

thanos - v0.25.0-rc.0

Published by matej-g over 2 years ago

Added

  • #5110 Block: Do not upload DebugMeta files to obj store.
  • #4963 Compactor, Store, Tools: Loading block metadata now only filters out duplicates within a source (or compaction group if replica labels are configured), and does so in parallel over sources.
  • #5089 S3: Create an empty map in the case SSE-KMS is used and no KMSEncryptionContext is passed.
  • #4970 Tools tools bucket ls: Added a new flag exclude-delete to exclude blocks marked for deletion.
  • #4903 Compactor: Added tracing support for compaction.
  • #4909 Compactor: Add flag --max-time / --min-time to filter blocks that are ready to be compacted.
  • #4942 Tracing: add traceid_128bit support for jaeger.
  • #4917 Query: add initial query pushdown for a subset of aggregations. Can be enabled with --enable-feature=query-pushdown on Thanos Query.
  • #4888 Cache: Support redis cache backend.
  • #4946 Store: Support tls_config configuration for the s3 minio client.
  • #4974 Store: Support tls_config configuration for connecting with Azure storage.
  • #4999 COS: Support endpoint configuration for vpc internal endpoint.
  • #5059 Compactor: Adding minimum retention flag validation for downsampling retention.
  • #4667 S3: Add a pure AWS-SDK auth for S3 storage.
  • #5111 Query: Add matcher support to Rules endpoint.
  • #5117 Bucket replicate: Added flag --ignore-marked-for-deletion to avoid replication of blocks with the deletion mark.
  • #5148 Receive: Add tenant tag for tracing spans.
  • #4927 Rule: Added ability to specify multiple remote write targets.
  • #4818 Store: Add Groupcache as a cache backend.

Changed

  • #5144 UI: Improve graph color.
  • #5119 UI: Optimize Target, Alert and Service Discovery page and on each of them add a search bar.
  • #4885 Store: Make queryStats log with human-readable format.

Fixed

  • #5102 UI: Filter block rows in bucket UI according to searched block ID.
  • #5051 Prober: Decrease 'changing probe status' log spamming.
  • #4918 Tracing: Fixing force tracing with Jaeger.
  • #4879 Bucket verify: Fixed bug causing wrong number of blocks to be checked.
  • #4908 UI: Show 'minus' icon and add tooltip when store min / max time is not available.
  • #4883 Mixin: adhere to RFC 1123 compatible component naming.
  • #5114 Tools thanos bucket inspect: Fix time formatting.
  • #5139 COS: Support multi-part upload, fix upload issue when index size is larger than 5GB.
  • #5014 Query: Set default times for query_exemplars API.
  • #5103 Store: Fix race condition in filesystem client's Delete().

New Contributors

Full Changelog: https://github.com/thanos-io/thanos/compare/v0.24.0...v0.25.0-rc.0

thanos - v0.24.0

Published by squat almost 3 years ago

Added

  • #4228 Tools thanos bucket inspect: Add flag --output to provide output method (table,csv,tsv).
  • #4282 Query: breaking ⚠️ Add --endpoint flag to the querier. The --store flag will eventually be replaced.
  • #4636 Azure: Support authentication using user-assigned managed identity
  • #4680 Query: Add exemplar.partial-response flag to control partial response.
  • #4679 Query: Add enable-feature flag to enable negative offsets and @ modifier, similar to Prometheus.
  • #4696 Query: Add cache name to tracing spans.
  • #4710 Store: Add metric to capture timestamp of the last loaded block.
  • #4736 S3: Add capability to use custom AWS STS Endpoint.
  • #4764 Compact: Add block-viewer.global.sync-block-timeout flag to set the timeout of synchronization block metas.
  • #4801 Compact: Add Prometheus metrics for tracking the progress of compaction and downsampling.
  • #4444 UI: Add mark deletion and no compaction to the Block UI.
  • #4576 UI: Add filter compaction level to the Block UI.
  • #4731 Rule: Add stateless mode to ruler.
  • #4612 Sidecar: Add --prometheus.http-client and --prometheus.http-client-file flag for sidecar to connect to Prometheus with basic auth or TLS.
  • #4847 Query: Add --alert.query-url which is used in the UI for rules/alerts pages. By default the HTTP listen address is used for this URL.
  • #4848 Compactor: added Prometheus metric for tracking the progress of retention.
  • #4856 Mixin: Add Query Frontend to Grafana dashboard.
  • #4874 Query: Add --endpoint-strict flag to statically configure Thanos API server endpoints. It is similar to --store-strict but supports passing any Thanos gRPC APIs: StoreAPI, MetadataAPI, RulesAPI, TargetsAPI and ExemplarsAPI.
  • #4868 Rule: Support ruleGroup limit introduced by Prometheus v2.31.0.
  • #4897 Query: Add validation for querier address flags.

Fixed

  • #4508 Sidecar, Mixin: Rename ThanosSidecarUnhealthy to ThanosSidecarNoConnectionToStartedPrometheus; Remove ThanosSidecarPrometheusDown alert; Remove unused thanos_sidecar_last_heartbeat_success_time_seconds metrics.
  • #4663 Fetcher: Fix discovered data races.
  • #4754 Query: Fix possible panic on stores endpoint.
  • #4753 Store: validate block sync concurrency parameter.
  • #4779 Examples: Fix the interactive test for MacOS users.
  • #4792 Store: Fix data race in BucketedBytes pool.
  • #4769 Query Frontend: Add "X-Request-ID" field and other fields to start call log.
  • #4709 Store: Fix panic when the application is stopped.
  • #4777 Query: Fix data race in exemplars server.
  • #4811 Query: Fix data race in metadata, rules, and targets servers.
  • #4795 Query: Fix deadlock in endpointset.
  • #4928 Azure: Only create an http client once, to conserve memory.
  • #4962 Compact/downsample: fix deadlock if error occurs with some backlog of blocks; fixes this pull request. Affected versions are 0.22.0 - 0.23.1.

Changed

  • #4864 UI: Remove the old PromQL editor.
  • #4708 Receive: Remove gRPC message size limit, which fixes errors commonly seen when receivers forward messages within a hashring.
thanos - v0.23.2

Published by squat almost 3 years ago

Fixed

  • #4795 Query: Fix deadlock in endpointset.
  • #4962 Compact/downsample: fix deadlock if error occurs with some backlog of blocks; fixes this pull request. Affected versions are 0.22.0 - 0.23.1.
thanos - v0.24.0-rc.2

Published by squat almost 3 years ago

Added

  • #4228 Tools thanos bucket inspect: Add flag --output to provide output method (table,csv,tsv).
  • #4282 Query: breaking ⚠️ Add --endpoint flag to the querier. The --store flag will eventually be replaced.
  • #4636 Azure: Support authentication using user-assigned managed identity
  • #4680 Query: Add exemplar.partial-response flag to control partial response.
  • #4679 Query: Add enable-feature flag to enable negative offsets and @ modifier, similar to Prometheus.
  • #4696 Query: Add cache name to tracing spans.
  • #4710 Store: Add metric to capture timestamp of the last loaded block.
  • #4736 S3: Add capability to use custom AWS STS Endpoint.
  • #4764 Compact: Add block-viewer.global.sync-block-timeout flag to set the timeout of synchronization block metas.
  • #4801 Compact: Add Prometheus metrics for tracking the progress of compaction and downsampling.
  • #4444 UI: Add mark deletion and no compaction to the Block UI.
  • #4576 UI: Add filter compaction level to the Block UI.
  • #4731 Rule: Add stateless mode to ruler.
  • #4612 Sidecar: Add --prometheus.http-client and --prometheus.http-client-file flag for sidecar to connect to Prometheus with basic auth or TLS.
  • #4847 Query: Add --alert.query-url which is used in the UI for rules/alerts pages. By default the HTTP listen address is used for this URL.
  • #4848 Compactor: added Prometheus metric for tracking the progress of retention.
  • #4856 Mixin: Add Query Frontend to Grafana dashboard.
  • #4874 Query: Add --endpoint-strict flag to statically configure Thanos API server endpoints. It is similar to --store-strict but supports passing any Thanos gRPC APIs: StoreAPI, MetadataAPI, RulesAPI, TargetsAPI and ExemplarsAPI.
  • #4868 Rule: Support ruleGroup limit introduced by Prometheus v2.31.0.
  • #4897 Query: Add validation for querier address flags.

Fixed

  • #4508 Sidecar, Mixin: Rename ThanosSidecarUnhealthy to ThanosSidecarNoConnectionToStartedPrometheus; Remove ThanosSidecarPrometheusDown alert; Remove unused thanos_sidecar_last_heartbeat_success_time_seconds metrics.
  • #4663 Fetcher: Fix discovered data races.
  • #4754 Query: Fix possible panic on stores endpoint.
  • #4753 Store: validate block sync concurrency parameter.
  • #4779 Examples: Fix the interactive test for MacOS users.
  • #4792 Store: Fix data race in BucketedBytes pool.
  • #4769 Query Frontend: Add "X-Request-ID" field and other fields to start call log.
  • #4709 Store: Fix panic when the application is stopped.
  • #4777 Query: Fix data race in exemplars server.
  • #4811 Query: Fix data race in metadata, rules, and targets servers.
  • #4795 Query: Fix deadlock in endpointset.
  • #4928 Azure: Only create an http client once, to conserve memory.
  • #4962 Compact/downsample: fix deadlock if error occurs with some backlog of blocks; fixes this pull request. Affected versions are 0.22.0 - 0.23.1.

Changed

  • #4864 UI: Remove the old PromQL editor.
  • #4708 Receive: Remove gRPC message size limit, which fixes errors commonly seen when receivers forward messages within a hashring.
thanos - v0.23.2-rc.1

Published by squat almost 3 years ago

Fixed

  • #4795 Query: Fix deadlock in endpointset.
  • #4962 Compact/downsample: fix deadlock if error occurs with some backlog of blocks; fixes this pull request. Affected versions are 0.22.0 - 0.23.1.
thanos - v0.24.0-rc.1

Published by squat almost 3 years ago

Added

  • #4228 Tools thanos bucket inspect: Add flag --output to provide output method (table,csv,tsv).
  • #4282 Query: breaking ⚠️ Add --endpoint flag to the querier. The --store flag will eventually be replaced.
  • #4636 Azure: Support authentication using user-assigned managed identity
  • #4680 Query: Add exemplar.partial-response flag to control partial response.
  • #4679 Query: Add enable-feature flag to enable negative offsets and @ modifier, similar to Prometheus.
  • #4696 Query: Add cache name to tracing spans.
  • #4710 Store: Add metric to capture timestamp of the last loaded block.
  • #4736 S3: Add capability to use custom AWS STS Endpoint.
  • #4764 Compact: Add block-viewer.global.sync-block-timeout flag to set the timeout of synchronization block metas.
  • #4801 Compact: Add Prometheus metrics for tracking the progress of compaction and downsampling.
  • #4444 UI: Add mark deletion and no compaction to the Block UI.
  • #4576 UI: Add filter compaction level to the Block UI.
  • #4731 Rule: Add stateless mode to ruler.
  • #4612 Sidecar: Add --prometheus.http-client and --prometheus.http-client-file flag for sidecar to connect to Prometheus with basic auth or TLS.
  • #4847 Query: Add --alert.query-url which is used in the UI for rules/alerts pages. By default the HTTP listen address is used for this URL.
  • #4848 Compactor: added Prometheus metric for tracking the progress of retention.
  • #4856 Mixin: Add Query Frontend to Grafana dashboard.
  • #4874 Query: Add --endpoint-strict flag to statically configure Thanos API server endpoints. It is similar to --store-strict but supports passing any Thanos gRPC APIs: StoreAPI, MetadataAPI, RulesAPI, TargetsAPI and ExemplarsAPI.
  • #4868 Rule: Support ruleGroup limit introduced by Prometheus v2.31.0.
  • #4897 Query: Add validation for querier address flags.

Fixed

  • #4508 Sidecar, Mixin: Rename ThanosSidecarUnhealthy to ThanosSidecarNoConnectionToStartedPrometheus; Remove ThanosSidecarPrometheusDown alert; Remove unused thanos_sidecar_last_heartbeat_success_time_seconds metrics.
  • #4663 Fetcher: Fix discovered data races.
  • #4754 Query: Fix possible panic on stores endpoint.
  • #4753 Store: validate block sync concurrency parameter.
  • #4779 Examples: Fix the interactive test for MacOS users.
  • #4792 Store: Fix data race in BucketedBytes pool.
  • #4769 Query Frontend: Add "X-Request-ID" field and other fields to start call log.
  • #4709 Store: Fix panic when the application is stopped.
  • #4777 Query: Fix data race in exemplars server.
  • #4811 Query: Fix data race in metadata, rules, and targets servers.
  • #4795 Query: Fix deadlock in endpointset.
  • #4928 Azure: Only create an http client once, to conserve memory.

Changed

  • #4864 UI: Remove the old PromQL editor.
  • #4708 Receive: Remove gRPC message size limit, which fixes errors commonly seen when receivers forward messages within a hashring.