2023-06-21 07:04:03 +00:00
|
|
|
version: '3'
|
|
|
|
|
|
|
|
services:
|
|
|
|
filebeat-elastic:
|
|
|
|
image: docker.elastic.co/beats/filebeat:8.8.0
|
|
|
|
restart: on-failure
|
|
|
|
volumes:
|
|
|
|
- ./elk/filebeat/filebeat-elastic.yml:/usr/share/filebeat/filebeat.yml:ro
|
|
|
|
depends_on: [ elastic ]
|
|
|
|
|
|
|
|
filebeat-vlogs:
|
|
|
|
image: docker.elastic.co/beats/filebeat:8.8.0
|
|
|
|
restart: on-failure
|
|
|
|
volumes:
|
|
|
|
- ./elk/filebeat/filebeat-vlogs.yml:/usr/share/filebeat/filebeat.yml:ro
|
|
|
|
depends_on: [ vlogs ]
|
|
|
|
|
|
|
|
generator:
|
|
|
|
image: golang:1.20-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=filebeat-elastic:12345
|
|
|
|
- -syslog.addr2=filebeat-vlogs:12345
|
|
|
|
- -logs.randomSuffix=false
|
|
|
|
depends_on: [ filebeat-vlogs, filebeat-elastic ]
|
|
|
|
|
|
|
|
elastic:
|
|
|
|
image: docker.elastic.co/elasticsearch/elasticsearch:8.8.0
|
|
|
|
volumes:
|
|
|
|
- ./elk/elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
|
|
|
|
- elastic:/usr/share/elasticsearch/data
|
|
|
|
environment:
|
|
|
|
ES_JAVA_OPTS: "-Xmx2048m"
|
|
|
|
|
|
|
|
# Run `make package-victoria-logs` to build victoria-logs image
|
|
|
|
vlogs:
|
2023-06-22 04:29:45 +00:00
|
|
|
image: docker.io/victoriametrics/victoria-logs:v0.1.0-victorialogs
|
2023-06-21 07:04:03 +00:00
|
|
|
volumes:
|
|
|
|
- vlogs:/vlogs
|
|
|
|
ports:
|
|
|
|
- '9428:9428'
|
|
|
|
command:
|
|
|
|
- -storageDataPath=/vlogs
|
|
|
|
|
|
|
|
kibana:
|
|
|
|
image: docker.elastic.co/kibana/kibana:8.8.0
|
|
|
|
volumes:
|
|
|
|
- ./elk/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml
|
|
|
|
ports:
|
|
|
|
- '5601:5601'
|
|
|
|
depends_on: [ elastic ]
|
|
|
|
|
|
|
|
beat-exporter-elastic:
|
|
|
|
image: trustpilot/beat-exporter:0.4.0
|
|
|
|
command:
|
|
|
|
- -beat.uri=http://filebeat-elastic:5066
|
|
|
|
|
|
|
|
beat-exporter-vlogs:
|
|
|
|
image: trustpilot/beat-exporter:0.4.0
|
|
|
|
command:
|
|
|
|
- -beat.uri=http://filebeat-vlogs:5066
|
|
|
|
|
|
|
|
cadvisor:
|
|
|
|
image: gcr.io/cadvisor/cadvisor:v0.47.0
|
|
|
|
restart: unless-stopped
|
|
|
|
privileged: true
|
|
|
|
volumes:
|
|
|
|
- /:/rootfs:ro
|
|
|
|
- /var/run:/var/run:ro
|
|
|
|
- /sys:/sys:ro
|
|
|
|
- /var/lib/docker/:/var/lib/docker:ro
|
|
|
|
- /dev/disk/:/dev/disk:ro
|
|
|
|
|
|
|
|
node-exporter:
|
|
|
|
image: prom/node-exporter:latest
|
|
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
|
|
- /proc:/host/proc:ro
|
|
|
|
- /sys:/host/sys:ro
|
|
|
|
- /:/rootfs:ro
|
|
|
|
command:
|
|
|
|
- '--path.procfs=/host/proc'
|
|
|
|
- '--path.rootfs=/rootfs'
|
|
|
|
- '--path.sysfs=/host/sys'
|
|
|
|
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
|
|
|
|
|
|
|
|
du-exporter:
|
|
|
|
image: ghcr.io/dundee/disk_usage_exporter/disk_usage_exporter-c4084307c537335c2ddb6f4b9b527422:latest
|
|
|
|
restart: unless-stopped
|
|
|
|
user: "root"
|
|
|
|
volumes:
|
|
|
|
- /var/lib/docker/volumes:/var/lib/docker/volumes:ro
|
|
|
|
- ./du/config.yml:/config.yml:ro
|
|
|
|
command:
|
|
|
|
- '--config=/config.yml'
|
|
|
|
|
|
|
|
vmsingle:
|
|
|
|
image: victoriametrics/victoria-metrics:v1.91.2
|
|
|
|
ports:
|
|
|
|
- '8428:8428'
|
|
|
|
command:
|
|
|
|
- -storageDataPath=/vmsingle
|
|
|
|
- -promscrape.config=/promscrape.yml
|
|
|
|
- -promscrape.maxScrapeSize=1Gb
|
|
|
|
volumes:
|
|
|
|
- vmsingle:/vmsingle
|
|
|
|
- ./vmsingle/promscrape.yml:/promscrape.yml
|
|
|
|
|
|
|
|
grafana:
|
|
|
|
image: grafana/grafana:9.2.7
|
|
|
|
depends_on: [vmsingle]
|
|
|
|
ports:
|
|
|
|
- 3000:3000
|
|
|
|
volumes:
|
|
|
|
- grafanadata:/var/lib/grafana
|
|
|
|
- ./grafana/provisioning/:/etc/grafana/provisioning/
|
|
|
|
- ./grafana/dashboards:/var/lib/grafana/dashboards/
|
|
|
|
restart: always
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
elastic:
|
|
|
|
vlogs:
|
|
|
|
vmsingle:
|
|
|
|
grafanadata: {}
|