diff --git a/data/browser_events.jsonl b/data/browser_events.jsonl old mode 100755 new mode 100644 diff --git a/data/device_events.jsonl b/data/device_events.jsonl old mode 100755 new mode 100644 diff --git a/data/geo_events.jsonl b/data/geo_events.jsonl old mode 100755 new mode 100644 diff --git a/data/location_events.jsonl b/data/location_events.jsonl old mode 100755 new mode 100644 diff --git a/docker-compose.yml b/docker-compose.yml index 9a7af85..64402a2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -193,14 +193,13 @@ services: grafana: image: grafana/grafana:11.5.2-ubuntu - user: root depends_on: - prometheus ports: - 3000:3000 volumes: - grafana_lib:/var/lib/grafana - - ./configs/grafana/provisioning/:/etc/grafana/provisioning/ + - ./configs/grafana/provisioning/:/etc/grafana/provisioning/:ro # container_name: grafana # hostname: grafana restart: unless-stopped diff --git a/docs/DE-task.md b/docs/DE-task.md old mode 100755 new mode 100644 diff --git a/docs/OPERATIONS.md b/docs/OPERATIONS.md index 188804d..5a4d768 100644 --- a/docs/OPERATIONS.md +++ b/docs/OPERATIONS.md @@ -258,5 +258,30 @@ curl -s -X POST -u admin:admin http://localhost:3000/api/admin/provisioning/aler ## Troubleshooting - `etl_pipeline` падает с ошибкой схемы: сначала запустить `ddl_init`. +- `git pull` падает с `Permission denied` на `data/*` или `configs/grafana/provisioning/*`: + - Причина: локально есть файлы/каталоги не вашего пользователя (часто после запуска контейнеров с root-пользователем). + - Диагностика: + ```bash + ls -ld data configs/grafana/provisioning + ls -l data | head -n 20 + ``` + - Быстрое восстановление: + ```bash + # Владелец и права для рабочей копии репозитория + sudo chown -R "$USER:$USER" . + find . -type d -exec chmod u+rwx {} \; + find . -type f -exec chmod u+rw {} \; + ``` + - После восстановления повторить `git pull --ff-only`. + - Не запускать `git` через `sudo`. +- `grafana` перезапускается с ошибкой `attempt to write a readonly database`: + - Причина: старый `grafana_lib` содержит `grafana.db`, созданный root-пользователем. + - Простой recovery (сбросить только volume Grafana): + ```bash + docker compose stop grafana + docker volume ls | grep grafana_lib + docker volume rm _grafana_lib + docker compose up -d grafana + ``` - После `docker compose down -v` нужно повторно прогнать: `ddl_init` -> `kafka_load` -> `etl_pipeline`. - Для демо по умолчанию использовать малый срез данных; полный прогон делать осознанно.