0.58 Upgrade Guide
An upgrade guide that addresses breaking changes in 0.58.0
azure_monitor_logs sink removed
Summary
The deprecated azure_monitor_logs sink has been removed. Configurations using it now fail
validation. Microsoft ends support for the sink’s underlying Data Collector API in September
2026.
Migration
Migrate to the azure_logs_ingestion sink, which uses the Azure Monitor Logs Ingestion API.
This API requires Azure Data Collection Endpoint and Data Collection Rule resources, so replace
the old workspace ID and shared key settings with the new sink’s endpoint,
dcr_immutable_id, stream_name, and auth settings.
Old
sinks:
azure:
type: azure_monitor_logs
customer_id: "<workspace-id>"
shared_key: "${AZURE_MONITOR_SHARED_KEY}"
log_type: MyTable
New
sinks:
azure:
type: azure_logs_ingestion
endpoint: https://my-dce.eastus-1.ingest.monitor.azure.com
dcr_immutable_id: dcr-000a00a000a00000a000000aa000a0aa
stream_name: Custom-MyTable
auth:
azure_credential_kind: azure_cli
Legacy buffer metrics removed
Summary
The deprecated buffer_byte_size and buffer_events gauge metrics have been removed.
Migration
Use buffer_size_bytes instead of buffer_byte_size and buffer_size_events
instead of buffer_events.
HTTP server encoding option removed
Summary
The deprecated encoding option has been removed from the http_server source
and its deprecated http alias. Configurations using it now fail validation.
Migration
Replace encoding with decoding and framing:
Previous encoding | decoding.codec | framing.method |
|---|---|---|
text | bytes | newline_delimited |
json | json | bytes |
ndjson | json | newline_delimited |
binary | bytes | bytes |
influxdb_logs sink namespace option removed
Summary
The deprecated namespace option has been removed from the influxdb_logs sink. It has been
deprecated since v0.24.0 in favor of measurement. Configurations using it now fail validation.
Migration
Replace namespace with measurement. Previously, namespace prefixed the measurement name
with <namespace>.vector, so set measurement to <namespace>.vector for the same effect:
Note: if your configuration sets both namespace and measurement, measurement was used and
namespace ignored; remove the namespace option and leave measurement unchanged.
Old
sinks:
my_sink_id:
type: influxdb_logs
namespace: my-namespace
endpoint: http://localhost:8086
New
sinks:
my_sink_id:
type: influxdb_logs
measurement: my-namespace.vector
endpoint: http://localhost:8086
logdna sink alias removed
Summary
The deprecated logdna sink alias has been removed. It was renamed to mezmo in v0.29.0.
Configurations using type: logdna now fail validation.
Migration
Rename the sink type from logdna to mezmo:
Old
sinks:
my_sink_id:
type: logdna
api_key: ${LOGDNA_API_KEY}
hostname: ${HOSTNAME}
New
sinks:
my_sink_id:
type: mezmo
api_key: ${LOGDNA_API_KEY}
hostname: ${HOSTNAME}
URI template field references inside the authority are rejected
Summary
Vector now refuses to build configs where a {{ field }} reference lands inside
the hostname (or immediately adjacent to it without a path separator). Previously,
such templates built successfully but silently dropped every event at render time.
Migration
If {{ field }} appears inside the host or directly after the host with no leading
/, add a static / before the dynamic segment or move the dynamic part into the
path with a static hostname.
Old (silently dropped events)
This built successfully but dropped every event at render time:
sinks:
my_sink:
uri: "https://tenant.{{ env }}.example.com/"
This also built successfully, but only worked correctly if path always rendered with its own leading / (e.g. /v1); otherwise it silently dropped every event:
sinks:
my_sink:
uri: "https://api.internal{{ path }}"
New
To fix, either add a static / before the dynamic part:
sinks:
my_sink:
uri: "https://api.internal/{{ path }}"
or move the dynamic part fully into the path, keeping the hostname static:
sinks:
my_sink:
uri: "https://example.com/tenant/{{ env }}/"
webhdfs sink defaults endpoints to https://
Summary
The webhdfs sink’s endpoint option now defaults a missing scheme to https:// instead of
http://. A scheme-less endpoint (for example endpoint: "127.0.0.1:9870") still loads and
remains valid, but it now resolves to https://127.0.0.1:9870; previously the underlying
WebHDFS client resolved to http://127.0.0.1:9870
Migration
Add an explicit scheme to the endpoint value. Use http:// for a plain-HTTP server and
https:// for a TLS-enabled one.
Old
sinks:
hdfs:
type: webhdfs
endpoint: 127.0.0.1:9870
New
sinks:
hdfs:
type: webhdfs
endpoint: http://127.0.0.1:9870