fix: separate file for logging containers
This commit is contained in:
@@ -63,191 +63,4 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- "back"
|
- "back"
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
|
|
||||||
# logs setup
|
|
||||||
|
|
||||||
read:
|
|
||||||
image: grafana/loki:2.8.2
|
|
||||||
command: "-config.file=/etc/loki/config.yaml -target=read"
|
|
||||||
ports:
|
|
||||||
- 3101:3100
|
|
||||||
- 7946
|
|
||||||
- 9095
|
|
||||||
volumes:
|
|
||||||
- ./config/loki-config.yaml:/etc/loki/config.yaml
|
|
||||||
depends_on:
|
|
||||||
- minio
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3100/ready || exit 1" ]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
networks: &loki-dns
|
|
||||||
loki:
|
|
||||||
aliases:
|
|
||||||
- loki
|
|
||||||
|
|
||||||
write:
|
|
||||||
image: grafana/loki:2.8.2
|
|
||||||
command: "-config.file=/etc/loki/config.yaml -target=write"
|
|
||||||
ports:
|
|
||||||
- 3102:3100
|
|
||||||
- 7946
|
|
||||||
- 9095
|
|
||||||
volumes:
|
|
||||||
- ./config/loki-config.yaml:/etc/loki/config.yaml
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3100/ready || exit 1" ]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
depends_on:
|
|
||||||
- minio
|
|
||||||
networks:
|
|
||||||
<<: *loki-dns
|
|
||||||
|
|
||||||
promtail:
|
|
||||||
image: grafana/promtail:2.8.2
|
|
||||||
volumes:
|
|
||||||
- ./config/promtail-local-config.yaml:/etc/promtail/config.yaml:ro
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
command: -config.file=/etc/promtail/config.yaml
|
|
||||||
depends_on:
|
|
||||||
- gateway
|
|
||||||
networks:
|
|
||||||
- loki
|
|
||||||
|
|
||||||
minio:
|
|
||||||
image: minio/minio:RELEASE.2023-07-21T21-12-44Z
|
|
||||||
entrypoint:
|
|
||||||
- sh
|
|
||||||
- -euc
|
|
||||||
- |
|
|
||||||
mkdir -p /data/loki-data && \
|
|
||||||
mkdir -p /data/loki-ruler && \
|
|
||||||
minio server /data
|
|
||||||
environment:
|
|
||||||
- MINIO_ROOT_USER=loki
|
|
||||||
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
|
|
||||||
- MINIO_PROMETHEUS_AUTH_TYPE=public
|
|
||||||
- MINIO_UPDATE=off
|
|
||||||
ports:
|
|
||||||
- 9000
|
|
||||||
volumes:
|
|
||||||
- ./.data/minio:/data
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
|
|
||||||
interval: 15s
|
|
||||||
timeout: 20s
|
|
||||||
retries: 5
|
|
||||||
networks:
|
|
||||||
- loki
|
|
||||||
|
|
||||||
grafana:
|
|
||||||
image: grafana/grafana:9.5.6
|
|
||||||
environment:
|
|
||||||
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
|
|
||||||
- GF_AUTH_ANONYMOUS_ENABLED=true
|
|
||||||
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
|
||||||
depends_on:
|
|
||||||
- gateway
|
|
||||||
entrypoint:
|
|
||||||
- sh
|
|
||||||
- -euc
|
|
||||||
- |
|
|
||||||
mkdir -p /etc/grafana/provisioning/datasources
|
|
||||||
cat <<EOF > /etc/grafana/provisioning/datasources/ds.yaml
|
|
||||||
apiVersion: 1
|
|
||||||
datasources:
|
|
||||||
- name: Loki
|
|
||||||
type: loki
|
|
||||||
access: proxy
|
|
||||||
url: http://gateway:3100
|
|
||||||
jsonData:
|
|
||||||
httpHeaderName1: "X-Scope-OrgID"
|
|
||||||
secureJsonData:
|
|
||||||
httpHeaderValue1: "tenant1"
|
|
||||||
EOF
|
|
||||||
/run.sh
|
|
||||||
ports:
|
|
||||||
- "3001:3000"
|
|
||||||
volumes:
|
|
||||||
- ./grafana/dashboard.yaml:/etc/grafana/provisioning/dashboards/main.yaml
|
|
||||||
- ./grafana/dashboards:/var/lib/grafana/dashboards
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3001/api/health || exit 1" ]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
networks:
|
|
||||||
- loki
|
|
||||||
|
|
||||||
gateway:
|
|
||||||
image: nginx:1.25.1
|
|
||||||
depends_on:
|
|
||||||
- read
|
|
||||||
- write
|
|
||||||
entrypoint:
|
|
||||||
- sh
|
|
||||||
- -euc
|
|
||||||
- |
|
|
||||||
cat <<EOF > /etc/nginx/nginx.conf
|
|
||||||
user nginx;
|
|
||||||
worker_processes 5; ## Default: 1
|
|
||||||
|
|
||||||
events {
|
|
||||||
worker_connections 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
http {
|
|
||||||
resolver 127.0.0.11;
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen 3100;
|
|
||||||
|
|
||||||
location = / {
|
|
||||||
return 200 'OK';
|
|
||||||
auth_basic off;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /api/prom/push {
|
|
||||||
proxy_pass http://write:3100\$$request_uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /api/prom/tail {
|
|
||||||
proxy_pass http://read:3100\$$request_uri;
|
|
||||||
proxy_set_header Upgrade \$$http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ /api/prom/.* {
|
|
||||||
proxy_pass http://read:3100\$$request_uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /loki/api/v1/push {
|
|
||||||
proxy_pass http://write:3100\$$request_uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /loki/api/v1/tail {
|
|
||||||
proxy_pass http://read:3100\$$request_uri;
|
|
||||||
proxy_set_header Upgrade \$$http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ /loki/api/.* {
|
|
||||||
proxy_pass http://read:3100\$$request_uri;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
/docker-entrypoint.sh nginx -g "daemon off;"
|
|
||||||
ports:
|
|
||||||
- "3100:3100"
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "service", "nginx", "status"]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
networks:
|
|
||||||
- loki
|
|
||||||
185
docker-compose.log.yml
Normal file
185
docker-compose.log.yml
Normal file
@@ -0,0 +1,185 @@
|
|||||||
|
services:
|
||||||
|
read:
|
||||||
|
image: grafana/loki:2.8.2
|
||||||
|
command: "-config.file=/etc/loki/config.yaml -target=read"
|
||||||
|
ports:
|
||||||
|
- 3101:3100
|
||||||
|
- 7946
|
||||||
|
- 9095
|
||||||
|
volumes:
|
||||||
|
- ./config/loki-config.yaml:/etc/loki/config.yaml
|
||||||
|
depends_on:
|
||||||
|
- minio
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3100/ready || exit 1" ]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
networks: &loki-dns
|
||||||
|
loki:
|
||||||
|
aliases:
|
||||||
|
- loki
|
||||||
|
|
||||||
|
write:
|
||||||
|
image: grafana/loki:2.8.2
|
||||||
|
command: "-config.file=/etc/loki/config.yaml -target=write"
|
||||||
|
ports:
|
||||||
|
- 3102:3100
|
||||||
|
- 7946
|
||||||
|
- 9095
|
||||||
|
volumes:
|
||||||
|
- ./config/loki-config.yaml:/etc/loki/config.yaml
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3100/ready || exit 1" ]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
depends_on:
|
||||||
|
- minio
|
||||||
|
networks:
|
||||||
|
<<: *loki-dns
|
||||||
|
|
||||||
|
promtail:
|
||||||
|
image: grafana/promtail:2.8.2
|
||||||
|
volumes:
|
||||||
|
- ./config/promtail-local-config.yaml:/etc/promtail/config.yaml:ro
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
command: -config.file=/etc/promtail/config.yaml
|
||||||
|
depends_on:
|
||||||
|
- gateway
|
||||||
|
networks:
|
||||||
|
- loki
|
||||||
|
|
||||||
|
minio:
|
||||||
|
image: minio/minio:RELEASE.2023-07-21T21-12-44Z
|
||||||
|
entrypoint:
|
||||||
|
- sh
|
||||||
|
- -euc
|
||||||
|
- |
|
||||||
|
mkdir -p /data/loki-data && \
|
||||||
|
mkdir -p /data/loki-ruler && \
|
||||||
|
minio server /data
|
||||||
|
environment:
|
||||||
|
- MINIO_ROOT_USER=loki
|
||||||
|
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
|
||||||
|
- MINIO_PROMETHEUS_AUTH_TYPE=public
|
||||||
|
- MINIO_UPDATE=off
|
||||||
|
ports:
|
||||||
|
- 9000
|
||||||
|
volumes:
|
||||||
|
- ./.data/minio:/data
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
|
||||||
|
interval: 15s
|
||||||
|
timeout: 20s
|
||||||
|
retries: 5
|
||||||
|
networks:
|
||||||
|
- loki
|
||||||
|
|
||||||
|
grafana:
|
||||||
|
image: grafana/grafana:9.5.6
|
||||||
|
environment:
|
||||||
|
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
|
||||||
|
- GF_AUTH_ANONYMOUS_ENABLED=true
|
||||||
|
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
||||||
|
depends_on:
|
||||||
|
- gateway
|
||||||
|
entrypoint:
|
||||||
|
- sh
|
||||||
|
- -euc
|
||||||
|
- |
|
||||||
|
mkdir -p /etc/grafana/provisioning/datasources
|
||||||
|
cat <<EOF > /etc/grafana/provisioning/datasources/ds.yaml
|
||||||
|
apiVersion: 1
|
||||||
|
datasources:
|
||||||
|
- name: Loki
|
||||||
|
type: loki
|
||||||
|
access: proxy
|
||||||
|
url: http://gateway:3100
|
||||||
|
jsonData:
|
||||||
|
httpHeaderName1: "X-Scope-OrgID"
|
||||||
|
secureJsonData:
|
||||||
|
httpHeaderValue1: "tenant1"
|
||||||
|
EOF
|
||||||
|
/run.sh
|
||||||
|
ports:
|
||||||
|
- "3001:3000"
|
||||||
|
volumes:
|
||||||
|
- ./grafana/dashboard.yaml:/etc/grafana/provisioning/dashboards/main.yaml
|
||||||
|
- ./grafana/dashboards:/var/lib/grafana/dashboards
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3001/api/health || exit 1" ]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
networks:
|
||||||
|
- loki
|
||||||
|
|
||||||
|
gateway:
|
||||||
|
image: nginx:1.25.1
|
||||||
|
depends_on:
|
||||||
|
- read
|
||||||
|
- write
|
||||||
|
entrypoint:
|
||||||
|
- sh
|
||||||
|
- -euc
|
||||||
|
- |
|
||||||
|
cat <<EOF > /etc/nginx/nginx.conf
|
||||||
|
user nginx;
|
||||||
|
worker_processes 5; ## Default: 1
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
resolver 127.0.0.11;
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 3100;
|
||||||
|
|
||||||
|
location = / {
|
||||||
|
return 200 'OK';
|
||||||
|
auth_basic off;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /api/prom/push {
|
||||||
|
proxy_pass http://write:3100\$$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /api/prom/tail {
|
||||||
|
proxy_pass http://read:3100\$$request_uri;
|
||||||
|
proxy_set_header Upgrade \$$http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ /api/prom/.* {
|
||||||
|
proxy_pass http://read:3100\$$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /loki/api/v1/push {
|
||||||
|
proxy_pass http://write:3100\$$request_uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /loki/api/v1/tail {
|
||||||
|
proxy_pass http://read:3100\$$request_uri;
|
||||||
|
proxy_set_header Upgrade \$$http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ /loki/api/.* {
|
||||||
|
proxy_pass http://read:3100\$$request_uri;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
/docker-entrypoint.sh nginx -g "daemon off;"
|
||||||
|
ports:
|
||||||
|
- "3100:3100"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "service", "nginx", "status"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
networks:
|
||||||
|
- loki
|
||||||
@@ -49,192 +49,4 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- "back"
|
- "back"
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
|
|
||||||
# logs setup
|
|
||||||
|
|
||||||
read:
|
|
||||||
image: grafana/loki:2.8.2
|
|
||||||
command: "-config.file=/etc/loki/config.yaml -target=read"
|
|
||||||
ports:
|
|
||||||
- 3101:3100
|
|
||||||
- 7946
|
|
||||||
- 9095
|
|
||||||
volumes:
|
|
||||||
- ./config/loki-config.yaml:/etc/loki/config.yaml
|
|
||||||
depends_on:
|
|
||||||
- minio
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3100/ready || exit 1" ]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
networks: &loki-dns
|
|
||||||
loki:
|
|
||||||
aliases:
|
|
||||||
- loki
|
|
||||||
|
|
||||||
write:
|
|
||||||
image: grafana/loki:2.8.2
|
|
||||||
command: "-config.file=/etc/loki/config.yaml -target=write"
|
|
||||||
ports:
|
|
||||||
- 3102:3100
|
|
||||||
- 7946
|
|
||||||
- 9095
|
|
||||||
volumes:
|
|
||||||
- ./config/loki-config.yaml:/etc/loki/config.yaml
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3100/ready || exit 1" ]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
depends_on:
|
|
||||||
- minio
|
|
||||||
networks:
|
|
||||||
<<: *loki-dns
|
|
||||||
|
|
||||||
promtail:
|
|
||||||
image: grafana/promtail:2.8.2
|
|
||||||
volumes:
|
|
||||||
- ./config/promtail-local-config.yaml:/etc/promtail/config.yaml:ro
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
command: -config.file=/etc/promtail/config.yaml
|
|
||||||
depends_on:
|
|
||||||
- gateway
|
|
||||||
networks:
|
|
||||||
- loki
|
|
||||||
|
|
||||||
minio:
|
|
||||||
image: minio/minio:RELEASE.2023-07-21T21-12-44Z
|
|
||||||
entrypoint:
|
|
||||||
- sh
|
|
||||||
- -euc
|
|
||||||
- |
|
|
||||||
mkdir -p /data/loki-data && \
|
|
||||||
mkdir -p /data/loki-ruler && \
|
|
||||||
minio server /data
|
|
||||||
environment:
|
|
||||||
- MINIO_ROOT_USER=loki
|
|
||||||
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
|
|
||||||
- MINIO_PROMETHEUS_AUTH_TYPE=public
|
|
||||||
- MINIO_UPDATE=off
|
|
||||||
ports:
|
|
||||||
- 9000
|
|
||||||
volumes:
|
|
||||||
- ./.data/minio:/data
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
|
|
||||||
interval: 15s
|
|
||||||
timeout: 20s
|
|
||||||
retries: 5
|
|
||||||
networks:
|
|
||||||
- loki
|
|
||||||
|
|
||||||
grafana:
|
|
||||||
image: grafana/grafana:9.5.6
|
|
||||||
environment:
|
|
||||||
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
|
|
||||||
- GF_AUTH_ANONYMOUS_ENABLED=true
|
|
||||||
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
|
||||||
depends_on:
|
|
||||||
- gateway
|
|
||||||
entrypoint:
|
|
||||||
- sh
|
|
||||||
- -euc
|
|
||||||
- |
|
|
||||||
mkdir -p /etc/grafana/provisioning/datasources
|
|
||||||
cat <<EOF > /etc/grafana/provisioning/datasources/ds.yaml
|
|
||||||
apiVersion: 1
|
|
||||||
datasources:
|
|
||||||
- name: Loki
|
|
||||||
type: loki
|
|
||||||
access: proxy
|
|
||||||
url: http://gateway:3100
|
|
||||||
jsonData:
|
|
||||||
httpHeaderName1: "X-Scope-OrgID"
|
|
||||||
secureJsonData:
|
|
||||||
httpHeaderValue1: "tenant1"
|
|
||||||
EOF
|
|
||||||
/run.sh
|
|
||||||
ports:
|
|
||||||
- "3001:3000"
|
|
||||||
volumes:
|
|
||||||
- ./grafana/dashboard.yaml:/etc/grafana/provisioning/dashboards/main.yaml
|
|
||||||
- ./grafana/dashboards:/var/lib/grafana/dashboards
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3001/api/health || exit 1" ]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
networks:
|
|
||||||
- loki
|
|
||||||
|
|
||||||
gateway:
|
|
||||||
image: nginx:1.25.1
|
|
||||||
depends_on:
|
|
||||||
- read
|
|
||||||
- write
|
|
||||||
entrypoint:
|
|
||||||
- sh
|
|
||||||
- -euc
|
|
||||||
- |
|
|
||||||
cat <<EOF > /etc/nginx/nginx.conf
|
|
||||||
user nginx;
|
|
||||||
worker_processes 5; ## Default: 1
|
|
||||||
|
|
||||||
events {
|
|
||||||
worker_connections 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
http {
|
|
||||||
resolver 127.0.0.11;
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen 3100;
|
|
||||||
|
|
||||||
location = / {
|
|
||||||
return 200 'OK';
|
|
||||||
auth_basic off;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /api/prom/push {
|
|
||||||
proxy_pass http://write:3100\$$request_uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /api/prom/tail {
|
|
||||||
proxy_pass http://read:3100\$$request_uri;
|
|
||||||
proxy_set_header Upgrade \$$http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ /api/prom/.* {
|
|
||||||
proxy_pass http://read:3100\$$request_uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /loki/api/v1/push {
|
|
||||||
proxy_pass http://write:3100\$$request_uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /loki/api/v1/tail {
|
|
||||||
proxy_pass http://read:3100\$$request_uri;
|
|
||||||
proxy_set_header Upgrade \$$http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ /loki/api/.* {
|
|
||||||
proxy_pass http://read:3100\$$request_uri;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
/docker-entrypoint.sh nginx -g "daemon off;"
|
|
||||||
ports:
|
|
||||||
- "3100:3100"
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "service", "nginx", "status"]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
networks:
|
|
||||||
- loki
|
|
||||||
|
|
||||||
@@ -58,191 +58,4 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- "back"
|
- "back"
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
|
|
||||||
# logs setup
|
|
||||||
|
|
||||||
read:
|
|
||||||
image: grafana/loki:2.8.2
|
|
||||||
command: "-config.file=/etc/loki/config.yaml -target=read"
|
|
||||||
ports:
|
|
||||||
- 3101:3100
|
|
||||||
- 7946
|
|
||||||
- 9095
|
|
||||||
volumes:
|
|
||||||
- ./config/loki-config.yaml:/etc/loki/config.yaml
|
|
||||||
depends_on:
|
|
||||||
- minio
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3100/ready || exit 1" ]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
networks: &loki-dns
|
|
||||||
loki:
|
|
||||||
aliases:
|
|
||||||
- loki
|
|
||||||
|
|
||||||
write:
|
|
||||||
image: grafana/loki:2.8.2
|
|
||||||
command: "-config.file=/etc/loki/config.yaml -target=write"
|
|
||||||
ports:
|
|
||||||
- 3102:3100
|
|
||||||
- 7946
|
|
||||||
- 9095
|
|
||||||
volumes:
|
|
||||||
- ./config/loki-config.yaml:/etc/loki/config.yaml
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3100/ready || exit 1" ]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
depends_on:
|
|
||||||
- minio
|
|
||||||
networks:
|
|
||||||
<<: *loki-dns
|
|
||||||
|
|
||||||
promtail:
|
|
||||||
image: grafana/promtail:2.8.2
|
|
||||||
volumes:
|
|
||||||
- ./config/promtail-local-config.yaml:/etc/promtail/config.yaml:ro
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
command: -config.file=/etc/promtail/config.yaml
|
|
||||||
depends_on:
|
|
||||||
- gateway
|
|
||||||
networks:
|
|
||||||
- loki
|
|
||||||
|
|
||||||
minio:
|
|
||||||
image: minio/minio:RELEASE.2023-07-21T21-12-44Z
|
|
||||||
entrypoint:
|
|
||||||
- sh
|
|
||||||
- -euc
|
|
||||||
- |
|
|
||||||
mkdir -p /data/loki-data && \
|
|
||||||
mkdir -p /data/loki-ruler && \
|
|
||||||
minio server /data
|
|
||||||
environment:
|
|
||||||
- MINIO_ROOT_USER=loki
|
|
||||||
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
|
|
||||||
- MINIO_PROMETHEUS_AUTH_TYPE=public
|
|
||||||
- MINIO_UPDATE=off
|
|
||||||
ports:
|
|
||||||
- 9000
|
|
||||||
volumes:
|
|
||||||
- ./.data/minio:/data
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
|
|
||||||
interval: 15s
|
|
||||||
timeout: 20s
|
|
||||||
retries: 5
|
|
||||||
networks:
|
|
||||||
- loki
|
|
||||||
|
|
||||||
grafana:
|
|
||||||
image: grafana/grafana:9.5.6
|
|
||||||
environment:
|
|
||||||
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
|
|
||||||
- GF_AUTH_ANONYMOUS_ENABLED=true
|
|
||||||
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
|
||||||
depends_on:
|
|
||||||
- gateway
|
|
||||||
entrypoint:
|
|
||||||
- sh
|
|
||||||
- -euc
|
|
||||||
- |
|
|
||||||
mkdir -p /etc/grafana/provisioning/datasources
|
|
||||||
cat <<EOF > /etc/grafana/provisioning/datasources/ds.yaml
|
|
||||||
apiVersion: 1
|
|
||||||
datasources:
|
|
||||||
- name: Loki
|
|
||||||
type: loki
|
|
||||||
access: proxy
|
|
||||||
url: http://gateway:3100
|
|
||||||
jsonData:
|
|
||||||
httpHeaderName1: "X-Scope-OrgID"
|
|
||||||
secureJsonData:
|
|
||||||
httpHeaderValue1: "tenant1"
|
|
||||||
EOF
|
|
||||||
/run.sh
|
|
||||||
ports:
|
|
||||||
- "3001:3000"
|
|
||||||
volumes:
|
|
||||||
- ./grafana/dashboard.yaml:/etc/grafana/provisioning/dashboards/main.yaml
|
|
||||||
- ./grafana/dashboards:/var/lib/grafana/dashboards
|
|
||||||
healthcheck:
|
|
||||||
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3001/api/health || exit 1" ]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
networks:
|
|
||||||
- loki
|
|
||||||
|
|
||||||
gateway:
|
|
||||||
image: nginx:1.25.1
|
|
||||||
depends_on:
|
|
||||||
- read
|
|
||||||
- write
|
|
||||||
entrypoint:
|
|
||||||
- sh
|
|
||||||
- -euc
|
|
||||||
- |
|
|
||||||
cat <<EOF > /etc/nginx/nginx.conf
|
|
||||||
user nginx;
|
|
||||||
worker_processes 5; ## Default: 1
|
|
||||||
|
|
||||||
events {
|
|
||||||
worker_connections 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
http {
|
|
||||||
resolver 127.0.0.11;
|
|
||||||
|
|
||||||
server {
|
|
||||||
listen 3100;
|
|
||||||
|
|
||||||
location = / {
|
|
||||||
return 200 'OK';
|
|
||||||
auth_basic off;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /api/prom/push {
|
|
||||||
proxy_pass http://write:3100\$$request_uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /api/prom/tail {
|
|
||||||
proxy_pass http://read:3100\$$request_uri;
|
|
||||||
proxy_set_header Upgrade \$$http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ /api/prom/.* {
|
|
||||||
proxy_pass http://read:3100\$$request_uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /loki/api/v1/push {
|
|
||||||
proxy_pass http://write:3100\$$request_uri;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /loki/api/v1/tail {
|
|
||||||
proxy_pass http://read:3100\$$request_uri;
|
|
||||||
proxy_set_header Upgrade \$$http_upgrade;
|
|
||||||
proxy_set_header Connection "upgrade";
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ /loki/api/.* {
|
|
||||||
proxy_pass http://read:3100\$$request_uri;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
/docker-entrypoint.sh nginx -g "daemon off;"
|
|
||||||
ports:
|
|
||||||
- "3100:3100"
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "service", "nginx", "status"]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 5
|
|
||||||
networks:
|
|
||||||
- loki
|
|
||||||
Reference in New Issue
Block a user