github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/tools/dev/loki-boltdb-storage-s3/docker-compose.yml (about)

     1  version: '3.4'
     2  services:
     3    consul:
     4      logging: &logging
     5        driver: loki-compose
     6        options:
     7          loki-url: "http://localhost:8001/loki/api/v1/push"
     8          loki-retries: "1"
     9          loki-tenant-id: "1"
    10      image: consul
    11      command: [ "agent", "-dev" ,"-client=0.0.0.0", "-log-level=info" ]
    12      ports:
    13        - 8500:8500
    14  
    15    minio:
    16      logging:
    17        <<: *logging
    18      image: minio/minio:RELEASE.2022-03-11T23-57-45Z
    19      entrypoint: sh
    20      command: -c 'mkdir -p /data/loki && /opt/bin/minio server --console-address :9001 /data'
    21      environment:
    22        - MINIO_ACCESS_KEY=loki
    23        - MINIO_SECRET_KEY=supersecret
    24      ports:
    25        - 9000:9000
    26        - 9001:9001
    27      volumes:
    28        - .data-minio:/data:delegated
    29  
    30    memcached:
    31      logging:
    32        <<: *logging
    33      image: memcached:1.6
    34  
    35    jaeger:
    36      logging:
    37        <<: *logging
    38      image: jaegertracing/all-in-one
    39      ports:
    40        - 16686:16686
    41        - "14268"
    42  
    43    distributor:
    44      logging:
    45        <<: *logging
    46      build:
    47        context:    .
    48        dockerfile: dev.dockerfile
    49      image: loki
    50      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./loki --listen=:18001 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/loki.yaml -target=distributor -server.http-listen-port=8001 -server.grpc-listen-port=9001"]
    51      depends_on:
    52        - ingester-1
    53        - ingester-2
    54        - consul
    55      environment:
    56        - JAEGER_AGENT_HOST=jaeger
    57        - JAEGER_AGENT_PORT=6831
    58        - JAEGER_TAGS=app=distributor
    59        - JAEGER_SAMPLER_TYPE=const
    60        - JAEGER_SAMPLER_PARAM=1
    61      ports:
    62        - 8001:8001
    63        - 18001:18001
    64      volumes:
    65        - ./config:/loki/config
    66  
    67    ingester-1:
    68      logging:
    69        <<: *logging
    70      build:
    71        context:    .
    72        dockerfile: dev.dockerfile
    73      image: loki
    74      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./loki --listen=:18002 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/loki.yaml -target=ingester -server.http-listen-port=8002 -server.grpc-listen-port=9002"]
    75      depends_on:
    76        - consul
    77        - minio
    78      environment:
    79        - JAEGER_AGENT_HOST=jaeger
    80        - JAEGER_AGENT_PORT=6831
    81        - JAEGER_TAGS=app=ingester-1
    82        - JAEGER_SAMPLER_TYPE=const
    83        - JAEGER_SAMPLER_PARAM=1
    84      ports:
    85        - 8002:8002
    86        - 18002:18002
    87      volumes:
    88        - ./config:/loki/config
    89        - .data-ingester-1:/data:delegated
    90  
    91    ingester-2:
    92      logging:
    93        <<: *logging
    94      build:
    95        context:    .
    96        dockerfile: dev.dockerfile
    97      image: loki
    98      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./loki --listen=:18003 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/loki.yaml -target=ingester -server.http-listen-port=8003 -server.grpc-listen-port=9003"]
    99      depends_on:
   100        - consul
   101        - minio
   102      environment:
   103        - JAEGER_AGENT_HOST=jaeger
   104        - JAEGER_AGENT_PORT=6831
   105        - JAEGER_TAGS=app=ingester-2
   106        - JAEGER_SAMPLER_TYPE=const
   107        - JAEGER_SAMPLER_PARAM=1
   108      ports:
   109        - 8003:8003
   110        - 18003:18003
   111      volumes:
   112        - ./config:/loki/config
   113        - .data-ingester-2:/data:delegated
   114  
   115    querier:
   116      logging:
   117        <<: *logging
   118      build:
   119        context:    .
   120        dockerfile: dev.dockerfile
   121      image: loki
   122      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./loki --listen=:18004 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/loki.yaml -target=querier -server.http-listen-port=8004 -server.grpc-listen-port=9004 -querier.scheduler-address=query-scheduler:9009"]
   123      depends_on:
   124        - consul
   125        - minio
   126        - query-frontend
   127        - query-scheduler
   128      environment:
   129        - JAEGER_AGENT_HOST=jaeger
   130        - JAEGER_AGENT_PORT=6831
   131        - JAEGER_TAGS=app=querier
   132        - JAEGER_SAMPLER_TYPE=const
   133        - JAEGER_SAMPLER_PARAM=1
   134      ports:
   135        - 8004:8004
   136        - 18004:18004
   137      volumes:
   138        - ./config:/loki/config
   139        - .data-querier:/data:delegated
   140  
   141    index-gateway:
   142      logging:
   143        <<: *logging
   144      build:
   145        context:    .
   146        dockerfile: dev.dockerfile
   147      image: loki
   148      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./loki --listen=:18008 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/loki.yaml -target=index-gateway -server.http-listen-port=8008 -server.grpc-listen-port=9008 -boltdb.shipper.query-ready-num-days=30"]
   149      depends_on:
   150        - consul
   151        - minio
   152      environment:
   153        - JAEGER_AGENT_HOST=jaeger
   154        - JAEGER_AGENT_PORT=6831
   155        - JAEGER_TAGS=app=index-gateway
   156        - JAEGER_SAMPLER_TYPE=const
   157        - JAEGER_SAMPLER_PARAM=1
   158      ports:
   159        - 8008:8008
   160        - 18008:18008
   161      volumes:
   162        - ./config:/loki/config
   163  
   164    compactor:
   165      logging:
   166        <<: *logging
   167      build:
   168        context:    .
   169        dockerfile: dev.dockerfile
   170      image: loki
   171      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./loki --listen=:18006 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/loki.yaml -target=compactor -server.http-listen-port=8006 -server.grpc-listen-port=9006"]
   172      depends_on:
   173        - consul
   174        - minio
   175      environment:
   176        - JAEGER_AGENT_HOST=jaeger
   177        - JAEGER_AGENT_PORT=6831
   178        - JAEGER_TAGS=app=compactor
   179        - JAEGER_SAMPLER_TYPE=const
   180        - JAEGER_SAMPLER_PARAM=1
   181      ports:
   182        - 8006:8006
   183        - 18006:18006
   184      volumes:
   185        - ./config:/loki/config
   186        - .data-compactor:/data:delegated
   187  
   188    query-frontend:
   189      logging:
   190        <<: *logging
   191      build:
   192        context:    .
   193        dockerfile: dev.dockerfile
   194      image: loki
   195      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./loki --listen=:18007 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/loki.yaml -target=query-frontend -server.http-listen-port=8007 -server.grpc-listen-port=9007 -frontend.scheduler-address=query-scheduler:9009 -log.level=debug"]
   196      depends_on:
   197        - consul
   198        - minio
   199        - query-scheduler
   200      environment:
   201        - JAEGER_AGENT_HOST=jaeger
   202        - JAEGER_AGENT_PORT=6831
   203        - JAEGER_TAGS=app=query-frontend
   204        - JAEGER_SAMPLER_TYPE=const
   205        - JAEGER_SAMPLER_PARAM=1
   206      ports:
   207        - 8007:8007
   208        - 18007:18007
   209      volumes:
   210        - ./config:/loki/config
   211  
   212    query-scheduler:
   213      logging:
   214        <<: *logging
   215      build:
   216        context:    .
   217        dockerfile: dev.dockerfile
   218      image: loki
   219      command: ["sh", "-c", "sleep 3 && exec ./dlv exec ./loki --listen=:18009 --headless=true --api-version=2 --accept-multiclient --continue -- -config.file=./config/loki.yaml -target=query-scheduler -server.http-listen-port=8009 -server.grpc-listen-port=9009 -log.level=debug"]
   220      depends_on:
   221        - consul
   222        - minio
   223      environment:
   224        - JAEGER_AGENT_HOST=jaeger
   225        - JAEGER_AGENT_PORT=6831
   226        - JAEGER_TAGS=app=query-scheduler
   227        - JAEGER_SAMPLER_TYPE=const
   228        - JAEGER_SAMPLER_PARAM=1
   229      ports:
   230        - 8009:8009
   231        - 18009:18009
   232      volumes:
   233        - ./config:/loki/config
   234  
   235    grafana:
   236      logging:
   237        <<: *logging
   238      image: grafana/grafana
   239      depends_on:
   240        - query-frontend
   241        - querier
   242      environment:
   243        - GF_PATHS_PROVISIONING=/etc/config/grafana/provisioning
   244        - GF_AUTH_ANONYMOUS_ENABLED=true
   245        - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
   246      ports:
   247        - 3000:3000
   248      volumes:
   249        - ./config/datasource.yaml:/etc/config/grafana/provisioning/datasources/ds.yaml
   250  
   251    log-gen:
   252      logging:
   253        <<: *logging
   254      image: mingrammer/flog
   255      command: ["-f", "json", "-l", "-d", "2s"]
   256      depends_on:
   257        - distributor
   258  
   259    log-gen-2:
   260      logging:
   261        driver: loki-compose
   262        options:
   263          loki-url: "http://localhost:8001/loki/api/v1/push"
   264          loki-retries: "1"
   265          loki-tenant-id: "2"
   266      image: mingrammer/flog
   267      command: ["-f", "json", "-l", "-d", "2s"]
   268      depends_on:
   269        - distributor