The Vector team is pleased to announce version 0.27.0!
This release includes the usual litany of smaller enhancements and bug fixes as well as:
Be sure to check out the upgrade guide for breaking changes in this release.
component_events_in_total and
component_events_out_total internal metrics with their component tags (component_id,
component_kind, and component_type). This affects reporting in vector top.
Fixed in v0.27.1.log_schema.timestamp_key cannot be set to "" to suppress adding a timestamp.
Fixed in 0.28.2.socket, logstash, and fluent would sometimes panic when
back-pressure logic calculated a lower limit on the number of incoming
connections than 2, which is intended to be the minimum limit. Fixed in 0.28.2.Vector has added support for tracking component memory allocations to help users
understand which components may be allocating more memory than expected. This is an
opt-in feature, due to ~20% performance overhead, available by passing
--allocation-tracing when running Vector. When enabled, the internal_metrics
source will publish new component_allocated_bytes,
component_allocated_bytes_total, and component_deallocated_bytes_total metrics.
These are will then also be viewable in vector top.
There is a caveat to the reported metrics in that memory passed between components is not tracked as allocations. For example, if a source allocates memory to store incoming events, those events are passed along to a downstream component, the memory will still appear as though owned by the source component that allocated it. We hope to improve this in the future to track memory passed between component boundaries.
See the announcement blog post for more details!
decode_base16 and encode_base16 functions were added to VRL for interacting
with base16 encoding.path option was added to loki sink to override the default URL path of
/loki/api/v1/push.VRL no longer rejects querying an object returned by the merge function. This fixes
programs that look like:
.object.key = "some value"
. |= parse_key_value!(del(.message))
.object.key = "some other value" # previously would error
vector list.pulsar source now supports configuring a producer name to use via the
new producer_name option.abs function was added to VRL to calculate the absolute value of a numeric
value.parse_cef now has a transform_custom_fields parameter that can be set to
extract custom key/value fields from the CEF message.auth.max_attempts, auth.connect_timeout, and
auth.read_timeout.pulsar sink now supports compression via the standard compression option.kubernetes_logs source now more efficiently parses CRI logs.nats source now allows adding the subject key to the event as metadata by
setting subject_key_field to the name of the field you’d like to store the subject
key in.datadog_logs sink now allows configuring custom HTTP request headers. This is
not typically needed when sending logs directly to Datadog.loki sink is now more efficient by sending events with multiple label sets in
the same request rather than separating them.kubernetes_logs source now supports the read_from and ignore_older_secs
options that exist on the file sink which offer further control how Vector reads
from the pod log files.aws_kinesis_firehose source now supports configuring multiple valid access
keys. This is useful during key rotation.kafka source and sink now accepts inline PEM-encoded certificates for
tls.crt_file to match other sources and sinks (and the documented behavior).kubernetes_logs source again disabling annotation of namespace labels by
setting namespace_labels to "" again. This was regression in v0.26.0.prometheus_exporter cannot
bind to the configured port.http cannot
bind to the configured port.elasticsearch sink now accepts reading compressed responses. It uses the
compression option to set an Accept-Encoding option in requests to Elasticsearch.aws_ec2_metadata transform is now capable of fetching instance tags by
specifying the tags to fetch in the new tags option.aws_cloudwatch_metrics now supports sending 30 dimensions, rather than 10, as
the AWS API now accepts this number of dimensions.filter function in the VRL REPL no longer panics.http sink now allows overriding the Content-Type header via
request.headers.remap transform now falls back to using the globally configured timezone if
one is not set at the remap transform level.Sign up to receive emails on the latest Vector content and new releases
Thank you for joining our Updates Newsletter