Системный журнал#

Доступ к системному журналу#

Стандартный вывод (stdout/stderr)#

  • При standalone-запуске логи Platform V Vector DB (далее - Vector DB) выводятся в консоль (если не перенаправлены).

  • Systemd логируются в journald (просмотр через):

    journalctl -u qdrant -f  # в реальном времени
    

Файлы логов#

По умолчанию логи не сохраняются на диск, но можно настроить в config.yaml:

log:
  level: info  # Уровень детализации (trace, debug, info, warn, error)
  log_file: "/var/log/qdrant.log"  # Путь к файлу лога

Основные события#

Уровень

Описание

Пример использования

trace

Максимальная детализация

Отладка сетевых запросов

debug

Техническая информация

Анализ работы индексов

info

Основные события

Запуск/остановка сервера, создание коллекций

warn

Предупреждения

Неоптимальные настройки

error

Критические ошибки

Ошибки чтения/записи на диск

Изменить уровень логирования можно с помощью:

  1. Переменной окружения:

    export RUST_LOG=info  # Уровень для всех компонентов
    ./qdrant
    
  2. Конфигурационного файла:

    log:
    level: debug
    

Основные события, отражаемые в логах:

  • запуск/остановка сервера;

  • создание/удаление коллекций;

  • изменение конфигурации.

Пример лога:

[2024-01-15T12:34:56Z INFO  qdrant] Starting Qdrant v1.8.0
[2024-01-15T12:35:00Z INFO  qdrant::storage] Created collection 'products'

Ошибки и предупреждения#

Ошибки и предупреждения:

  • Проблемы с диском (недостаточно места), например:

    [2024-01-15T12:40:00Z ERROR qdrant::storage] Failed to write segment: No space left on device`
    
  • Ошибки сетевых запросов.

  • Невалидные операции (например, попытка удаления несуществующей коллекции).

  • Время выполнения запросов, например:

    [2024-01-15T12:45:00Z DEBUG qdrant::search] Search query took 12ms
    
  • Использование памяти/CPU.

Настройка системного журнала#

Конфигурационный файл (config.yaml)#

Пример конфигурационного файла:

log:
  level: warn           # Только предупреждения и ошибки
  log_file: "/var/log/qdrant.log"
  rotation: daily       # Ротация логов (daily, hourly, never)
  format: json          # Формат вывода (text или json)

Переменные окружения#

Детальные логи для HTTP-запросов:

export RUST_LOG=qdrant=debug,actix_web=info
./qdrant

Просмотр логов#

В реальном времени#

Просмотр логов в реальном времени:

tail -f /var/log/qdrant.log

Фильтрация по уровню#

Фильтрация логов по уровню:

grep -E "ERROR|WARN" /var/log/qdrant.log

Интеграция с системами мониторинга#

Vector DB поддерживает:

  • Prometheus (метрики доступны на http://localhost:6333/metrics).

  • Grafana (готовые дашборды).

  • ELK Stack (если логи пишутся в JSON).

Пример настройки Filebeat для ELK:filebeat.inputs:

- type: log
  paths:
    - /var/log/qdrant.log
  json.keys_under_root: true

Очистка логов#

Ротация логов#

  • Используйте logrotate для Linux:

    sudo nano /etc/logrotate.d/qdrant
    

    Настройки:

    /var/log/qdrant.log
    {
        daily
        rotate 7
        compress
        missingok
    }
    

Ручная очистка#

Ручная очистка логов:

echo "" > /var/log/qdrant.log