Skip to content

Releases: grafana/alloy

v1.11.0-rc.0

17 Sep 13:11
v1.11.0-rc.0
4b6e017
Compare
Choose a tag to compare
v1.11.0-rc.0 Pre-release
Pre-release

This is release v1.11.0-rc.0 of Grafana Alloy.

Upgrading

Read the release notes for specific instructions on upgrading from older versions:

Notable changes:

Breaking changes

  • Prometheus dependency had a major version upgrade from v2.55.1 to v3.4.2. (@thampiotr)

    • The . pattern in regular expressions in PromQL matches newline characters now. With this change a regular expressions like .* matches strings that include \n. This applies to matchers in queries and relabel configs in Prometheus and Loki components.

    • The enable_http2 in prometheus.remote_write component's endpoints has been changed to false by default. Previously, in Prometheus v2 the remote write http client would default to use http2. In order to parallelize multiple remote write queues across multiple sockets its preferable to not default to http2. If you prefer to use http2 for remote write you must now set enable_http2 to true in your prometheus.remote_write endpoints configuration section.

    • The experimental CLI flag --feature.prometheus.metric-validation-scheme has been deprecated and has no effect. You can configure the metric validation scheme individually for each prometheus.scrape component.

    • Log message format has changed for some of the prometheus.* components as part of the upgrade to Prometheus v3.

    • The values of the le label of classic histograms and the quantile label of summaries are now normalized upon ingestion. In previous Alloy versions, that used Prometheus v2, the value of these labels depended on the scrape protocol (protobuf vs text format) in some situations. This led to label values changing based on the scrape protocol. E.g. a metric exposed as my_classic_hist{le="1"} would be ingested as my_classic_hist{le="1"} via the text format, but as my_classic_hist{le="1.0"} via protobuf. This changed the identity of the metric and caused problems when querying the metric. In current Alloy release, which uses Prometheus v3, these label values will always be normalized to a float like representation. I.e. the above example will always result in my_classic_hist{le="1.0"} being ingested into Prometheus, no matter via which protocol. The effect of this change is that alerts, recording rules and dashboards that directly reference label values as whole numbers such as le="1" will stop working.

      The recommended way to deal with this change is to fix references to integer le and quantile label values, but otherwise do nothing and accept that some queries that span the transition time will produce inaccurate or unexpected results.

    See the upstream Prometheus v3 migration guide for more details.

  • prometheus.exporter.windows dependency has been updated to v0.31.1. (@dehaansa)

    • There are various renamed metrics and two removed collectors (cs, logon).
  • Add otel_attrs_to_hec_metadata configuration block to otelcol.exporter.splunkhec to match otelcol.receiver.splunkhec. (@cgetzen)

  • [otelcol.processor.batch] Two arguments have different default values. (@ptodev)

    • send_batch_size is now set to 2000 by default. It used to be 8192.
    • send_batch_max_size is now set to 3000 by default. It used to be 0.
    • This helps prevent issues with ingestion of batches that are too large.
  • OpenTelemetry Collector dependencies upgraded from v0.128.0 to v0.134.0. (@ptodev)

    • The otelcol.receiver.opencensus component has been deprecated and will be removed in a future release, use otelcol.receiver.otelp instead.
    • [otelcol.exporter.*] The deprecated blocking argument in the sending_queue block has been removed.
      Use block_on_overflow instead.
    • [otelcol.receiver.kafka, otelcol.exporter.kafka]: Removed the broker_addr argument from the aws_msk block.
      Also removed the SASL/AWS_MSK_IAM authentication mechanism.
    • [otelcol.exporter.splunkhec] The batcher block is deprecated and will be removed in a future release. Use the queue block instead.
    • [otelcol.exporter.loadbalancing] Use a linear probe to decrease variance caused by hash collisions, which was causing a non-uniform distribution of loadbalancing.
    • [otelcol.connector.servicegraph] The database_name_attribute argument has been removed.
    • [otelcol.connector.spanmetrics] Adds a default maximum number of exemplars within the metric export interval.
    • [otelcol.processor.tail_sampling] Add a new block_on_overflow config attribute.

