Vector v0.29.0 release notes
- Certain configurations containing a chain of at least two
remaptransforms no longer result in a panic at startup. Fixed in 0.29.1.
The Vector team is pleased to announce version 0.29.0!
In addition to the usual smaller enhancements and bug fixes, this release also includes:
- A new
appsignalsink to send logs and metrics to AppSignal - A new
databendsink to send logs to Databend - A new
webhdfssink to send log data to HDFS via the WebHDFS interface. - A new
csvencoding option for sinks to encode events as CSV
Be sure to check out the upgrade guide for breaking changes in this release.
Special thanks to Xuanwo for collaborating with us to introduce
the OpenDAL library into Vector, starting
with the webhdfs sink, to prove out the ability to use it to more easily support
additional Vector sinks in the future.
Additionally, for Vector developers, two new tutorials were added for developing Vector sinks: docs. We hope this makes it easier to add Vector sinks in the future.
Vector Changelog
7 new features
- A new
databendsink was added to forward logs to Databend.Thanks to everpcpc for contributing this change! A new
csvencoding option was added for sinks. Example configuration:encoding: codec: csv csv: fields: - field1 - field2This will encode the event as CSV using the
field1andfield2fields, in order.Note that CSV headers are not added. This requires batch header support that will be added in the future.
Thanks to everpcpc for contributing this change!- The
kubernetes_logssource now addscontainer_image_idas metadata to log events.Thanks to nabokihms for contributing this change! A few functions to generate random values were added to VRL:
random_bool: generate a random booleanrandom_int: generate a random integerrandom_float: generate a random float
- The
aws_ecs_metricssource now collectsprecpu_online_cpusstats.Thanks to asingh072318 for contributing this change! - The
filesource now handles acknowledgements when Vector is shutting down and sinks are flushing events. Previously thefilesource would ignore all acknowledgements once Vector starts to shut down.Thanks to jches for contributing this change! - A new
appsignalsink was added to forward logs and metrics to AppSignal.Thanks to tombruijn for contributing this change!
8 enhancements
- The
http_serversource now supports receiving requests usingzstdcompression.Thanks to zamazan4ik for contributing this change! - The
socketsource now has amax_connection_duration_secsoption that will terminate connections after the specified number of seconds. This is useful to force clients to reconnect when connecting through a load balancer.Thanks to joscha-alisch for contributing this change! A new
webhdfssink was added to send log data to HDFS via the WebHDFS interface.This sink is also the first to use the new OpenDAL library which may enable us to more quickly add support for other sinks in the future as that library expands storage support.
Thanks to Xuanwo for contributing this change!The
lokisink now supports sending a field containing a map as labels with configuration like:labels: "*": "{{ labels }}"to send the key/value map stored at
labelsas the set of labels to Loki.Thanks to hargut for contributing this change!- AWS components can now also assume-role whenever static credentials are provided in the configuration file through the
auth.assume_roleoption.Thanks to sbalmos for contributing this change! - The deprecated
api_keyoption was removed from Datadog sinks. It had been replaced bydefault_api_key. - Vector now logs signals that it receives, and handles, at the INFO level. Unhandled signals are ignored.Thanks to zamazan4ik for contributing this change!
- An
hmacfunction was added to VRL to calculate HMACs.Thanks to sbalmos for contributing this change!
10 bug fixes
- Vector components can now bind to the same port on different IP addresses including different IP address families. Previously Vector would report that the addresses conflicted.Thanks to ruhi-stripe for contributing this change!
- The
amqpsource and sink now support TLS connections. - Support for AWS credential files was re-added for all AWS components. This was dropped during the migration of the SDK we were using from
rusototo AWS’s official Rust SDK.Thanks to protochron for contributing this change! - The
aws_s3source no longer deadlocks under lowclient_concurrencywhenacknowledgementsare enabled.Thanks to mdeltito for contributing this change! - The
statsdsink now supports encoding aggregate histograms. Not supported, yet, is encoding sketches as histograms.Thanks to pedro-stanaka for contributing this change! - Encoding of timestamps by the
gelfcodec was fixed to correctly encode as an integer rather than an RFC3339 string.Thanks to scMarkus for contributing this change! - The distributed SystemD unit file now has
Restartset toAlwaysto match expected user behavior when Vector exits.Thanks to KannarFr for contributing this change! - Comparisons of float fields in Vector was fixed to completely compare the value. Previously it was only comparing the integer portion. This mostly came up in VRL when doing field comparisons like
.foo == .barwhere.fooand.barwere float values. - The
prometheus_scrapesource now handles larger counts for summary metrics (up to uint64 instead of uint32).Thanks to uralmetal for contributing this change! - The
kubernetes_logssource now backs-off when retrying failed requests to the Kubernetes API. events.Thanks to nabokihms for contributing this change!
1 chore
The
socketsourcemax_lengthoption was deprecated in-lieu of the options available onframing.See the upgrade guide for more details.