diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 03ace4e..e183a9b 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -63,191 +63,4 @@ services: depends_on: - "back" env_file: - - .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 < /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 < /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 + - .env \ No newline at end of file diff --git a/docker-compose.log.yml b/docker-compose.log.yml new file mode 100644 index 0000000..380e3ee --- /dev/null +++ b/docker-compose.log.yml @@ -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 < /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 < /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 diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 49ae9bf..593ed90 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -49,192 +49,4 @@ services: depends_on: - "back" env_file: - - .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 < /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 < /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 - + - .env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index aaed689..970ae47 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -58,191 +58,4 @@ services: depends_on: - "back" env_file: - - .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 < /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 < /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 + - .env \ No newline at end of file