deployment/logs-benchmark: add case for self-testing

Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com>
This commit is contained in:
Zakhar Bessarab 2023-12-12 15:55:29 +04:00
parent e0fc5ef140
commit d5298b50d1
No known key found for this signature in database
GPG key ID: 932B34D6FE062023
5 changed files with 94 additions and 1 deletions

View file

@ -14,4 +14,10 @@ docker-stop-loki:
docker-compose -f docker-compose.yml -f docker-compose-loki.yml stop
docker-cleanup:
docker-compose -f docker-compose.yml -f docker-compose-elk.yml -f docker-compose-loki.yml down -v --remove-orphans
docker-compose -f docker-compose.yml -f docker-compose-elk.yml -f docker-compose-loki.yml -f docker-compose-single.yml down -v --remove-orphans
docker-up-single:
docker-compose -f docker-compose.yml -f docker-compose-single.yml up -d
docker-stop-single:
docker-compose -f docker-compose.yml -f docker-compose-single.yml stop

View file

@ -0,0 +1,41 @@
version: '3'
services:
generator:
image: golang:1.21.5-alpine
restart: always
working_dir: /go/src/app
volumes:
- ./generator:/go/src/app
- ./source_logs:/go/src/source_logs
command:
- go
- run
- main.go
- -logsPath=/go/src/source_logs/logs
- -outputRateLimitItems=10000
- -outputRateLimitPeriod=1s
- -syslog.addr=rsyslog:514
- -syslog.addr2=rsyslog:514
- -logs.randomSuffix=false
depends_on: [ rsyslog ]
promtail:
image: grafana/promtail:2.9.0
command: -config.file=/etc/promtail/promtail-config.yaml
volumes:
- ./single/:/etc/promtail/
depends_on:
- vlogs
rsyslog:
build:
dockerfile: Dockerfile
context: single
volumes:
- ./single/rsyslog.conf:/etc/rsyslog.conf
depends_on: [ promtail ]
volumes:
loki:

View file

@ -0,0 +1,9 @@
FROM alpine:3
RUN apk add --no-cache rsyslog rsyslog-tls tzdata
COPY rsyslog.conf /etc/rsyslog.conf
VOLUME /var/run/rsyslog/dev
EXPOSE 514 10514
CMD ["/usr/sbin/rsyslogd", "-n"]

View file

@ -0,0 +1,25 @@
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://vlogs:9428/insert/loki/api/v1/push?_stream_fields=hostname,application
# batchwait: 5s
# batchsize: 5242880
scrape_configs:
- job_name: syslog
syslog:
listen_address: 0.0.0.0:5140
idle_timeout: 12h
use_incoming_timestamp: true
labels:
job: syslog
relabel_configs:
- source_labels: [__syslog_message_hostname]
target_label: hostname
- source_labels: [__syslog_message_app_name]
target_label: application

View file

@ -0,0 +1,12 @@
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
*.* action(type="omfwd"
protocol="tcp" target="promtail" port="5140"
Template="RSYSLOG_SyslogProtocol23Format"
TCP_Framing="octet-counted" KeepAlive="on"
action.resumeRetryCount="-1"
queue.type="linkedlist" queue.size="1000000")