Features

  • Add the otelcol.receiver.fluentforward receiver to receive logs via Fluent Forward Protocol. (@rucciva)

  • Add the prometheus.enrich component to enrich metrics using labels from discovery.* components. (@ArkovKonstantin)

  • Add node_filter configuration block to loki.source.podlogs component to enable node-based filtering for pod discovery. When enabled, only pods running on the specified node will be discovered and monitored, significantly reducing API server load and network traffic in DaemonSet deployments. (@QuentinBisson)

  • (Experimental) Additions to experimental database_observability.mysql component:

    • query_sample collector now supports auto-enabling the necessary setup_consumers settings (@cristiangreco)
    • query_sample collector is now compatible with mysql less than 8.0.28 (@cristiangreco)
    • include server_id label on log entries (@matthewnolf)
    • support receiving targets argument and relabel those to include server_id (@matthewnolf)
    • updated the config blocks and documentation (@cristiangreco)
  • (Experimental) Additions to experimental database_observability.postgres component:

    • add query_tables collector for postgres (@matthewnolf)
    • add cloud_provider.aws configuration that enables optionally supplying the ARN of the database under observation. The ARN is appended to metric samples as labels for easier filtering and grouping of resources.
    • add query_sample collector for postgres (@gaantunes)
    • add schema_table collector for postgres (@fridgepoet)
    • include server_id label on logs and metrics (@matthewnolf)
  • Add otelcol.receiver.googlecloudpubsub community component to receive metrics, traces, and logs from Google Cloud Pub/Sub subscription. (@eraac)

  • (Experimental) Add a honor_metadata configuration argument to the prometheus.scrape component.
    When set to true, it will propagate metric metadata to downstream components.

  • Add a flag to pyroscope.ebpf alloy configuration to set the off-cpu profiling threshold. (@luweglarz)

  • Add encoding.url_encode and encoding.url_decode std lib functions. (@kalleep)

For a full list of changes, please refer to the CHANGELOG!

Installation

Refer to our installation guide for how to install Grafana Alloy.

v1.10.2

20 Aug 02:42
v1.10.2
b19f8c5
Compare
Choose a tag to compare

This is release v1.10.2 of Grafana Alloy.

Upgrading

Read the release notes for specific instructions on upgrading from older versions:

Notable changes:

Bugfixes

  • Fix issue in prometheus.write.queue causing inability to increase shard count if existing WAL data was present on start. (@kgeckhart)

  • Fix issue with loki.source.gcplog when push messages sent by gcp pub/sub only includes messageId. (@kalleep)

Installation

Refer to our installation guide for how to install Grafana Alloy.

v1.10.1

07 Aug 10:12
v1.10.1
73262fc
Compare
Choose a tag to compare

This is release v1.10.1 of Grafana Alloy.

Upgrading

Read the release notes for specific instructions on upgrading from older versions:

Notable changes:

Bugfixes

  • Fix issue with faro.receiver cors not allowing X-Scope-OrgID and traceparent headers. (@mar4uk)

  • Fix issues with propagating cluster peers change notifications to components configured with remotecfg. (@dehaansa)

  • Fix issues with statistics reporter not including components only configured with remotecfg. (@dehaansa)

  • Fix issues with prometheus.exporter.windows not propagating dns collector config. (@dehaansa)

  • Fixed a bug in prometheus.write.queue which caused retries even when max_retry_attempts was set to 0. (@ptodev)

  • Fixed a bug in prometheus.write.queue which caused labelling issues when providing more than one label in external_labels. (@dehaansa)

  • Add application_host and network_inter_zone features to beyla.ebpf component. (@marctc)

  • Fix issues in loki.process where stage.multiline did not pass through structured metadata. (@jan-mrm)

  • Fix URLs in the Windows installer being wrapped in quotes. (@martincostello)

  • Fixed an issue where certain otelcol.* components could prevent Alloy from shutting down when provided invalid configuration. (@thampiotr)

