Created
June 18, 2021 06:08
-
-
Save denisgolius/31080880424381a26557e76d46008a1d to your computer and use it in GitHub Desktop.
VictoriaMetrics cluster with 2 vmstorages
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: '3.5' | |
services: | |
vmagent: | |
container_name: vmagent | |
image: victoriametrics/vmagent | |
depends_on: | |
- "vminsert" | |
ports: | |
- 8429:8429 | |
volumes: | |
- vmagentdata:/vmagentdata | |
- ./prometheus.yml:/etc/prometheus/prometheus.yml | |
command: | |
- '--promscrape.config=/etc/prometheus/prometheus.yml' | |
- '--remoteWrite.url=http://vminsert:8480/insert/0/prometheus/' | |
restart: always | |
grafana: | |
container_name: grafana | |
image: grafana/grafana:7.5.7 | |
depends_on: | |
- "vmselect" | |
ports: | |
- 3000:3000 | |
restart: always | |
volumes: | |
- grafanadata:/var/lib/grafana | |
- ./provisioning/:/etc/grafana/provisioning/ | |
- ./../../dashboards/victoriametrics.json:/var/lib/grafana/dashboards/vm.json | |
- ./../../dashboards/vmagent.json:/var/lib/grafana/dashboards/vmagent.json | |
vmstorage1: | |
container_name: vmstorage1 | |
image: victoriametrics/vmstorage | |
ports: | |
- 8482 | |
- 8400 | |
- 8401 | |
volumes: | |
- strgdata1:/storage | |
command: | |
- '--storageDataPath=/storage' | |
restart: always | |
vmstorage2: | |
container_name: vmstorage2 | |
image: victoriametrics/vmstorage | |
ports: | |
- 8482 | |
- 8400 | |
- 8401 | |
volumes: | |
- strgdata2:/storage | |
command: | |
- '--storageDataPath=/storage' | |
restart: always | |
vminsert: | |
container_name: vminsert | |
image: victoriametrics/vminsert | |
depends_on: | |
- "vmstorage1" | |
- "vmstorage2" | |
command: | |
- '--storageNode=vmstorage1:8400' | |
- '--storageNode=vmstorage2:8400' | |
ports: | |
- 8480 | |
restart: always | |
vmselect: | |
container_name: vmselect | |
image: victoriametrics/vmselect | |
depends_on: | |
- "vmstorage1" | |
- "vmstorage2" | |
command: | |
- '--storageNode=vmstorage1:8401' | |
- '--storageNode=vmstorage2:8401' | |
ports: | |
- 8481:8481 | |
restart: always | |
vmalert: | |
container_name: vmalert | |
image: victoriametrics/vmalert | |
depends_on: | |
- "vmselect" | |
ports: | |
- 8880:8880 | |
volumes: | |
- ./alerts.yml:/etc/alerts/alerts.yml | |
command: | |
- '--datasource.url=http://vmselect:8481/select/0/prometheus' | |
- '--remoteRead.url=http://vmselect:8481/select/0/prometheus' | |
- '--remoteWrite.url=http://vminsert:8480/insert/0/prometheus' | |
- '--notifier.url=http://alertmanager:9093/' | |
- '--rule=/etc/alerts/*.yml' | |
# display source of alerts in grafana | |
- '-external.url=http://127.0.0.1:3000' #grafana outside container | |
# when copypaste the line below be aware of '$$' for escaping in '$expr' | |
- '--external.alert.source=explore?orgId=1&left=["now-1h","now","VictoriaMetrics",{"expr":"{{$$expr|quotesEscape|crlfEscape|queryEscape}}"},{"mode":"Metrics"},{"ui":[true,true,true,"none"]}]' | |
restart: always | |
alertmanager: | |
container_name: alertmanager | |
image: prom/alertmanager | |
volumes: | |
- ./alertmanager.yml:/config/alertmanager.yml | |
command: | |
- '--config.file=/config/alertmanager.yml' | |
ports: | |
- 9093:9093 | |
restart: always | |
volumes: | |
vmagentdata: {} | |
strgdata1: {} | |
strgdata2: {} | |
grafanadata: {} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment