0.27 Upgrade Guide
An upgrade guide that addresses breaking changes in 0.27.0
Vector’s 0.27.0 release includes breaking changes:
statsd
components now support enhanced metric tagsdatadog_agent
source now supports enhanced metric tags- Changes to
native
andnative_json
codecs
and potentially impactful changes:
and deprecations:
We cover them below to help you upgrade quickly:
Upgrade guide
Breaking changes
statsd
components now support enhanced metric tags
Prior to this release, the statsd
source parsed incoming empty tags (tags with a key
but no value), as having a boolean value “true”. For example, in the tagset
“atag,btag:bvalue” , the tag “atag” would be parsed to a value of “true”.
With this release, that behavior is now changed and the statsd
source parses empty tags
as empty tags.
Similarly, prior to this release, the statsd
sink encoded metric tags with a boolean value
of “true”, to being an empty tag.
With this release, the statsd
sink now correctly encodes a value of “true” to “true”, and
empty tags as empty tags.
datadog_agent
source sink now supports enhanced metric tags
Prior to this release, the datadog_agent
source parsed incoming empty tags (tags with
a key but no value) as empty strings. With this release, empty tags are properly parsed
as empty tags.
Changes to native
and native_json
codecs
The native
and native_json
codecs have been modified to include support for enhanced tags (bare
tags or multi-valued tags) on metrics by optionally encoding tag values as arrays of values. This
will cause Vector, when using these codecs and a metric source or transform that generates enhanced
tags, to emit metrics that are not backwards compatible with previous versions. Vector can continue
to load in events emitted by older versions.
This has two potential implications that you should consider:
Disk buffers should be backed up if you want to be able to roll back to an older Vector version since new disk buffer entries may not be readable by older Vector versions. The disk buffers location can be found under the Vector data directory.
When upgrading Vector to Vector communication using the
vector
source and sink or thenative
ornative_json
codecs, make sure you upgrade the consumers first followed by the producers to ensure newer versions of Vector aren’t sending data to older versions, which may not be able to be read.
Potentially impactful changes
Increase in possible tags sent with aws_cloudwatch_metrics
sink
Before this release, the aws_cloudwatch_metrics
sink would only send up to ten
tags to AWS as metric dimensions. This limit has been increased to thirty based
on the current documentation.
This could increase the cardinality of your metrics by including previously dropped tags. The following VRL program would allow you to drop tags when there are more than ten, maintaining the original behavior.
count = 10
tags = {}
for_each(object!(.tags)) ->|key, value| {
if count > 0 {
count = count - 1
tags = set!(tags, [key], value)
}
}
.tags = tags
Deprecation Notices
aws_kinesis_firehose
source’s access_key
deprecated in favor of access_keys
Before this release, the aws_kinesis_firehose
source would only allow matching against
single configured access keys. Now multiple access keys can be configured via access_keys
configuration option.
For now, both access_key
and access_keys
are supported, via merging them to the single output parameter.
Afterwards, only access_keys
will be supported.