milvus-logo
LFAI
Home
  • Guía de administración
    • Supervisión, alertas y registros

Configurar registros de acceso

La función de registro de acceso en Milvus permite a los administradores de servidores registrar y analizar el comportamiento de acceso de los usuarios, ayudando a comprender aspectos como las tasas de éxito de las consultas y las razones de los fallos.

Esta guía proporciona instrucciones detalladas para configurar los registros de acceso en Milvus.

La configuración de los registros de acceso depende del método de instalación de Milvus:

Opciones de configuración

Elija entre tres opciones de configuración en función de sus necesidades:

  • Base config: Para propósitos generales.
  • Configuración para archivos de registro de acceso local: Para almacenar registros localmente.
  • Configuración para subir los logs de acceso local a MinIO: Para almacenamiento en la nube y copias de seguridad.

Configuración básica

La configuración básica consiste en habilitar los registros de acceso y definir el nombre del archivo de registro o utilizar stdout.

proxy:
  accessLog:
    enable: true
    # If `filename` is emtpy, logs will be printed to stdout.
    filename: ""
    # Additional formatter configurations...
  • proxy.accessLog.enable: Habilitar o no la función de registro de acceso. Por defecto es false.
  • proxy.accessLog.filename: El nombre del archivo de registro de acceso. Si deja este parámetro vacío, los registros de acceso se imprimirán en stdout.

Configuración de archivos de registro de acceso locales

Configure el almacenamiento local para los archivos de registro de acceso con parámetros que incluyen la ruta del archivo local, el tamaño del archivo y el intervalo de rotación:

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...

Estos parámetros se especifican cuando filename no está vacío.

  • proxy.accessLog.localPath: La ruta del archivo local donde se almacena el archivo de registro de acceso.
  • proxy.accessLog.maxSize: El tamaño máximo en MB permitido para un único archivo de registro de acceso. Si el tamaño del archivo de registro alcanza este límite, se iniciará un proceso de rotación. Este proceso sella el archivo de registro de acceso actual, crea un nuevo archivo de registro y borra el contenido del archivo de registro original.
  • proxy.accessLog.rotatedTime: El intervalo de tiempo máximo en segundos permitido para rotar un único archivo de registro de acceso. Al alcanzar el intervalo de tiempo especificado, se desencadenará un proceso de rotación, que resultará en la creación de un nuevo archivo de registro de acceso y el sellado del anterior.
  • proxy.accessLog.maxBackups: El número máximo de archivos de registro de acceso sellados que se pueden conservar. Si el número de archivos de registro de acceso sellados supera este límite, se eliminará el más antiguo.

Configuración para cargar archivos de registro de acceso local en MinIO

Habilite y configure los parámetros para cargar archivos de registro de acceso local a 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...

Al configurar los parámetros de MinIO, asegúrese de haber establecido maxSize o rotatedTime. Si no lo hace, es posible que no se carguen correctamente los archivos de registro de acceso local en MinIO.

  • proxy.accessLog.minioEnable: Si desea cargar archivos de registro de acceso local a MinIO. Por defecto es false.
  • proxy.accessLog.remotePath: La ruta del objeto de almacenamiento para cargar los archivos de registro de acceso.
  • proxy.accessLog.remoteMaxTime: El intervalo de tiempo permitido para cargar archivos de registro de acceso. Si el tiempo de carga de un archivo de registro supera este intervalo, el archivo se eliminará. El valor 0 desactiva esta función.

Configuración del formateador

El formato de registro por defecto utilizado para todos los métodos es el formato base, que no requiere asociaciones específicas de métodos. Sin embargo, si desea personalizar la salida de registro para métodos específicos, puede definir un formato de registro personalizado y aplicarlo a los métodos asociados.

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: Define el formato de registro con métricas dinámicas. Para obtener más información, consulte Métricas admitidas.
  • proxy.accessLog.<formatter_name>.methods: Lista las operaciones Milvus que utilizan este formateador. Para obtener los nombres de los métodos, consulte MilvusService en Métodos Milvus.

Referencia: Métricas admitidas

Métrica NombreDescripción
$method_nameNombre del método
$method_statusEstado del acceso: OK o Fail
$method_exprExpresión utilizada para las operaciones de consulta, búsqueda o eliminación
$trace_idTraceID asociado al acceso
$user_addrDirección IP del usuario
$user_nameNombre del usuario
$response_sizeTamaño de los datos de respuesta
$error_codeCódigo de error específico de Milvus
$error_msgMensaje de error detallado
$database_nameNombre de la base de datos Milvus de destino
$collection_nameNombre de la colección Milvus de destino
$partition_nameNombre o nombres de la(s) partición(es) Milvus de destino
$time_costTiempo necesario para completar el acceso
$time_nowHora a la que se imprime el registro de acceso (normalmente equivalente a $time_end)
$time_startHora de inicio del acceso
$time_endHora a la que finaliza el acceso
$sdk_versionVersión del SDK de Milvus utilizada por el usuario

Traducido porDeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

¿Fue útil esta página?