Vector v0.18.0 release notes
- The
elasticsearchsink incorrectly prints a message for each delivered event. Fixed in v0.18.1. - A change to internal telemetry causes aggregated histograms emitted by the
prometheus_exporterandprometheus_remote_writesinks to be incorrectly tallied. Fixed in v0.18.1. - The new automatic namespacing feature broke running Vector from the published RPM due to it trying to load directories from
/etc/vectorthat are not valid. Fixed in v0.18.1. - The new
reroute_droppedfeature ofremapalways creates thedroppedoutput even ifreroute_dropped = false. Fixed in v0.18.1. - The
headers_keyoption for thekafkasink was inadvertently changed toheaders_field. Fixed in v0.19.0. - If
--config-diris used, Vector incorrectly tries to load files with unknown extensions. Fixed in v0.19.0. encoding.only_fieldsfailed to deserialize correctly for sinks that used fixed encodings (i.e. those that don’t haveencoding.codec). Fixed in v0.19.2. As a workaround, you can split the paths up in your configuration like:encoding.only_fields = ["message", "foo.bar"]to
encoding.only_fields = [["message"], ["foo", "bar"]]You will need to convert it back to its original representation when upgrading to >= v0.19.2.
The Vector team is pleased to announce version 0.18.0!
Be sure to check out the upgrade guide for breaking changes in this release.
In case you missed it, we’ve also released a new unified vector helm chart! This new chart can deployed as either
as either an agent or aggregator role and so deprecates our existing vector-agent and vector-aggregator charts.
See the chart upgrade
guide for how to
transition from the old charts.
Vector Changelog
5 new features
- Initial support for routing failed events from transforms has been added, starting with the
remaptransform. See the highlight for more. - Initial support for enriching events from external data sources has been added via a new Vector concept, enrichment tables. To start, we’ve added support for enriching events with data from a CSV file. See the highlight for more.
- A new
throttletransform has been added for controlling costs. See the highlight for more. - Better support for breaking up Vector configuration into multiple files was added via deriving configuration from file and directory names. See the highlight for more.
- A new
aws_sqssource was added for consuming messages from AWS SQS as log events.
17 enhancements
Instrumentation has been added to sink buffers to help give more visibility into their operation. The following metrics have been added:
buffer_byte_size(disk buffer only): The number of bytes in the bufferbuffer_events(in-memory buffer only): The number of events in the bufferbuffer_received_event_bytes_total: The number of bytes that have been received by this buffer. This count does not include discarded events.buffer_sent_event_bytes_total: The number of bytes that have been sent from the buffer to its associated sink.buffer_received_events_total: The number of events that have been received by this buffer. This count does not include discarded events.buffer_sent_events_total: The number of events that have been sent from the buffer to its associated sink.buffer_discarded_events_total: The number of events that have been discarded from the buffer because it is full (relevant whenwhen_fullisdrop_newest)
- The
$LOGenvironment variable for configuring the Vector log level has been renamed to$VECTOR_LOG.$LOGis still also accepted for backwards compatibility. This change makes logging configuration more in-line with Vector’s other environment variable based options, and isolates Vector from being affected by other generic environment variables. - VRL diagnostic error messages have been improved to suggest
null,true, orfalsefor undefined variables. This helps guide users to realize when they are trying to use a keyword likenilthat doesn’t actually exist in VRL. - The
log_to_metrictransform now also allows emitting absolute counters in addition to relative counters viakind = "absolute". - The
statustag for thehttp_client_responses_totalinternal metric was updated to be just the integer (e.g.200) rather than including the text portion of the HTTP response code (e.g.200 OK). - The
kubernetes_logssource now annotates logs with thepod_ownerwhen available. - The
papertrailsink now allowsprocessfield to be set to a event field value the templatableprocesskey. - The
aws_s3sink now has less connections terminated prematurely as it optimistically terminates connections before AWS’s timeout. - The
prometheus_exporternow expires metrics that haven’t been seen since the last flush (controlled byflush_interval_secs) to avoid holding onto stale metrics indefinitely and consuming increasing amounts of memory. - Added support for end-to-end acknowledgements to the
aws_kinesis_firehosesource,journaldsource, andfilesink. - The
utilizationmetric for most transforms no longer count time spent blocked on downstream components as busy. This means they should more accurately represent the time spent in that specific transform and require less interpretation to find bottlenecks. - The
datadog_metricssink now supports sending distribution data to Datadog like histograms and aggregated samples. - The
kubernetes_logssource has been updated to be less demanding on the Kubernetes API server (and backing etcd cluster) by allowing for slightly stale data to be used for log enrichment rather than always requesting the most-up-to-date metadata. - The
generatorsource has been renamed todemo_logs. We feel this name better reflects the intent of the source. An alias has been added to maintain compatibility. - The
framinganddecodingoptions are now available onheroku_logssource. See the framing and decoding highlight from v0.17.0 for more about this new source feature. - The
upper_limitfield for aggregated summaries from themetric_to_logtransform has been renamed toqwhich is a common shorthand forquantile. - We have continued to add additional instrumentation to components with the goal of having them all match the Component Specification. Once we have finished this we will post a highlight outlining all of the added metrics.
9 bug fixes
- Configuring the number of threads (via
--threads) for Vector now actually takes effect again rather than it always using the number of available cores. This was a regression in v0.13. - Vector no longer crashes when configuration was reloaded that include changes to both the order of inputs for a component and configuration of one of those inputs.
- The obsolete
event_per_lineconfiguration option was removed from theexecsource. This option became non-functional in 0.17.0 but was left available to be configured. Instead, the newframingoption can be used to choose between interpreting th e output of the subcommand as an event per line or all at once as one event. - Fix regression in
v0.17.0foraws_s3sink where it would add a/to the prefix provided. The sink no longer adds this/to replace previous behavior. - Fix memory leak that occurred when using Vector as a Windows service.
- Fix lock-ups with the
aws_s3,loki, anddatadog_logssinks. - Fix naming of the VRL
compactfunction’sobjectargument to match the docs. This was incorrectly implemented namedmapin the implementation. - The
component_sent_bytes_totalinternal metric is now reported after events are successfully sent to HTTP-based sinks rather than before they are sent. - The
influxdb_metricsandinfluxdb_logssinks now use/pingfor healthchecks rather than/healthto work with Influx DB 2 Cloud.
3 chore
- The deprecated
batch.max_sizeparameter has been removed in this release. See the upgrade guide for more. - The deprecated
request.in_flight_limithas been removed in this release. See the upgrade guide for more. - The deprecated
hostandnamespacefield on thedatadog_metricssink has been removed. See the upgrade guide for more.