generated from GamingChaos/docker-compose
remote grafana stack
This commit is contained in:
@@ -1,49 +0,0 @@
|
|||||||
# config/grafana-datasources.yaml
|
|
||||||
# Auto-provisioned data sources for Grafana
|
|
||||||
|
|
||||||
apiVersion: 1
|
|
||||||
|
|
||||||
datasources:
|
|
||||||
# Tempo for traces
|
|
||||||
- name: Tempo
|
|
||||||
uid: tempo
|
|
||||||
type: tempo
|
|
||||||
access: proxy
|
|
||||||
url: http://tempo:3200
|
|
||||||
isDefault: false
|
|
||||||
jsonData:
|
|
||||||
tracesToLogsV2:
|
|
||||||
datasourceUid: loki
|
|
||||||
filterByTraceID: true
|
|
||||||
tracesToMetrics:
|
|
||||||
datasourceUid: mimir
|
|
||||||
nodeGraph:
|
|
||||||
enabled: true
|
|
||||||
serviceMap:
|
|
||||||
datasourceUid: mimir
|
|
||||||
|
|
||||||
# Mimir for metrics
|
|
||||||
- name: Mimir
|
|
||||||
uid: mimir
|
|
||||||
type: prometheus
|
|
||||||
access: proxy
|
|
||||||
url: http://mimir:9009/prometheus
|
|
||||||
isDefault: true
|
|
||||||
jsonData:
|
|
||||||
exemplarTraceIdDestinations:
|
|
||||||
- name: traceID
|
|
||||||
datasourceUid: tempo
|
|
||||||
|
|
||||||
# Loki for logs
|
|
||||||
- name: Loki
|
|
||||||
uid: loki
|
|
||||||
type: loki
|
|
||||||
access: proxy
|
|
||||||
url: http://loki:3100
|
|
||||||
isDefault: false
|
|
||||||
jsonData:
|
|
||||||
derivedFields:
|
|
||||||
- name: TraceID
|
|
||||||
datasourceUid: tempo
|
|
||||||
matcherRegex: "traceID=(\\w+)"
|
|
||||||
url: "$${__value.raw}"
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
# config/loki.yaml
|
|
||||||
# Grafana Loki configuration for local development
|
|
||||||
|
|
||||||
auth_enabled: false
|
|
||||||
|
|
||||||
server:
|
|
||||||
http_listen_port: 3100
|
|
||||||
|
|
||||||
# Common configuration shared across components
|
|
||||||
common:
|
|
||||||
path_prefix: /loki
|
|
||||||
storage:
|
|
||||||
filesystem:
|
|
||||||
chunks_directory: /loki/chunks
|
|
||||||
rules_directory: /loki/rules
|
|
||||||
replication_factor: 1
|
|
||||||
ring:
|
|
||||||
kvstore:
|
|
||||||
store: inmemory
|
|
||||||
|
|
||||||
# Schema configuration defines how data is stored
|
|
||||||
schema_config:
|
|
||||||
configs:
|
|
||||||
- from: 2020-10-24
|
|
||||||
store: tsdb
|
|
||||||
object_store: filesystem
|
|
||||||
schema: v13
|
|
||||||
index:
|
|
||||||
prefix: index_
|
|
||||||
period: 24h
|
|
||||||
|
|
||||||
# Limits for local development
|
|
||||||
limits_config:
|
|
||||||
allow_structured_metadata: true
|
|
||||||
volume_enabled: true
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
# config/mimir.yaml
|
|
||||||
# Grafana Mimir configuration for local development
|
|
||||||
|
|
||||||
# Run all components in a single process
|
|
||||||
target: all
|
|
||||||
|
|
||||||
# Server settings
|
|
||||||
server:
|
|
||||||
http_listen_port: 9009
|
|
||||||
grpc_listen_port: 9095
|
|
||||||
|
|
||||||
# Single-tenant mode for simplicity
|
|
||||||
multitenancy_enabled: false
|
|
||||||
|
|
||||||
# Block storage configuration
|
|
||||||
blocks_storage:
|
|
||||||
backend: filesystem
|
|
||||||
filesystem:
|
|
||||||
dir: /data/blocks
|
|
||||||
tsdb:
|
|
||||||
dir: /data/tsdb
|
|
||||||
bucket_store:
|
|
||||||
sync_dir: /data/sync
|
|
||||||
|
|
||||||
# Compactor settings
|
|
||||||
compactor:
|
|
||||||
data_dir: /data/compactor
|
|
||||||
sharding_ring:
|
|
||||||
kvstore:
|
|
||||||
store: memberlist
|
|
||||||
|
|
||||||
# Distributor accepts remote write from the Collector
|
|
||||||
distributor:
|
|
||||||
ring:
|
|
||||||
kvstore:
|
|
||||||
store: memberlist
|
|
||||||
|
|
||||||
# Ingester configuration
|
|
||||||
ingester:
|
|
||||||
ring:
|
|
||||||
kvstore:
|
|
||||||
store: memberlist
|
|
||||||
replication_factor: 1
|
|
||||||
|
|
||||||
# Store gateway for querying blocks
|
|
||||||
store_gateway:
|
|
||||||
sharding_ring:
|
|
||||||
replication_factor: 1
|
|
||||||
|
|
||||||
# Ruler for alerting rules
|
|
||||||
ruler_storage:
|
|
||||||
backend: filesystem
|
|
||||||
filesystem:
|
|
||||||
dir: /data/rules
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
# config/tempo.yaml
|
|
||||||
# Grafana Tempo configuration for local development
|
|
||||||
|
|
||||||
# Server configuration
|
|
||||||
server:
|
|
||||||
http_listen_port: 3200
|
|
||||||
|
|
||||||
# Distributor receives traces from the Collector
|
|
||||||
distributor:
|
|
||||||
receivers:
|
|
||||||
otlp:
|
|
||||||
protocols:
|
|
||||||
grpc:
|
|
||||||
endpoint: 0.0.0.0:4317
|
|
||||||
|
|
||||||
# Storage configuration using local filesystem
|
|
||||||
storage:
|
|
||||||
trace:
|
|
||||||
backend: local
|
|
||||||
local:
|
|
||||||
path: /var/tempo/blocks
|
|
||||||
wal:
|
|
||||||
path: /var/tempo/wal
|
|
||||||
|
|
||||||
# Metrics generator creates span metrics for RED dashboards
|
|
||||||
metrics_generator:
|
|
||||||
registry:
|
|
||||||
external_labels:
|
|
||||||
source: tempo
|
|
||||||
storage:
|
|
||||||
path: /var/tempo/generator/wal
|
|
||||||
remote_write:
|
|
||||||
- url: http://mimir:9009/api/v1/push
|
|
||||||
|
|
||||||
# Enable metrics-generator processors for the default tenant
|
|
||||||
overrides:
|
|
||||||
defaults:
|
|
||||||
metrics_generator:
|
|
||||||
processors: [span-metrics, service-graphs]
|
|
||||||
+1
-62
@@ -1,9 +1,5 @@
|
|||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
tempo-data:
|
|
||||||
mimir-data:
|
|
||||||
loki-data:
|
|
||||||
grafana-data:
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
@@ -17,64 +13,7 @@ services:
|
|||||||
- 4318:4318 # http
|
- 4318:4318 # http
|
||||||
volumes:
|
volumes:
|
||||||
- ./config/otel-collector.yaml:/etc/otelcol-contrib/config.yaml
|
- ./config/otel-collector.yaml:/etc/otelcol-contrib/config.yaml
|
||||||
- ./ssl/ca.crt:/etc/otelcol-contrib/ca.crt
|
- ./ssl:/etc/otelcol-contrib/ssl
|
||||||
- ./ssl/server.crt:/etc/otelcol-contrib/otel.crt
|
|
||||||
- ./ssl/server.key:/etc/otelcol-contrib/otel.key
|
|
||||||
depends_on:
|
|
||||||
- tempo
|
|
||||||
- mimir
|
|
||||||
- loki
|
|
||||||
|
|
||||||
# Grafana Tempo - distributed tracing backend
|
|
||||||
tempo:
|
|
||||||
image: grafana/tempo:latest
|
|
||||||
container_name: tempo
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- ./config/tempo.yaml:/etc/tempo/config.yaml
|
|
||||||
- tempo-data:/var/tempo
|
|
||||||
command: ["-config.file=/etc/tempo/config.yaml"]
|
|
||||||
ports:
|
|
||||||
- "3200:3200" # Tempo API
|
|
||||||
|
|
||||||
# Grafana Mimir - long-term metrics storage
|
|
||||||
mimir:
|
|
||||||
image: grafana/mimir:latest
|
|
||||||
container_name: mimir
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- ./config/mimir.yaml:/etc/mimir/config.yaml
|
|
||||||
- mimir-data:/data
|
|
||||||
command: ["-config.file=/etc/mimir/config.yaml"]
|
|
||||||
ports:
|
|
||||||
- "9009:9009" # Mimir API
|
|
||||||
|
|
||||||
# Grafana Loki - log aggregation
|
|
||||||
loki:
|
|
||||||
image: grafana/loki:latest
|
|
||||||
container_name: loki
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- ./config/loki.yaml:/etc/loki/config.yaml
|
|
||||||
- loki-data:/loki
|
|
||||||
command: ["-config.file=/etc/loki/config.yaml"]
|
|
||||||
ports:
|
|
||||||
- "3100:3100" # Loki API
|
|
||||||
|
|
||||||
# Grafana - visualization and dashboards
|
|
||||||
grafana:
|
|
||||||
image: grafana/grafana:latest
|
|
||||||
container_name: grafana
|
|
||||||
restart: unless-stopped
|
|
||||||
environment:
|
|
||||||
- GF_AUTH_ANONYMOUS_ENABLED=true
|
|
||||||
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
|
||||||
- GF_AUTH_DISABLE_LOGIN_FORM=true
|
|
||||||
volumes:
|
|
||||||
- ./config/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
|
|
||||||
- grafana-data:/var/lib/grafana
|
|
||||||
ports:
|
|
||||||
- "3000:3000" # Grafana UI
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- tempo
|
- tempo
|
||||||
- mimir
|
- mimir
|
||||||
|
|||||||
Reference in New Issue
Block a user