Files
home_automatization/.env.example
T
cacto 81040eec62 Добавлены метрики Prometheus и дашборды Grafana (этап 2.5)
Все три Go-сервиса (ingest, device-control, rule-engine) отдают
/metrics в формате Prometheus: счётчики MQTT/RabbitMQ/ClickHouse
операций, гистограммы длительности батч-флашей и диспатча правил,
переходы устройств online/offline. Добавлены сервисы prometheus и
grafana в docker-compose с провижининг конфигом (datasource +
два готовых дашборда: "Ingest & Telemetry" и "Automation & Devices").
2026-08-11 21:58:59 +05:00

66 lines
1.8 KiB
Bash

# --- PostgreSQL (users, zones, devices, device_types, automation_rules) ---
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_DB=home_automation
POSTGRES_USER=home_automation
POSTGRES_PASSWORD=change_me
# --- ClickHouse (telemetry, time-series) ---
CLICKHOUSE_HOST=clickhouse
CLICKHOUSE_HTTP_PORT=8123
CLICKHOUSE_NATIVE_PORT=9000
CLICKHOUSE_DB=telemetry
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=change_me
# --- Redis (device shadow: desired/reported state, status, last_seen) ---
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0
# --- RabbitMQ (async events between Go services) ---
RABBITMQ_HOST=rabbitmq
RABBITMQ_PORT=5672
RABBITMQ_MANAGEMENT_PORT=15672
RABBITMQ_USER=home_automation
RABBITMQ_PASSWORD=change_me
# --- Mosquitto (MQTT broker, device <-> ingest/device-control) ---
MQTT_HOST=mosquitto
MQTT_PORT=1883
# --- device-control-service (gRPC + HTTP) ---
DEVICE_CONTROL_GRPC_PORT=50051
DEVICE_CONTROL_HTTP_PORT=8090
DEVICE_CONTROL_MQTT_CLIENT_ID=device-control-service
DEVICE_CONTROL_HEALTHCHECK_TIMEOUT=60s
DEVICE_CONTROL_HEALTHCHECK_INTERVAL=15s
# --- ingest-service ---
INGEST_MQTT_CLIENT_ID=ingest-service
INGEST_MQTT_TOPIC=devices/+/telemetry
INGEST_BATCH_MAX_SIZE=500
INGEST_BATCH_FLUSH_INTERVAL=5s
INGEST_BATCH_FLUSH_TIMEOUT=10s
INGEST_METRICS_PORT=9101
# --- rule-engine-service ---
DEVICE_CONTROL_HOST=device-control-service
RULE_ENGINE_CACHE_REFRESH_INTERVAL=15s
RULE_ENGINE_METRICS_PORT=9102
# --- Laravel app (stage 2) ---
# Regenerate for anything beyond local dev: php artisan key:generate --show
APP_KEY=base64:bR7XdYPEJB20+lOd+mlpmuMMRJ/SVs69bHEmZrM2R90=
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost:8000
LARAVEL_HTTP_PORT=8000
# --- Prometheus + Grafana (stage 2.5) ---
PROMETHEUS_PORT=9090
GRAFANA_PORT=3000
GRAFANA_ADMIN_USER=admin
GRAFANA_ADMIN_PASSWORD=change_me