improved vector example for victoria logs

Signed-off-by: Alexander Marshalov <_@marshalov.org>
This commit is contained in:
Alexander Marshalov 2023-06-21 12:51:38 +02:00 committed by Aliaksandr Valialkin
parent 265dd66191
commit 05ac9618c0
No known key found for this signature in database
GPG key ID: A72BEC6CD3D0DED1
3 changed files with 84 additions and 32 deletions

View file

@ -22,34 +22,34 @@ The docker compose file contains the following components:
the example of vector configuration(`vector.toml`) the example of vector configuration(`vector.toml`)
``` ```
[api] [sources.docker]
enabled = true
address = "0.0.0.0:8686"
[sources.docker]
type = "docker_logs" type = "docker_logs"
[sinks.vlogs] [transforms.msg_parser]
type = "remap"
inputs = ["docker"]
source = '''
.log = parse_json!(.message)
del(.message)
'''
[sinks.vlogs]
type = "elasticsearch" type = "elasticsearch"
inputs = [ "docker" ] inputs = [ "msg_parser" ]
endpoints = [ "http://victorialogs:9428/insert/elasticsearch/" ] endpoints = [ "http://victorialogs:9428/insert/elasticsearch/" ]
id_key = "id"
mode = "bulk" mode = "bulk"
api_version = "v8"
compression = "gzip"
healthcheck.enabled = false healthcheck.enabled = false
[sinks.vlogs.query] [sinks.vlogs.query]
_msg_field = "message" _msg_field = "log.msg"
_time_field = "timestamp" _time_field = "timestamp"
_stream_fields = "host,container_name" _stream_fields = "source_type,host,container_name"
[sources.vector_metrics] [sinks.vlogs.request.headers]
type = "internal_metrics" AccountID = "0"
ProjectID = "0"
[sinks.victoriametrics]
type = "prometheus_remote_write"
endpoint = "http://victoriametrics:8428/api/v1/write"
inputs = ["vector_metrics"]
healthcheck.enabled = false
``` ```
Please, note that `_stream_fields` parameter must follow recommended [best practices](https://docs.victoriametrics.com/VictoriaLogs/keyConcepts.html#stream-fields) to achieve better performance. Please, note that `_stream_fields` parameter must follow recommended [best practices](https://docs.victoriametrics.com/VictoriaLogs/keyConcepts.html#stream-fields) to achieve better performance.

View file

@ -28,7 +28,7 @@ services:
# Run `make package-victoria-logs` to build victoria-logs image # Run `make package-victoria-logs` to build victoria-logs image
victorialogs: victorialogs:
image: docker.io/victoriametrics/victoria-logs:heads-master-0-g88993f312-dirty-e01fb71f image: docker.io/victoriametrics/victoria-logs:heads-examples-vl-docker-compose-0-gdefae2a3f-dirty-de6e4df1
volumes: volumes:
- victorialogs-vector-docker-vl:/vlogs - victorialogs-vector-docker-vl:/vlogs
ports: ports:

View file

@ -1,28 +1,80 @@
[api] [api]
enabled = true enabled = true
address = "0.0.0.0:8686" address = "0.0.0.0:8686"
# ---------------------------------------------
# Docker logs -> VictoriaLogs
# ---------------------------------------------
[sources.docker] [sources.docker]
type = "docker_logs" type = "docker_logs"
[transforms.msg_parser]
type = "remap"
inputs = ["docker"]
source = '''
.log = parse_json!(.message)
del(.message)
'''
[sinks.vlogs] [sinks.vlogs]
type = "elasticsearch" type = "elasticsearch"
inputs = [ "docker" ] inputs = [ "msg_parser" ]
endpoints = [ "http://victorialogs:9428/insert/elasticsearch/" ] endpoints = [ "http://victorialogs:9428/insert/elasticsearch/" ]
id_key = "id"
mode = "bulk" mode = "bulk"
api_version = "v8"
compression = "gzip"
healthcheck.enabled = false healthcheck.enabled = false
[sinks.vlogs.query] [sinks.vlogs.query]
_msg_field = "log.msg"
_time_field = "timestamp"
_stream_fields = "source_type,host,container_name"
[sinks.vlogs.request.headers]
AccountID = "0"
ProjectID = "0"
# ---------------------------------------------
# Generted demo logs -> VictoriaLogs
# ---------------------------------------------
[sources.demo]
type = "demo_logs"
format = "apache_common"
interval = 10
[sinks.vlogs_demo]
type = "elasticsearch"
inputs = [ "demo" ]
endpoints = [ "http://victorialogs:9428/insert/elasticsearch/" ]
mode = "bulk"
api_version = "v8"
compression = "gzip"
healthcheck.enabled = false
[sinks.vlogs_demo.query]
_msg_field = "message" _msg_field = "message"
_time_field = "timestamp" _time_field = "timestamp"
_stream_fields = "host,container_name" _stream_fields = "source_type"
[sinks.vlogs_demo.request.headers]
AccountID = "0"
ProjectID = "0"
# ---------------------------------------------
# Vector Metrics -> VictoriaMetrics
# ---------------------------------------------
[sources.vector_metrics] [sources.vector_metrics]
type = "internal_metrics" type = "internal_metrics"
[sinks.victoriametrics] [sinks.victoriametrics]
type = "prometheus_remote_write" type = "prometheus_remote_write"
endpoint = "http://victoriametrics:8428/api/v1/write" endpoint = "http://victoriametrics:8428/api/v1/write"
inputs = ["vector_metrics"] inputs = ["vector_metrics"]
healthcheck.enabled = false healthcheck.enabled = false