mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-19 15:06:25 +01:00
bcab5861ae
### Describe Your Changes
Please provide a brief description of the changes you made. Be as
specific as possible to help others understand the purpose and impact of
your modifications.
### Checklist
The following checks are **mandatory**:
- [ ] My change adheres [VictoriaMetrics contributing
guidelines](https://docs.victoriametrics.com/contributing/).
---------
Signed-off-by: Artem Navoiev <tenmozes@gmail.com>
(cherry picked from commit
|
||
---|---|---|
.. | ||
auth.yml | ||
compose.yml | ||
README.md | ||
vector.yaml |
Docker compose Vector integration with VictoriaLogs for docker. High-Availability example
The folder contains the example of integration of vector with VictoriaLogs Single-Node(s) and vmauth for achieving High Availability.
Check this documentation with a description of the architecture and components.
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 thevector.yaml
. It writes data in two instances of VictoriaLogs - VictoriaLogs - the two instances of log database, they accept the data from
vector
by json line protocol - vmauth - load balancer for proxying requests to one of VictoriaLogs
Querying the data
- vmui - a web UI is accessible by
http://localhost:8427/select/vmui/
- for querying the data via command-line please check these docs
the example of vector configuration(vector.yaml
)
api:
enabled: true
address: 0.0.0.0:8686
sources:
docker:
type: docker_logs
transforms:
msg_parser:
type: remap
inputs:
- docker
source: |
if exists(.message) {
.log, err = parse_json(.message)
if err == null {
del(.message)
}
}
sinks:
console_out:
type: console
inputs:
- msg_parser
encoding:
codec: json
vlogs_http_1:
type: http
inputs:
- msg_parser
uri: http://victorialogs-1:9428/insert/jsonline?_stream_fields=source_type,host,container_name&_msg_field=log.msg&_time_field=timestamp
encoding:
codec: json
framing:
method: newline_delimited
compression: gzip
healthcheck:
enabled: false
request:
headers:
AccountID: '0'
ProjectID: '0'
vlogs_http_2:
type: http
inputs:
- msg_parser
uri: http://victorialogs-2:9428/insert/jsonline?_stream_fields=source_type,host,container_name&_msg_field=log.msg&_time_field=timestamp
encoding:
codec: json
framing:
method: newline_delimited
compression: gzip
healthcheck:
enabled: false
request:
headers:
AccountID: '0'
ProjectID: '0'
Please, note that _stream_fields
parameter must follow recommended best practices to achieve better performance.
The example of vmauth configuration (auth.yml
)
unauthorized_user:
url_prefix:
- http://victorialogs-1:9428
- http://victorialogs-2:9428