0.28 Upgrade Guide
An upgrade guide that addresses breaking changes in 0.28.0
Vector’s 0.28.0 release includes breaking changes:
- The
journald
source’sunits
option removed - Removal of metadata functions
- Removal of the
apex
sink - Removal of the
disk_v1
buffer type - Renaming of
host
tohostname
indatadog_logs
and deprecations:
- The
redis
sink’surl
argument changed toendpoint
- The
aws_s3
source’sstrategy
option has been hidden - The
axiom
sink now hardcodes thetimestamp-field
header - The
datadog_logs
anddatadog_metrics
sinks'api_key
option will be removed in 0.29
and potentially impactful changes:
- AWS components now use OpenSSL as the TLS implementation
- The
azure_monitor_logs
sink now hardcodes thetimestamp
field
We cover them below to help you upgrade quickly:
Upgrade guide
Breaking changes
The journald
source’s units
option removed
The units
option had been replaced by include_units
in the 0.10
release. This release marks the final removal
of this option, please update your configurations to use the include_units
option instead.
Removal metadata functions
Vector 0.25.0
introduced new metadata path syntax available in VRL which points
directly to event metadata. That meant the metadata functions were no longer necessary and
were deprecated. They are now being removed. The table below shows you how to convert
VRL code from the method calls to the new path syntax. If you are running Vector 0.25.0
or later, you will also receive warnings which will provide you with the correct
syntax to use to migrate.
before | after | |
---|---|---|
get | get_metadata_field(.foo.bar) | %foo.bar |
set | set_metadata_field(.foo.bar, “value”) | %foo.bar = “value” |
delete | remove_metadata_field(.foo.bar) | del(%foo.bar) |
Removal of the apex
sink
The apex
sink has been removed from Vector. This follows the EOL of the Apex service that took
effect in December 2022.
Removal of the disk_v1
buffer type
The deprecated disk_v1
buffer type was removed. Users using this buffer type should use Vector
v0.27.1 to migrate their buffers to the new disk buffer implementation by switching to the disk
buffer type before upgrading to v0.28.0 which had the migration behavior removed.
-type = "disk_v1"
+type = "disk"
The change should be transparent. See the blog post about the promotion of the new disk buffers to
the default for type = "disk"
for details about
this migration. Also see the blog post about the introduction of the new disk buffer
implementation for the reasons the new disk buffer
implementation was introduced.
Renaming of host
to hostname
in datadog_logs
In the datadog_logs
sink, if an event contained the host
key from either the global
log schema, or the host path of the event, it was renamed to host
. This was changed to rename it
to hostname
, to match the Datadog Agent intake API.
Deprecation notices
The redis
sink’s url
argument changed to endpoint
To maintain consistent naming with other Vector sinks, the url
option in the
redis
sink has been renamed to endpoint
. url
will still work, but has
been deprecated and will be removed in due course.
The aws_s3
source’s strategy
option has been hidden
The strategy
option has been hidden on the documentation for the aws_s3
source.
sqs
is currently the only value for this option, and is currently the default. If
additional strategies are added for this source, we will expose this option again.
No changes need to be made by users of this source, it is a documentation only change.
The axiom
sink now hardcodes the timestamp-field
header
Previously this sink used the global log_schema
to provide the value for this header, however the
actual implementation always ensured an event’s timestamp was stored at @timestamp
. In this release
we’ve hardcoded this header to match the underlying implementation.
The datadog_logs
and datadog_metrics
sinks' api_key
option will be removed in 0.29
The api_key
option has been hidden on the documentation for the datadog_logs
and datadog_metrics
sinks for a few releases now, with the documented name for
that setting being default_api_key
. The api_key
is now formally deprecated and
will be removed in the 0.29.0
release.
Potentially impactful changes
AWS components now use OpenSSL as the TLS implementation
In this release, Vector’s AWS integrations had their TLS implementation swapped from
rustls
to OpenSSL. We don’t expect any user visible impact,
but please let us know if this change causes you any issues.
We made this change primarily since most of Vector’s dependencies use OpenSSL and so it reduces our
maintenance burden caused by any variances in the implementation. We may re-evaluate in the future
as more of the Rust ecosystem supports rustls
.
The azure_monitor_logs
sink now encodes the timestamp at a configurable path
Previously this sink would include a properly formatted timestamp at a path determined by the log_schema
as well as setting a time-generated-field
header with a value of that path. Azure Monitor will use the contained value
to populate the TimeGenerated
standard column.
In this release we’ve added a time_generated_key
option that determines where this field is encoded, this field defaults
to the value set in log_schema
if unset.