Files
cloudlysis/swarm/stacks/observability.yml
Vlad Durnea 1298d9a3df
Some checks failed
ci / ui (push) Failing after 30s
ci / rust (push) Failing after 2m34s
Monorepo consolidation: workspace, shared types, transport plans, docker/swam assets
2026-03-30 11:40:42 +03:00

153 lines
4.8 KiB
YAML

version: "3.9"
services:
victoria-metrics:
image: victoriametrics/victoria-metrics:v1.120.0
command:
- "-retentionPeriod=30d"
networks:
- internal
deploy:
replicas: 1
restart_policy:
condition: on-failure
vmagent:
image: victoriametrics/vmagent:v1.120.0
command:
- "-promscrape.config=/etc/vmagent/scrape.yml"
- "-remoteWrite.url=http://victoria-metrics:8428/api/v1/write"
configs:
- source: vmagent_scrape
target: /etc/vmagent/scrape.yml
networks:
- internal
deploy:
replicas: 1
restart_policy:
condition: on-failure
loki:
image: grafana/loki:3.5.5
command:
- "-config.file=/etc/loki/config.yml"
configs:
- source: loki_config
target: /etc/loki/config.yml
networks:
- internal
deploy:
replicas: 1
restart_policy:
condition: on-failure
tempo:
image: grafana/tempo:2.8.2
command:
- "-config.file=/etc/tempo/config.yml"
configs:
- source: tempo_config
target: /etc/tempo/config.yml
networks:
- internal
deploy:
replicas: 1
restart_policy:
condition: on-failure
grafana:
image: grafana/grafana:12.1.1
environment:
GF_SECURITY_ADMIN_USER: "admin"
GF_SECURITY_ADMIN_PASSWORD__FILE: "/run/secrets/grafana_admin_password"
GF_AUTH_ANONYMOUS_ENABLED: "false"
configs:
- source: grafana_datasources
target: /etc/grafana/provisioning/datasources/datasources.yml
- source: grafana_dashboards_provider
target: /etc/grafana/provisioning/dashboards/dashboards.yml
- source: dashboard_operations_overview
target: /var/lib/grafana/dashboards/operations_overview.json
- source: dashboard_http_detail
target: /var/lib/grafana/dashboards/http_detail.json
- source: dashboard_logs
target: /var/lib/grafana/dashboards/logs.json
- source: dashboard_traces
target: /var/lib/grafana/dashboards/traces.json
- source: dashboard_event_bus
target: /var/lib/grafana/dashboards/event_bus.json
- source: dashboard_workers
target: /var/lib/grafana/dashboards/workers.json
- source: dashboard_storage
target: /var/lib/grafana/dashboards/storage.json
- source: dashboard_cluster
target: /var/lib/grafana/dashboards/cluster.json
- source: dashboard_noisy_neighbor_tenant_health
target: /var/lib/grafana/dashboards/noisy_neighbor_tenant_health.json
- source: dashboard_api_regression_deployment
target: /var/lib/grafana/dashboards/api_regression_deployment.json
- source: dashboard_storage_event_bus_bottlenecks
target: /var/lib/grafana/dashboards/storage_event_bus_bottlenecks.json
- source: dashboard_infrastructure_exhaustion
target: /var/lib/grafana/dashboards/infrastructure_exhaustion.json
secrets:
- grafana_admin_password
networks:
- public
- internal
ports:
- target: 3000
published: 3000
protocol: tcp
mode: ingress
deploy:
replicas: 1
restart_policy:
condition: on-failure
configs:
vmagent_scrape:
file: ../../observability/vmagent/scrape.yml
loki_config:
file: ../../observability/loki/config.yml
tempo_config:
file: ../../observability/tempo/config.yml
grafana_datasources:
file: ../../observability/grafana/provisioning/datasources/datasources.yml
grafana_dashboards_provider:
file: ../../observability/grafana/provisioning/dashboards/dashboards.yml
dashboard_operations_overview:
file: ../../observability/grafana/dashboards/operations_overview.json
dashboard_http_detail:
file: ../../observability/grafana/dashboards/http_detail.json
dashboard_logs:
file: ../../observability/grafana/dashboards/logs.json
dashboard_traces:
file: ../../observability/grafana/dashboards/traces.json
dashboard_event_bus:
file: ../../observability/grafana/dashboards/event_bus.json
dashboard_workers:
file: ../../observability/grafana/dashboards/workers.json
dashboard_storage:
file: ../../observability/grafana/dashboards/storage.json
dashboard_cluster:
file: ../../observability/grafana/dashboards/cluster.json
dashboard_noisy_neighbor_tenant_health:
file: ../../observability/grafana/dashboards/noisy_neighbor_tenant_health.json
dashboard_api_regression_deployment:
file: ../../observability/grafana/dashboards/api_regression_deployment.json
dashboard_storage_event_bus_bottlenecks:
file: ../../observability/grafana/dashboards/storage_event_bus_bottlenecks.json
dashboard_infrastructure_exhaustion:
file: ../../observability/grafana/dashboards/infrastructure_exhaustion.json
secrets:
grafana_admin_password:
external: true
networks:
public:
driver: overlay
internal:
driver: overlay