init-stack

This commit is contained in:
aprokopenko 2024-12-30 14:07:15 +03:00
parent 478597bc2a
commit 9b116e60e4
5 changed files with 151 additions and 0 deletions

1
stack/.env Normal file
View File

@ -0,0 +1 @@
host=p8o.ru

16
stack/data/grafana/.env Normal file
View File

@ -0,0 +1,16 @@
GRAFANA_TOKEN=
GRAFANA_ADMIN_ACCOUNT=admin
GRAFANA_ADMIN_PASSWORD=admin
VERIFY_SSL=false
GRAFANA_URL=http://grafana-edu:3000
AWS_S3_BUCKET_NAME=grafana
AWS_S3_BUCKET_KEY=grafana-backup
AWS_DEFAULT_REGION=
AWS_ACCESS_KEY_ID=grafana-user
AWS_SECRET_ACCESS_KEY=grafana-user
AWS_ENDPOINT_URL=https://s3.domain.ru
RESTORE=false
ARCHIVE_FILE=

View File

@ -0,0 +1,7 @@
apiVersion: 1
datasources:
- access: proxy
isDefault: true
name: loki-main
type: loki
url: http://loki-edu:3100

View File

@ -0,0 +1,62 @@
auth_enabled: false
server:
http_listen_port: 3100
grpc_listen_port: 9095
grpc_server_max_concurrent_streams: 1000
compactor:
retention_delete_delay: 2h
retention_delete_worker_count: 150
retention_enabled: true
delete_request_store: filesystem
working_directory: /loki/chunks
ingester:
chunk_block_size: 262144
chunk_idle_period: 3m
chunk_retain_period: 1m
lifecycler:
ring:
kvstore:
store: inmemory
replication_factor: 1
wal:
dir: /loki/wal
limits_config:
max_query_lookback: 672h # 28 days
retention_period: 672h # 28 days
common:
instance_addr: 127.0.0.1
path_prefix: /loki
storage:
filesystem:
chunks_directory: /loki/chunks
rules_directory: /loki/rules
replication_factor: 1
ring:
kvstore:
store: inmemory
schema_config:
configs:
- from: 2020-10-24
store: tsdb
object_store: filesystem
schema: v13
index:
prefix: index_
period: 24h
pattern_ingester:
enabled: true
metric_aggregation:
loki_address: localhost:3100
ruler:
alertmanager_url: http://alertmanager:9093
frontend:
encoding: protobuf

65
stack/docker-compose.yml Normal file
View File

@ -0,0 +1,65 @@
version: "3.9"
services:
grafana:
image: grafana/grafana:latest
container_name: grafana-edu
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.grafana-edu.entrypoints=https"
- "traefik.http.routers.grafana-edu.rule=Host(`grafana-edu.${HOST}`)"
- "traefik.http.routers.grafana-edu.tls=true"
- "traefik.http.routers.grafana-edu.tls.certresolver=regru"
- "traefik.http.services.grafana-edu-service.loadbalancer.server.port=3000"
- "traefik.docker.network=webproxy"
environment:
- GF_PATHS_DATA=/var/lib/grafana/data
- GF_PATHS_LOGS=/var/log/grafana
- GF_PATHS_PLUGINS=/var/lib/grafana/plugins
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
- GF_AUTH_ANONYMOUS_ENABLED=false
- GF_USERS_ALLOW_SIGN_UP=false
- GF_USERS_ALLOW_ORG_CREATE=false
volumes:
- ./data/grafana/grafana.ini:/etc/grafana/grafana.ini
- ./data/grafana/datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
- grafana-edu-storage:/var/lib/grafana
expose:
- 3000
networks:
- loki-edu
- webproxy
loki:
image: grafana/loki:3.3.2
container_name: loki
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.loki-edu.entrypoints=https"
- "traefik.http.routers.loki-edu.rule=Host(`loki-edu.${HOST}`)"
- "traefik.http.routers.loki-edu.tls=true"
- "traefik.http.routers.loki-edu.tls.certresolver=regru"
- "traefik.http.services.loki-service.loadbalancer.server.port=3100"
- "traefik.docker.network=webproxy"
command: -config.file=/etc/loki/local-config.yaml
volumes:
- loki-edu-storage:/loki
- ./data/local-config.yaml:/etc/loki/local-config.yaml
expose:
- 3100
networks:
- loki-edu
- webproxy
networks:
loki-edu:
name: loki-edu
webproxy:
external: true
volumes:
grafana-edu-storage:
loki-edu-storage: