diff --git a/.data/minio/.minio.sys/buckets/.bloomcycle.bin/xl.meta b/.data/minio/.minio.sys/buckets/.bloomcycle.bin/xl.meta new file mode 100644 index 0000000..9be1609 Binary files /dev/null and b/.data/minio/.minio.sys/buckets/.bloomcycle.bin/xl.meta differ diff --git a/.data/minio/.minio.sys/buckets/.usage-cache.bin/xl.meta b/.data/minio/.minio.sys/buckets/.usage-cache.bin/xl.meta new file mode 100644 index 0000000..248376a Binary files /dev/null and b/.data/minio/.minio.sys/buckets/.usage-cache.bin/xl.meta differ diff --git a/.data/minio/.minio.sys/buckets/.usage.json/xl.meta b/.data/minio/.minio.sys/buckets/.usage.json/xl.meta new file mode 100644 index 0000000..25e8e60 Binary files /dev/null and b/.data/minio/.minio.sys/buckets/.usage.json/xl.meta differ diff --git a/.data/minio/.minio.sys/buckets/loki-data/.usage-cache.bin/xl.meta b/.data/minio/.minio.sys/buckets/loki-data/.usage-cache.bin/xl.meta new file mode 100644 index 0000000..9e3bae1 Binary files /dev/null and b/.data/minio/.minio.sys/buckets/loki-data/.usage-cache.bin/xl.meta differ diff --git a/.data/minio/.minio.sys/buckets/loki-ruler/.usage-cache.bin/xl.meta b/.data/minio/.minio.sys/buckets/loki-ruler/.usage-cache.bin/xl.meta new file mode 100644 index 0000000..7fe27de Binary files /dev/null and b/.data/minio/.minio.sys/buckets/loki-ruler/.usage-cache.bin/xl.meta differ diff --git a/.data/minio/.minio.sys/config/config.json/xl.meta b/.data/minio/.minio.sys/config/config.json/xl.meta new file mode 100644 index 0000000..47a26a0 Binary files /dev/null and b/.data/minio/.minio.sys/config/config.json/xl.meta differ diff --git a/.data/minio/.minio.sys/config/iam/format.json/xl.meta b/.data/minio/.minio.sys/config/iam/format.json/xl.meta new file mode 100644 index 0000000..1fdeab5 Binary files /dev/null and b/.data/minio/.minio.sys/config/iam/format.json/xl.meta differ diff --git a/.data/minio/.minio.sys/format.json b/.data/minio/.minio.sys/format.json new file mode 100644 index 0000000..cd94cdf --- /dev/null +++ b/.data/minio/.minio.sys/format.json @@ -0,0 +1 @@ +{"version":"1","format":"xl-single","id":"dccaeeea-ba25-4618-bae8-d4575666cc86","xl":{"version":"3","this":"44b0e3be-76a9-4c55-a0e2-0ee26a0f5e6d","sets":[["44b0e3be-76a9-4c55-a0e2-0ee26a0f5e6d"]],"distributionAlgo":"SIPMOD+PARITY"}} \ No newline at end of file diff --git a/.data/minio/.minio.sys/pool.bin/xl.meta b/.data/minio/.minio.sys/pool.bin/xl.meta new file mode 100644 index 0000000..e2e32cd Binary files /dev/null and b/.data/minio/.minio.sys/pool.bin/xl.meta differ diff --git a/.data/minio/.minio.sys/tmp/.trash/7c9b25f6-9f50-4eff-a14f-f9a8310744ba b/.data/minio/.minio.sys/tmp/.trash/7c9b25f6-9f50-4eff-a14f-f9a8310744ba new file mode 100644 index 0000000..a1b6f10 Binary files /dev/null and b/.data/minio/.minio.sys/tmp/.trash/7c9b25f6-9f50-4eff-a14f-f9a8310744ba differ diff --git a/.data/minio/loki-data/index/index_19530/compactor-1687833630.gz/xl.meta b/.data/minio/loki-data/index/index_19530/compactor-1687833630.gz/xl.meta new file mode 100644 index 0000000..5189277 Binary files /dev/null and b/.data/minio/loki-data/index/index_19530/compactor-1687833630.gz/xl.meta differ diff --git a/.data/minio/loki-data/index/index_19531/compactor-1687833630.gz/xl.meta b/.data/minio/loki-data/index/index_19531/compactor-1687833630.gz/xl.meta new file mode 100644 index 0000000..4da24e7 Binary files /dev/null and b/.data/minio/loki-data/index/index_19531/compactor-1687833630.gz/xl.meta differ diff --git a/.data/minio/loki-data/index/index_19532/compactor-1687833630.gz/xl.meta b/.data/minio/loki-data/index/index_19532/compactor-1687833630.gz/xl.meta new file mode 100644 index 0000000..ef9455a Binary files /dev/null and b/.data/minio/loki-data/index/index_19532/compactor-1687833630.gz/xl.meta differ diff --git a/.data/minio/loki-data/index/index_19533/compactor-1687833630.gz/xl.meta b/.data/minio/loki-data/index/index_19533/compactor-1687833630.gz/xl.meta new file mode 100644 index 0000000..c872320 Binary files /dev/null and b/.data/minio/loki-data/index/index_19533/compactor-1687833630.gz/xl.meta differ diff --git a/.data/minio/loki-data/index/index_19534/compactor-1687833629.gz/xl.meta b/.data/minio/loki-data/index/index_19534/compactor-1687833629.gz/xl.meta new file mode 100644 index 0000000..59d721a Binary files /dev/null and b/.data/minio/loki-data/index/index_19534/compactor-1687833629.gz/xl.meta differ diff --git a/.data/minio/loki-data/index/index_19535/e67e05131239-1687832423794609654-1687834253.gz/xl.meta b/.data/minio/loki-data/index/index_19535/e67e05131239-1687832423794609654-1687834253.gz/xl.meta new file mode 100644 index 0000000..ccca6c3 Binary files /dev/null and b/.data/minio/loki-data/index/index_19535/e67e05131239-1687832423794609654-1687834253.gz/xl.meta differ diff --git a/.data/minio/loki-data/loki_cluster_seed.json/xl.meta b/.data/minio/loki-data/loki_cluster_seed.json/xl.meta new file mode 100644 index 0000000..c066fb9 Binary files /dev/null and b/.data/minio/loki-data/loki_cluster_seed.json/xl.meta differ diff --git a/.data/minio/loki-data/tenant1/565c04588a0a84c0:188e339f366:188f7e1fbfd:db7ab5e3/xl.meta b/.data/minio/loki-data/tenant1/565c04588a0a84c0:188e339f366:188f7e1fbfd:db7ab5e3/xl.meta new file mode 100644 index 0000000..0991247 Binary files /dev/null and b/.data/minio/loki-data/tenant1/565c04588a0a84c0:188e339f366:188f7e1fbfd:db7ab5e3/xl.meta differ diff --git a/.data/minio/loki-data/tenant1/674b8863feec0c30:188faa6eb85:188faa6ebde:a6939775/xl.meta b/.data/minio/loki-data/tenant1/674b8863feec0c30:188faa6eb85:188faa6ebde:a6939775/xl.meta new file mode 100644 index 0000000..5463cbd Binary files /dev/null and b/.data/minio/loki-data/tenant1/674b8863feec0c30:188faa6eb85:188faa6ebde:a6939775/xl.meta differ diff --git a/.data/minio/loki-data/tenant1/d85f0a2c59abc817:188faa6f1d8:188faa709ae:7087180f/xl.meta b/.data/minio/loki-data/tenant1/d85f0a2c59abc817:188faa6f1d8:188faa709ae:7087180f/xl.meta new file mode 100644 index 0000000..9ea6f2c Binary files /dev/null and b/.data/minio/loki-data/tenant1/d85f0a2c59abc817:188faa6f1d8:188faa709ae:7087180f/xl.meta differ diff --git a/docker-compose.yaml.2 b/docker-compose.yaml.2 new file mode 100644 index 0000000..c047876 --- /dev/null +++ b/docker-compose.yaml.2 @@ -0,0 +1,194 @@ +--- +version: "3" + +networks: + loki: + +services: + read: + image: grafana/loki:2.8.2 + command: "-config.file=/etc/loki/config.yaml -target=read" + ports: + - 3101:3100 + - 7946 + - 9095 + volumes: + - ./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: + - ./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: + - ./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 + entrypoint: + - sh + - -euc + - | + mkdir -p /data/loki-data && \ + mkdir -p /data/loki-ruler && \ + minio server /data + environment: + - MINIO_ROOT_USER=loki + - MINIO_ROOT_PASSWORD=supersecret + - 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:latest + 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: + - "3000:3000" + healthcheck: + test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3000/api/health || exit 1" ] + interval: 10s + timeout: 5s + retries: 5 + networks: + - loki + + gateway: + image: nginx:latest + 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 + + flog: + image: mingrammer/flog + command: -f json -d 1s -l + networks: + - loki diff --git a/loki-config.yaml b/loki-config.yaml new file mode 100644 index 0000000..775db58 --- /dev/null +++ b/loki-config.yaml @@ -0,0 +1,33 @@ +--- +server: + http_listen_port: 3100 +memberlist: + join_members: + - loki:7946 +schema_config: + configs: + - from: 2021-08-01 + store: boltdb-shipper + object_store: s3 + schema: v11 + index: + prefix: index_ + period: 24h +common: + path_prefix: /loki + replication_factor: 1 + storage: + s3: + endpoint: minio:9000 + insecure: true + bucketnames: loki-data + access_key_id: loki + secret_access_key: supersecret + s3forcepathstyle: true + ring: + kvstore: + store: memberlist +ruler: + storage: + s3: + bucketnames: loki-ruler diff --git a/promtail-local-config.yaml b/promtail-local-config.yaml new file mode 100644 index 0000000..dcb2d3e --- /dev/null +++ b/promtail-local-config.yaml @@ -0,0 +1,22 @@ +--- +server: + http_listen_port: 9080 + grpc_listen_port: 0 + +positions: + filename: /tmp/positions.yaml + +clients: + - url: http://gateway:3100/loki/api/v1/push + tenant_id: tenant1 + +scrape_configs: + - job_name: flog_scrape + docker_sd_configs: + - host: unix:///var/run/docker.sock + refresh_interval: 5s + relabel_configs: + - source_labels: ['__meta_docker_container_name'] + regex: '/(.*)' + target_label: 'container' +