File: //etc/vector/examples/file_to_cloudwatch_metrics.yaml
# Parsing logs as metrics and sending to CloudWatch
# ------------------------------------------------------------------------------
# WIP
data_dir: "/var/lib/vector"
# Ingest
sources:
file:
type: "file"
include: [ "sample.log" ]
start_at_beginning: true
# Structure and parse the data
transforms:
remap:
inputs: [ "file" ]
type: "remap"
drop_on_error: false
source: |
. |= parse_apache_log!(string!(.message), "common")
# Transform into metrics
log_to_metric:
inputs: [ "remap" ]
type: "log_to_metric"
metrics:
- type: "counter"
increment_by_value: true
field: "bytes_out"
tags:
method: "{{method}}"
status: "{{status}}"
# Output data
sinks:
console_metrics:
inputs: [ "log_to_metric" ]
type: "console"
encoding:
codec: "json"
console_logs:
inputs: [ "remap" ]
type: "console"
encoding:
codec: "json"
cloudwatch:
inputs: [ "log_to_metric" ]
type: "aws_cloudwatch_metrics"
namespace: "vector"
endpoint: "http://localhost:4566"