• О Милвусе
  • Начать
  • Концепции
  • Руководство пользователя
  • Импорт данных
  • Инструменты искусственного интеллекта
  • Руководство по администрированию
  • Инструменты
  • Интеграции
  • Учебники
  • Вопросы и ответы
  • API Reference

Настройка журналов доступа

Функция журнала доступа в Milvus позволяет менеджерам серверов записывать и анализировать поведение пользователей при доступе, помогая понять такие аспекты, как частота успешных запросов и причины отказов.

В этом руководстве приведены подробные инструкции по настройке журналов доступа в Milvus.

Конфигурация журналов доступа зависит от метода установки Milvus:

Варианты конфигурации

Выберите один из трех вариантов конфигурации в зависимости от ваших потребностей:

  • Базовая конфигурация: Для общих целей.
  • Конфигурация для файлов журналов локального доступа: Для локального хранения журналов.
  • Конфигурация для загрузки локальных журналов доступа в MinIO: Для облачного хранения и резервного копирования.

Базовая конфигурация

Базовая конфигурация включает в себя включение журналов доступа и определение имени файла журнала или использование stdout.

proxy:
  accessLog:
    enable: true
    # If `filename` is emtpy, logs will be printed to stdout.
    filename: ""
    # Additional formatter configurations...
  • proxy.accessLog.enable: Включать ли функцию журнала доступа. По умолчанию false.
  • proxy.accessLog.filename: Имя файла журнала доступа. Если оставить этот параметр пустым, журналы доступа будут выводиться в stdout.

Настройка локальных файлов журнала доступа

Настройка локального хранения файлов журнала доступа с параметрами, включающими путь к локальному файлу, размер файла и интервал ротации:

proxy:
  accessLog:
    enable: true
    filename: "access_log.txt" # Name of the access log file
    localPath: "/var/logs/milvus" # Local file path where the access log file is stored
    maxSize: 500 # Max size for each single access log file. Unit: MB
    rotatedTime: 24 # Time interval for log rotation. Unit: seconds
    maxBackups: 7 # Max number of sealed access log files that can be retained
    # Additional formatter configurations...

Эти параметры задаются, если filename не пуст.

  • proxy.accessLog.localPath: Путь к локальному файлу, где хранится файл журнала доступа.
  • proxy.accessLog.maxSize: : Максимальный размер в МБ, допустимый для одного файла журнала доступа. Если размер файла журнала достигнет этого предела, будет запущен процесс ротации. Этот процесс запечатывает текущий файл журнала доступа, создает новый файл журнала и очищает содержимое исходного файла журнала.
  • proxy.accessLog.rotatedTime: Максимальный интервал времени в секундах, допустимый для ротации одного файла журнала доступа. По достижении указанного интервала времени запускается процесс ротации, в результате которого создается новый файл журнала доступа и запечатывается предыдущий.
  • proxy.accessLog.maxBackups: Максимальное количество опечатанных файлов журнала доступа, которое может быть сохранено. Если количество опечатанных файлов журнала доступа превысит этот предел, самый старый из них будет удален.

Настройка выгрузки локальных файлов журналов доступа в MinIO

Включите и настройте параметры для загрузки локальных файлов журналов доступа в MinIO:

proxy:
  accessLog:
    enable: true
    filename: "access_log.txt"
    localPath: "/var/logs/milvus"
    maxSize: 500
    rotatedTime: 24 
    maxBackups: 7
    minioEnable: true
    remotePath: "/milvus/logs/access_logs"
    remoteMaxTime: 0
    # Additional formatter configurations...

При настройке параметров MinIO убедитесь, что вы установили либо maxSize, либо rotatedTime. Невыполнение этого требования может привести к неудачной загрузке локальных файлов журнала доступа в MinIO.

  • proxy.accessLog.minioEnable: Загружать ли локальные файлы журналов доступа в MinIO. По умолчанию false.
  • proxy.accessLog.remotePath: Путь к хранилищу объектов для загрузки файлов журналов доступа.
  • proxy.accessLog.remoteMaxTime: : Интервал времени, допустимый для загрузки файлов журнала доступа. Если время загрузки файла журнала превышает этот интервал, файл будет удален. Установка значения 0 отключает эту функцию.

Настройка форматера

По умолчанию для всех методов используется формат журнала base, который не требует специальных ассоциаций методов. Однако, если вы хотите настроить вывод журнала для определенных методов, вы можете определить собственный формат журнала и применить его к связанным методам.

proxy:
  accessLog:
    enable: true
    filename: "access_log.txt"
    localPath: "/var/logs/milvus"
    # Define custom formatters for access logs with format and applicable methods
    formatters:
      # The `base` formatter applies to all methods by default
      # The `base` formatter does not require specific method association
      base: 
        # Format string; an empty string means no log output
        format: "[$time_now] [ACCESS] <$user_name: $user_addr> $method_name-$method_status-$error_code [traceID: $trace_id] [timeCost: $time_cost]"
      # Custom formatter for specific methods (e.g., Query, Search)
      query: 
        format: "[$time_now] [ACCESS] <$user_name: $user_addr> $method_status-$method_name [traceID: $trace_id] [timeCost: $time_cost] [database: $database_name] [collection: $collection_name] [partitions: $partition_name] [expr: $method_expr]"
        # Specify the methods to which this custom formatter applies
        methods: ["Query", "Search"]
  • proxy.accessLog.<formatter_name>.format: Определяет формат журнала с динамическими метриками. Дополнительные сведения см. в разделе Поддерживаемые метрики.
  • proxy.accessLog.<formatter_name>.methods: Перечисляет операции Milvus, использующие данный формат. Чтобы получить имена методов, см. раздел MilvusService в разделе Методы Milvus.

Ссылка: Поддерживаемые метрики

Метрика ИмяОписание
$method_nameИмя метода
$method_statusСтатус доступа: OK или Fail
$method_exprВыражение, используемое для операций запроса, поиска или удаления
$trace_idИдентификатор трассировки, связанный с доступом
$user_addrIP-адрес пользователя
$user_nameИмя пользователя
$response_sizeРазмер данных ответа
$error_codeКод ошибки, характерный для Milvus
$error_msgПодробное сообщение об ошибке
$database_nameИмя целевой базы данных Milvus
$collection_nameИмя целевой коллекции Milvus
$partition_nameИмя или имена целевого раздела (разделов) Milvus
$time_costВремя, затраченное на завершение доступа
$time_nowВремя, в которое печатается журнал доступа (обычно эквивалентно $time_end)
$time_startВремя начала доступа
$time_endВремя окончания доступа
$sdk_versionВерсия Milvus SDK, используемая пользователем

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?