-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
113 lines (106 loc) · 2.76 KB
/
docker-compose.yaml
File metadata and controls
113 lines (106 loc) · 2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
version: '3.8'
services:
prometheus:
container_name: PROMETHEUS
image: prom/prometheus
ports:
- "9090:9090"
volumes:
- prometheus-config:/etc/prometheus
- prometheus-data:/prometheus # Ensure data is persisted
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.retention.time=30d'
networks:
- monitoring
grafana:
container_name: GRAFANA
image: grafana/grafana
ports:
- "3000:3000"
volumes:
- grafana-data:/var/lib/grafana
networks:
- monitoring
secrets:
- grafana_admin_password
environment:
- GF_SECURITY_ADMIN_PASSWORD__FILE=/run/secrets/grafana_admin_password
mssql-server:
user: root
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: MSSQL-SERVER
platform: linux/amd64
environment:
- ACCEPT_EULA=1
- MSSQL_SA_PASSWORD_FILE=/run/secrets/mssql_sa_password
ports:
- "1433:1433"
networks:
- monitoring
volumes:
- mssql_data:/var/opt/mssql/data
secrets:
- mssql_sa_password
mssql_exporter:
container_name: MSSQL_EXPORTER
image: "danieloliver/mssql_exporter:latest"
ports:
- "9100:9100"
depends_on:
- mssql-server
environment:
- PROMETHEUS_MSSQL_DataSource=Server=tcp:mssql-server,1433;Initial Catalog=master;Persist Security Info=False;User ID=sa;Password=Zxcvb@123;MultipleActiveResultSets=False;Encrypt=False;TrustServerCertificate=True;Connection Timeout=10;
- PROMETHEUS_MSSQL_ConfigFile=metrics.json
- PROMETHEUS_MSSQL_ServerPath=metrics
- PROMETHEUS_MSSQL_ServerPort=9100
- PROMETHEUS_MSSQL_AddExporterMetrics=false
- PROMETHEUS_MSSQL_Serilog__MinimumLevel=Information
volumes:
- ./metrics.json:/app/metrics.json
networks:
- monitoring
blackbox-exporter:
container_name: BLACKBOX_EXPORTER
image: prom/blackbox-exporter:latest
volumes:
- ./blackbox.yml:/config/blackbox.yml
ports:
- "9115:9115"
networks:
- monitoring
command:
- '--config.file=/config/blackbox.yml'
volumes:
prometheus-config:
driver: local
driver_opts:
type: none
o: bind
device: ./prom-data/
grafana-data:
driver: local
driver_opts:
type: none
o: bind
device: ./grafana-data/
mssql_data:
driver: local
driver_opts:
type: none
o: bind
device: ./mssql_data/
prometheus-data: # Ensure data volume is defined
driver: local
driver_opts:
type: none
o: bind
device: ./prometheus-data/
networks:
monitoring:
driver: bridge
secrets:
grafana_admin_password:
file: ./grafana_admin_password.txt
mssql_sa_password:
file: ./mssql_sa_password.txt