For a full list of changes, please refer to the CHANGELOG

Installation

Refer to our installation guide for how to install Grafana Alloy.

v1.10.0

16 Jul 17:14
v1.10.0
63aeef7
Compare
Choose a tag to compare

This is release v1.10.0 of Grafana Alloy.

Upgrading

Read the release notes for specific instructions on upgrading from older versions.

Notable changes

Breaking changes

  • Removing the nanoserver-1809 container image for Windows 2019. (@ptodev)
    This is due to the deprecation of windows-2019 GitHub Actions runners.
    The windowsservercore-ltsc2022 Alloy image is still being published to DockerHub.

Bugfixes

  • Upgrade otelcol components from OpenTelemetry v0.126.0 to v0.128.0 (@korniltsev, @dehaansa)
    • [otelcol.exporter.kafka]: Allow kafka exporter to produce to topics based on metadata key values.
    • [otelcol.receiver.kafka]: Enforce a backoff mechanism on non-permanent errors, such as when the queue is full.
    • [otelcol.receiver.kafka]: Don't restart the Kafka consumer on failed errors when message marking is enabled for them.
    • [otelcol.connector.spanmetrics]: Fix bug causing span metrics calls count to be always 0 when using delta temporality.

Features

  • (Experimental) Add an array.group_by stdlib function to group items in an array by a key. (@wildum)

  • Add the otelcol.exporter.faro exporter to export traces and logs to Faro endpoint. (@mar4uk)

  • Add the otelcol.receiver.faro receiver to receive traces and logs from the Grafana Faro Web SDK. (@mar4uk)

  • Add entropy support for loki.secretfilter (@romain-gaillard)

Enhancements

  • Add hash_string_id argument to foreach block to hash the string representation of the pipeline id instead of using the string itself. (@wildum)

  • (Experimental) Additions to experimental database_observability.mysql component:

    • Add explain_plan collector to database_observability.mysql component. (@rgeyer)
    • locks: addition of data locks collector (@gaantunes @fridgepoet)
    • Query sample collector is now enabled by default (@matthewnolf)
  • (Experimental) prometheus.write.queue add support for exemplars. (@dehaansa)

  • Wire in survey block for beyla.ebpf component. (@grcevski, @tpaschalis)

  • Upgrade otelcol components from OpenTelemetry v0.126.0 to v0.128.0 (@korniltsev, @dehaansa)

    • [otelcol.processor.resourcedetection]: Add additional OS properties to resource detection: os.build.id and os.name.
    • [otelcol.processor.resourcedetection]: Add host.interface resource attribute to system detector.
    • [otelcol.exporter.kafka]: Fix Snappy compression codec support for the Kafka exporter.
    • [otelcol.receiver.filelog]: Introduce utf8-raw encoding to avoid replacing invalid bytes with \uFFFD when reading UTF-8 input.
    • [otelcol.processor.k8sattributes]: Support extracting labels and annotations from k8s Deployments.
    • [otelcol.processor.k8sattributes]: Add option to configure automatic service resource attributes.
    • [otelcol.exporter.datadog]: Adds hostname_detection_timeout configuration option for Datadog Exporter and sets default to 25 seconds.
    • [otelcol.receiver.datadog]: Address semantic conventions noncompliance and add support for http/db.
    • [otelcol.exporter.awss3]: Add the retry mode, max attempts and max backoff to the settings.
  • Add support for conditions and statement-specific error_mode in otelcol.processor.transform. (@ptodev)

  • Add storage and start_from args to cloudwatch logs receiver. (@boernd)

Bugfixes

  • Fix extension registration for otelcol.receiver.splunkhec auth extensions. (@dehaansa)

Other changes

  • Mark pyroscope.receive_http and pyroscope.relabel components as GA. (@marcsanmi)

  • Upgrade otelcol.exporter.windows to v0.30.8 to get bugfixes and fix update collector support. (@dehaansa)

For a full list of changes, please refer to the CHANGELOG!

Installation

Refer to our installation guide for how to install Grafana Alloy.

v1.10.0-rc.0

10 Jul 14:59
v1.10.0-rc.0
104a921
Compare
Choose a tag to compare
v1.10.0-rc.0 Pre-release
Pre-release

This is release v1.10.0-rc.0 of Grafana Alloy.

Upgrading

Read the release notes for specific instructions on upgrading from older versions:

Notable changes:

Breaking changes

  • Removing the nanoserver-1809 container image for Windows 2019. (@ptodev)
    This is due to the deprecation of windows-2019 GitHub Actions runners.
    The windowsservercore-ltsc2022 Alloy image is still being published to DockerHub.

Bugfixes

  • Upgrade otelcol components from OpenTelemetry v0.126.0 to v0.128.0 (@korniltsev, @dehaansa)
    • [otelcol.exporter.kafka]: Allow kafka exporter to produce to topics based on metadata key values.
    • [otelcol.receiver.kafka]: Enforce a backoff mechanism on non-permanent errors, such as when the queue is full.
    • [otelcol.receiver.kafka]: Don't restart the Kafka consumer on failed errors when message marking is enabled for them.
    • [otelcol.connector.spanmetrics]: Fix bug causing span metrics calls count to be always 0 when using delta temporality.

Features

  • (Experimental) Add an array.group_by stdlib function to group items in an array by a key. (@wildum)

  • Add the otelcol.exporter.faro exporter to export traces and logs to Faro endpoint. (@mar4uk)

  • Add the otelcol.receiver.faro receiver to receive traces and logs from the Grafana Faro Web SDK. (@mar4uk)

  • Add entropy support for loki.secretfilter (@romain-gaillard)

Enhancements

  • Add hash_string_id argument to foreach block to hash the string representation of the pipeline id instead of using the string itself. (@wildum)

  • (Experimental) Additions to experimental database_observability.mysql component:

    • Add explain_plan collector to database_observability.mysql component. (@rgeyer)
    • locks: addition of data locks collector (@gaantunes @fridgepoet)
    • Query sample collector is now enabled by default (@matthewnolf)
  • (Experimental) prometheus.write.queue add support for exemplars. (@dehaansa)

  • Wire in survey block for beyla.ebpf component. (@grcevski, @tpaschalis)

  • Upgrade otelcol components from OpenTelemetry v0.126.0 to v0.128.0 (@korniltsev, @dehaansa)

    • [otelcol.processor.resourcedetection]: Add additional OS properties to resource detection: os.build.id and os.name.
    • [otelcol.processor.resourcedetection]: Add host.interface resource attribute to system detector.
    • [otelcol.exporter.kafka]: Fix Snappy compression codec support for the Kafka exporter.
    • [otelcol.receiver.filelog]: Introduce utf8-raw encoding to avoid replacing invalid bytes with \uFFFD when reading UTF-8 input.
    • [otelcol.processor.k8sattributes]: Support extracting labels and annotations from k8s Deployments.
    • [otelcol.processor.k8sattributes]: Add option to configure automatic service resource attributes.
    • [otelcol.exporter.datadog]: Adds hostname_detection_timeout configuration option for Datadog Exporter and sets default to 25 seconds.
    • [otelcol.receiver.datadog]: Address semantic conventions noncompliance and add support for http/db.
    • [otelcol.exporter.awss3]: Add the retry mode, max attempts and max backoff to the settings.
  • Add support for conditions and statement-specific error_mode in otelcol.processor.transform. (@ptodev)

  • Add storage and start_from args to cloudwatch logs receiver. (@boernd)

Bugfixes

  • Fix extension registration for otelcol.receiver.splunkhec auth extensions. (@dehaansa)

