0.11 Upgrade Guide
An upgrade guide that addresses breaking changes in 0.11.0
0.11 includes some minor breaking changes:
- The metrics emitted by the
internal_metrics
source have changed names. - The
statsd
sink now supports all socket types. - The
source_type
field is now explicit in thesplunk_hec
sink. - Remove forwarding to syslog from distributed systemd unit.
- The
http
source no longer dedots JSON fields. - The
prometheus
sink has been renamed toprometheus_exporter
- The
reduce
transformidentifier_fields
was renamed togroup_by
.
We cover each below to help you upgrade quickly:
Upgrade Guide
Breaking: The metrics emitted by the internal_metrics
source have changed names
We have not officially announced the internal_metrics
source (coming in 0.12)
due to the high probability of metric name changes.Since then we’ve settled on a
metric naming convention that is largely inspired by
the Prometheus naming convention. 0.11 includes
these naming changes.
To upgrade, please see the following:
You’ll likely need to update any downstream consumers of this data. We plan to ship official Vector dashboards in 0.12 that will relieve this maintenance burden for you in the future.
Breaking: The statsd
sink now supports all socket types
If you’re using the statsd
sink you’ll need to add the new
mode
option that specifies which protocol you’d like to use. Previously, the
only protocol available was UDP.
[sinks.statsd]
type = "statsd"
+ mode = "udp"
Breaking: The source_type
field is now explicit in the splunk_hec
sink
Previously, the splunk_hec
sink was using the event’s source_type
field
and mapping that to Splunk’s expected sourcetype
field. Splunk uses this
field to inform parsing and processing of the data. Because this field can
vary depending on your data, we’ve made the sourcetype
field an explicit
option:
[sinks.reduce]
type = "splunk_hec"
+ sourcetype = "syslog" # only set this if your `message` field is formatted as syslog
Only set this field if you want to explicitly inform Splunk of your message
field’s format. Most users will not want to set this field.
Breaking: Remove forwarding to syslog from distributed systemd unit
Vector’s previous Systemd unit file included configuration that forwarded Vector’s logs over Syslog. This was presumptuous and we’ve removed these settings in favor of your system defaults.
If you’d like Vector to continue logging to Syslog, you’ll need to add back the removed options, but most users should not have to do anything.
Breaking: The http
source no longer dedots JSON fields
Previously, the http
source would dedot JSON keys in incoming data. This means
that a JSON payload like this:
{
"first.second": "value"
}
Would turn into this after being ingested into Vector:
{
"first": {
"second": "value"
}
}
This is incorrect as Vector should not alter your data in this way. This has
been corrected and your events will keep .
in their key names.
There is nothing you need to do to upgrade except understand that your data
structure may change if it contained .
characters in the keys.
Deprecation: The prometheus
sink has been renamed to prometheus_exporter
The prometheus
sink has been renamed to prometheus_exporter
since 0.11
introduced a new prometheus_remote_write
sink. This renaming distinguishes
between the two. Upgrading is easy:
[sinks.prometheus]
- type = "prometheus"
+ type = "prometheus_exporter"
- namespace = "..."
+ default_namespace = "..."
Deprecation: The reduce
transform identifier_fields
was renamed to group_by
We renamed the reduce
transform’s identifier_fields
option to group_by
for clarity. We are repositioning this transform to handle broad reduce
operations, such as merging multi-line logs together:
[sinks.reduce]
type = "reduce"
- identifier_fields = ["my_field"]
+ group_by = ["my_field"]