VictoriaMetrics/deployment/docker/victorialogs/vector-docker
Artem Navoiev d058f24650
examples add README
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
2023-07-06 21:26:33 -07:00
..
docker-compose.yml examples add README 2023-07-06 21:26:33 -07:00
README.md examples add README 2023-07-06 21:26:33 -07:00
scrape.yml Add docker compose examples: filebeat(docker, syslog), fluentbit(docker), logstash, vector(docker) 2023-07-06 21:25:31 -07:00
vector.toml Add docker compose examples: filebeat(docker, syslog), fluentbit(docker), logstash, vector(docker) 2023-07-06 21:25:31 -07:00

Docker compose Vector integration with VictoriaLogs for docker

The folder contains the example of integration of vector with Victorialogs

To spin-up environment run the following command:

docker compose up -d 

To shut down the docker-compose environment run the following command:

docker compose down
docker compose rm -f

The docker compose file contains the following components:

  • vector - vector is configured to collect logs from the docker, you can find configuration in the vector.toml. It writes data in VictoriaLogs. It pushes metrics to VictoriaMetrics.
  • VictoriaLogs - the log database, it accepts the data from vector by elastic protocol
  • VictoriaMetrics - collects metrics from VictoriaLogs and VictoriaMetrics(itself)
  • grafana - it comes with two predefined dashboards for VictoriaLogs and VictoriaMetrics

the example of vector configuration(vector.toml)

[api]
  enabled = true
  address = "0.0.0.0:8686"

  [sources.docker]
  type = "docker_logs"

  [sinks.vlogs]
  type = "elasticsearch"
  inputs = [ "docker" ]
  endpoints = [ "http://victorialogs:9428/insert/elasticsearch/" ]
  id_key = "id"
  mode = "bulk"
  healthcheck.enabled = false

  [sinks.vlogs.query]
  _msg_field = "message"
  _time_field = "timestamp"
  _stream_fields = "host,container_name"

  [sources.vector_metrics]
  type = "internal_metrics"

  [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 to achieve better performance.