Other changes

  • Mark pyroscope.receive_http and pyroscope.relabel components as GA. (@marcsanmi)

  • Upgrade otelcol.exporter.windows to v0.30.8 to get bugfixes and fix update collector support. (@dehaansa)

For a full list of changes, please refer to the CHANGELOG!

Installation

Refer to our installation guide for how to install Grafana Alloy.

v1.9.2

26 Jun 16:39
v1.9.2
30277f7
Compare
Choose a tag to compare

This is release v1.9.2 of Grafana Alloy.

Upgrading

Read the release notes for specific instructions on upgrading from older versions.

Notable changes:

Bugfixes

  • Send profiles concurrently from pyroscope.ebpf. (@korniltsev)

  • Fix the validate command not understanding the livedebugging block. (@dehaansa)

  • Fix invalid class names in python profiles obtained with pyroscope.ebpf. (@korniltsev)

  • Fixed a bug which prevented non-secret optional secrets to be passed in as number arguments. (@ptodev)

  • For CRD-based components (prometheus.operator.*), retry initializing informers if the apiserver request fails. This rectifies issues where the apiserver is not reachable immediately after node restart. (@dehaansa)

Other changes

  • Add no-op blocks and attributes to the prometheus.exporter.windows component (@ptodev).
    Version 1.9.0 of Alloy removed the msmq block, as well as the enable_v2_collector, where_clause, and use_api attributes in the service block.
    This made it difficult for users to upgrade, so those attributes have now been made a no-op instead of being removed.

Installation

Refer to our installation guide for how to install Grafana Alloy.

v1.9.1

05 Jun 13:30
v1.9.1
d3d7931
Compare
Choose a tag to compare

This is release v1.9.1 of Grafana Alloy.

Upgrading

Read the release notes for specific instructions on upgrading from older versions:

Notable changes:

Bugfixes

  • Update the prometheus.exporter.windows component to version v0.30.7. This fixes an error with the exchange collector and terminal_services collector (@dehaansa)

  • Fix loki.source.firehose to propagate specific cloudwatch event timestamps when useIncomingTs is set to true. (@michaelPotter)

  • Fix elevated CPU usage when using some otelcol components due to debug logging. (@thampiotr)

Installation

Refer to our installation guide for how to install Grafana Alloy.

v1.9.0

02 Jun 10:26
v1.9.0
019b467
Compare
Choose a tag to compare

This is release v1.9.0 of Grafana Alloy.

Upgrading

Read the release notes for specific instructions on upgrading from older versions:

Notable changes:

Breaking changes

  • The prometheus.exporter.windows component has been update to version v0.30.6. This update includes a significant rework of the exporter and includes some breaking changes. (@dehaansa)

    • The msmq and service collectors can no longer be configured with a WMI where clause. Any filtering previously done in a where clause will need to be done in a prometheus.relabel component.
    • The service collector no longer provides enable_v2_collector and use_api configuration options.
    • The mscluster_* and netframework_* collectors are now replaced with one mscluster and netframework collector that allows you to enable the separate metric groupings individually.
    • The teradici_pcoip and vmware_blast collectors have been removed from the exporter.
  • The prometheus.exporter.oracledb component now embeds the oracledb_exporter from oracle instead of the deprecated oracledb_exporter from iamseth for collecting metrics from an OracleDB server: (@wildum)

    • The arguments username, password, default_metrics, and custom_metrics are now supported.
    • The previously undocumented argument custom_metrics is now expecting a list of paths to custom metrics files.
    • The following metrics are no longer available by default: oracledb_sessions_activity, oracledb_tablespace_free_bytes
  • (Experimental) The enable_context_propagation argument in beyla.ebpf has been replaced with the context_propagation argument.
    Set enable_context_propagation to all to get the same behaviour as enable_context_propagation being set to true.

