From 5e6c4f8bfd27a03dbf0b4c869ef06dbc9ce76e7b Mon Sep 17 00:00:00 2001 From: Max Ronzhin Date: Wed, 29 Jul 2026 13:32:18 +0300 Subject: [PATCH] =?UTF-8?q?chore(monitoring):=20=D0=B3=D0=BB=D1=83=D0=B1?= =?UTF-8?q?=D0=B8=D0=BD=D0=B0=20=D0=BB=D0=BE=D0=B3=D0=BE=D0=B2=20=D0=B8=20?= =?UTF-8?q?=D1=81=D1=80=D0=BE=D0=BA=20=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BC=D0=B5=D1=82=D1=80=D0=B8=D0=BA=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=B4=20=D0=BD=D0=B0=D0=B1=D0=BB=D1=8E=D0=B4=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BD=D0=B5=D0=B4=D0=B5=D0=BB=D1=8F=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Готовим стенд к сбору статистики по реальным конференциям вместо разового нагрузочного теста. В прежней конфигурации данные не дожили бы до разбора. Логи: 10 МБ × 3 → 50 МБ × 5 на контейнер. При полусотне участников логи LiveKit перезаписывались за часы, а по ним восстанавливается то, чего нет в метриках: сколько камер работало одновременно, кого и почему отключило, как шли события congestion. Именно так был уточнён профиль теста 28.07 (оказалось 17 камер, а не 8). Prometheus: retention 15 суток (дефолт) → 30. Первые два флага в `command` дублируют дефолт образа намеренно — `command` перекрывает CMD целиком, без них Prometheus не найдёт конфиг. Расход: 250 МБ логов на контейнер и рост TSDB со 100 МБ; на сервере свободно 15 ГБ. --- deploy/docker-compose.yml | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index cddf0d0..978bda5 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -1,10 +1,17 @@ name: vidconf +# Глубина логов рассчитана на РАЗБОР ИНЦИДЕНТОВ, а не только на просмотр +# последних сообщений. При 10 МБ × 3 (прежнее значение) логи LiveKit на +# конференции в полсотни человек перезаписывались за часы — а именно по ним +# восстанавливаются вещи, которых нет в метриках: сколько камер было включено +# одновременно, кого и почему отключило, какие события congestion шли. +# 50 МБ × 5 = 250 МБ на контейнер; на сервере с 15 ГБ свободного места это +# незаметно, зато ретроспектива живёт неделями. x-logging: &default-logging driver: json-file options: - max-size: "10m" - max-file: "3" + max-size: "50m" + max-file: "5" services: postgres: @@ -664,6 +671,16 @@ services: # Тег закреплён по версии (не `:latest`) — та же причина, что и у llm-образов. image: prom/prometheus:v3.13.1 restart: unless-stopped + # Первые два флага — дефолт образа; повторяем их явно, потому что + # `command` перекрывает CMD целиком. Третий — срок хранения: дефолтных + # 15 суток мало, когда нагрузку набирают неделями (наблюдение за + # реальными конференциями вместо разового теста), и разбирать её потом + # приходится задним числом. 30 суток при нынешних 100 МБ TSDB стоят + # копеек — база растёт медленнее, чем кажется. + command: + - '--config.file=/etc/prometheus/prometheus.yml' + - '--storage.tsdb.path=/prometheus' + - '--storage.tsdb.retention.time=30d' volumes: - ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml:ro - ./monitoring/alerts.yml:/etc/prometheus/alerts.yml:ro