milvus-logo
LFAI
Home
  • Guia de Administração
    • Monitorização, alertas e registos

Configurar Logs de Acesso

A funcionalidade de registo de acesso no Milvus permite aos gestores de servidores registar e analisar o comportamento de acesso dos utilizadores, ajudando a compreender aspectos como as taxas de sucesso das consultas e as razões das falhas.

Este guia fornece instruções detalhadas sobre a configuração dos registos de acesso no Milvus.

A configuração dos registos de acesso depende do método de instalação do Milvus:

Opções de configuração

Escolha entre três opções de configuração com base nas suas necessidades:

  • Configuração básica: Para fins gerais.
  • Configuração para ficheiros de registo de acesso local: Para armazenar os registos localmente.
  • Configuração para carregar os registos de acesso local para o MinIO: Para armazenamento e backup na nuvem.

Configuração de base

A configuração básica envolve a ativação dos registos de acesso e a definição do nome do ficheiro de registo ou a utilização de stdout.

proxy:
  accessLog:
    enable: true
    # If `filename` is emtpy, logs will be printed to stdout.
    filename: ""
    # Additional formatter configurations...
  • proxy.accessLog.enable: Se deve ativar a funcionalidade de registo de acesso. A predefinição é falso.
  • proxy.accessLog.filename: O nome do ficheiro de registo de acesso. Se deixar este parâmetro vazio, os registos de acesso serão impressos no stdout.

Configuração para ficheiros de registo de acesso local

Configurar o armazenamento local para ficheiros de registo de acesso com parâmetros que incluem o caminho do ficheiro local, o tamanho do ficheiro e o intervalo de rotação:

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

Estes parâmetros são especificados quando filename não está vazio.

  • proxy.accessLog.localPath: O caminho do ficheiro local onde o ficheiro de registo de acesso é armazenado.
  • proxy.accessLog.maxSize: O tamanho máximo em MB permitido para um único ficheiro de registo de acesso. Se o tamanho do ficheiro de registo atingir este limite, será desencadeado um processo de rotação. Este processo sela o ficheiro de registo de acesso atual, cria um novo ficheiro de registo e limpa o conteúdo do ficheiro de registo original.
  • proxy.accessLog.rotatedTime: O intervalo de tempo máximo em segundos permitido para rodar um único ficheiro de registo de acesso. Ao atingir o intervalo de tempo especificado, é desencadeado um processo de rotação, resultando na criação de um novo ficheiro de registo de acesso e na selagem do anterior.
  • proxy.accessLog.maxBackups: O número máximo de ficheiros de registo de acesso selados que podem ser retidos. Se o número de ficheiros de registo de acesso selados exceder este limite, o mais antigo será apagado.

Configuração para carregar ficheiros de registo de acesso local para o MinIO

Ativar e configurar definições para carregar ficheiros de registo de acesso local para o 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...

Ao configurar os parâmetros do MinIO, certifique-se de que definiu maxSize ou rotatedTime. Se não o fizer, pode resultar em carregamentos mal sucedidos de ficheiros de registo de acesso local para o MinIO.

  • proxy.accessLog.minioEnable: Se deve carregar ficheiros de registo de acesso local para o MinIO. O padrão é falso.
  • proxy.accessLog.remotePath: O caminho do armazenamento de objectos para carregar ficheiros de registo de acesso.
  • proxy.accessLog.remoteMaxTime: O intervalo de tempo permitido para carregar ficheiros de registo de acesso. Se o tempo de carregamento de um ficheiro de registo exceder este intervalo, o ficheiro será eliminado. Definir o valor para 0 desactiva esta funcionalidade.

Configuração do formatador

O formato de registo predefinido utilizado para todos os métodos é o formato base, que não requer associações de métodos específicas. No entanto, se pretender personalizar a saída de registo para métodos específicos, pode definir um formato de registo personalizado e aplicá-lo aos métodos associados.

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 o formato de registo com métricas dinâmicas. Para obter mais informações, consulte Métricas suportadas.
  • proxy.accessLog.<formatter_name>.methods: Lista as operações do Milvus que utilizam este formatador. Para obter os nomes dos métodos, consulte MilvusService em Métodos Milvus.

Referência: Métricas suportadas

Métrica NomeDescrição
$method_nameNome do método
$method_statusEstado do acesso: OK ou Falha
$method_exprExpressão utilizada para operações de consulta, pesquisa ou eliminação
$trace_idTraceID associado ao acesso
$user_addrEndereço IP do utilizador
$user_nameNome do utilizador
$response_sizeTamanho dos dados de resposta
$error_codeCódigo de erro específico do Milvus
$error_msgMensagem de erro pormenorizada
$database_nameNome da base de dados Milvus de destino
$collection_nameNome da coleção Milvus de destino
$partition_nameNome ou nomes da(s) partição(ões) Milvus de destino
$time_costTempo necessário para completar o acesso
$time_nowHora em que o registo de acesso é impresso (geralmente equivalente a $time_end)
$time_startHora de início do acesso
$time_endHora em que o acesso termina
$sdk_versionVersão do Milvus SDK utilizada pelo utilizador

Traduzido porDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

Esta página foi útil?