Features

  • Bump snmp_exporter and embedded modules in prometheus.exporter.snmp to v0.29.0, add cisco_device module support (@v-zhuravlev)

  • Add the otelcol.storage.file extension to support persistent sending queues and otelcol.receiver.filelog file state tracking between restarts. (@dehaansa)

  • Add otelcol.exporter.googlecloud community component to export metrics, traces, and logs to Google Cloud. (@motoki317)

  • Add support to configure basic authentication for alloy http server. (@kalleep)

  • Add validate command to alloy that will perform limited validation of alloy configuration files. (@kalleep)

  • Add support to validate foreach block when using validate command. (@kalleep)

  • Add otelcol.receiver.splunkhec component to receive events in splunk hec format and forward them to other otelcol.* components. (@kalleep)

  • Add support for Mimir federated rule groups in mimir.rules.kubernetes (@QuentinBisson)

For a full list of changes, please refer to the CHANGELOG!

Installation

Refer to our installation guide for how to install Grafana Alloy.

v1.9.0-rc.2

26 May 15:45
v1.9.0-rc.2
9f92986
Compare
Choose a tag to compare
v1.9.0-rc.2 Pre-release
Pre-release

This is release v1.9.0-rc.2 of Grafana Alloy.

Upgrading

Read the release notes for specific instructions on upgrading from older versions:

Notable changes:

Bugfixes

  • Fix pyroscope.scrape scraping godeltaprof profiles. (@korniltsev)

Installation

Refer to our installation guide for how to install Grafana Alloy.

v1.9.0-rc.1

23 May 14:00
v1.9.0-rc.1
d1e3524
Compare
Choose a tag to compare
v1.9.0-rc.1 Pre-release
Pre-release

This is release v1.9.0-rc.1 of Grafana Alloy.

Upgrading

Read the release notes for specific instructions on upgrading from older versions:

Notable changes:

Breaking changes

  • The prometheus.exporter.windows component has been update to version v0.30.6. This update includes a significant rework of the exporter and includes some breaking changes. (@dehaansa)

    • The msmq and service collectors can no longer be configured with a WMI where clause. Any filtering previously done in a where clause will need to be done in a prometheus.relabel component.
    • The service collector no longer provides enable_v2_collector and use_api configuration options.
    • The mscluster_* and netframework_* collectors are now replaced with one mscluster and netframework collector that allows you to enable the separate metric groupings individually.
    • The teradici_pcoip and vmware_blast collectors have been removed from the exporter.
  • The prometheus.exporter.oracledb component now embeds the oracledb_exporter from oracle instead of the deprecated oracledb_exporter from iamseth for collecting metrics from an OracleDB server: (@wildum)

    • The arguments username, password, default_metrics, and custom_metrics are now supported.
    • The previously undocumented argument custom_metrics is now expecting a list of paths to custom metrics files.
    • The following metrics are no longer available by default: oracledb_sessions_activity, oracledb_tablespace_free_bytes
  • (Experimental) The enable_context_propagation argument in beyla.ebpf has been replaced with the context_propagation argument.
    Set enable_context_propagation to all to get the same behaviour as enable_context_propagation being set to true.

Features

  • Bump snmp_exporter and embedded modules in prometheus.exporter.snmp to v0.29.0, add cisco_device module support (@v-zhuravlev)

  • Add the otelcol.storage.file extension to support persistent sending queues and otelcol.receiver.filelog file state tracking between restarts. (@dehaansa)

  • Add otelcol.exporter.googlecloud community component to export metrics, traces, and logs to Google Cloud. (@motoki317)

  • Add support to configure basic authentication for alloy http server. (@kalleep)

  • Add validate command to alloy that will perform limited validation of alloy configuration files. (@kalleep)

  • Add support to validate foreach block when using validate command. (@kalleep)

  • Add otelcol.receiver.splunkhec component to receive events in splunk hec format and forward them to other otelcol.* components. (@kalleep)

  • Add support for Mimir federated rule groups in mimir.rules.kubernetes (@QuentinBisson)

For a full list of changes, please refer to the CHANGELOG!

Installation

Refer to our installation guide for how to install Grafana Alloy.