# Bettornia - Logging Modul

Frissítve: 2025-11-23 (CET)

Ez a dokumentum írja le a Bettornia Logging modult:
Loki alapú központi log tároló, Promtail log agent, Grafana integrációval.

--------------------------------
1. CÉL
--------------------------------

- Minden Docker konténer logjának központi gyűjtése.
- Kereshető, szűrhető logok Grafanában (Loki datasource).
- Egyszerű, egy-node-os Loki telepítés.
- Promtail agent automatikus docker log gyűjtéssel.
- Monitoring integráció (Loki és Promtail metrikák Prometheus felé).

--------------------------------
2. KÖNYVTÁR / FÁJLOK
--------------------------------

Könyvtár: modules/logging/

Fő fájlok:

- modules/logging/docker-compose.yml
- modules/logging/loki-config.yml
- modules/logging/promtail-config.yml

Kapcsolódó monitoring fájlok:

- monitoring/grafana/provisioning/datasources/loki.yml
- monitoring/prometheus.yml  (Loki és Promtail scrape jobok)

Hálózat:

- bettornia_logging_core (external Docker network)
- Loki ezen felül rajta van a monitoring_core hálózaton is.

--------------------------------
3. DOCKER COMPOSE RÖVIDEN
--------------------------------

modules/logging/docker-compose.yml:

- loki
  - image: grafana/loki:3.1.0
  - port: 3100 (belső)
  - config: loki-config.yml
  - volume: loki_data
  - hálózatok: bettornia_logging_core, monitoring_core

- promtail
  - image: grafana/promtail:3.1.0
  - config: promtail-config.yml
  - mountok:
    - /var/log
    - /var/lib/docker/containers
    - /var/run/docker.sock
  - hálózat: bettornia_logging_core

Indítás:

cd /home/deploy/bettornia/modules/logging
docker compose up -d --build

--------------------------------
4. LOKI KONFIGURÁCIÓ
--------------------------------

Fájl: modules/logging/loki-config.yml

- Single-binary Loki, filesystem alapú tárolással.
- path_prefix: /loki
- chunks és index: /loki/chunks
- rules: /loki/rules
- tsdb alapú schema_config 2024-01-01-től.
- replication_factor: 1 (egy node).

--------------------------------
5. PROMTAIL KONFIGURÁCIÓ
--------------------------------

Fájl: modules/logging/promtail-config.yml

- HTTP port: 9080 (health / metrics).
- Loki kliens: http://loki:3100/loki/api/v1/push
- positions file: /tmp/positions.yaml
- scrape_configs:
  - docker-logs:
    - __path__: /varlib/docker/containers/*/*-json.log
    - job: docker-logs

--------------------------------
6. GRAFANA INTEGRÁCIÓ
--------------------------------

Datasource fájl: monitoring/grafana/provisioning/datasources/loki.yml

- Name: Loki
- Type: loki
- Access: proxy
- URL: http://loki:3100
- isDefault: false

Grafana indítás / újraindítás után az Explore menüben
megjelenik a Loki datasource, ahol logok kereshetők:

- pl. {job="docker-logs"}
- vagy {container="bettornia-caddy"} (később label alapján).

--------------------------------
7. MONITORING INTEGRÁCIÓ
--------------------------------

Prometheus scrape jobok (monitoring/prometheus.yml):

- job_name: "loki"
  - target: loki:3100

- job_name: "promtail"
  - target: logging-promtail:9080

Így a Loki és a Promtail metrikái
elérhetők Prometheusban és Grafanában is.

--------------------------------
8. ÜZEMELTETÉSI JEGYZETEK
--------------------------------

Indítás:

cd /home/deploy/bettornia/modules/logging
docker compose up -d --build

Állapot ellenőrzés:

docker ps | grep logging-

Promtail logok:

docker logs -f logging-promtail

Loki logok:

docker logs -f logging-loki

Grafana újraindítás (datasource provisioning):

cd /home/deploy/bettornia/monitoring
docker compose -f compose.monitoring.yml restart grafana

Prometheus reload:

docker compose -f compose.monitoring.yml exec prometheus kill -HUP 1
