milvus-logo
LFAI
Casa
  • Guida all'amministrazione
    • Monitoraggio, avvisi e registri

Configurazione dei registri di accesso

La funzione di log degli accessi di Milvus consente ai gestori dei server di registrare e analizzare il comportamento degli utenti, aiutando a comprendere aspetti come la percentuale di successo delle query e i motivi dei fallimenti.

Questa guida fornisce istruzioni dettagliate sulla configurazione dei log di accesso in Milvus.

La configurazione dei log di accesso dipende dal metodo di installazione di Milvus:

Opzioni di configurazione

Scegliete tra tre opzioni di configurazione in base alle vostre esigenze:

  • Configurazione di base: Per scopi generali.
  • Configurazione per i file di log ad accesso locale: Per memorizzare i log a livello locale.
  • Configurazione per il caricamento dei registri di accesso locali su MinIO: Per l'archiviazione e il backup nel cloud.

Configurazione di base

La configurazione di base prevede l'abilitazione dei log di accesso e la definizione del nome del file di log o l'utilizzo di stdout.

proxy:
  accessLog:
    enable: true
    # If `filename` is emtpy, logs will be printed to stdout.
    filename: ""
    # Additional formatter configurations...
  • proxy.accessLog.enable: Abilita o meno la funzione di log degli accessi. L'impostazione predefinita è false.
  • proxy.accessLog.filename: Il nome del file di log degli accessi. Se si lascia vuoto questo parametro, i log degli accessi verranno stampati su stdout.

Configurazione dei file di log di accesso locali

Configura la memorizzazione locale dei file di log degli accessi con parametri quali il percorso del file locale, la dimensione del file e l'intervallo di rotazione:

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

Questi parametri sono specificati quando filename non è vuoto.

  • proxy.accessLog.localPath: Il percorso del file locale in cui viene memorizzato il file di log degli accessi.
  • proxy.accessLog.maxSize: La dimensione massima in MB consentita per un singolo file di log degli accessi. Se la dimensione del file di log raggiunge questo limite, viene attivato un processo di rotazione. Questo processo sigilla il file di log di accesso corrente, crea un nuovo file di log e cancella il contenuto del file di log originale.
  • proxy.accessLog.rotatedTime: L'intervallo di tempo massimo in secondi consentito per la rotazione di un singolo file di log degli accessi. Al raggiungimento dell'intervallo di tempo specificato, viene attivato un processo di rotazione che porta alla creazione di un nuovo file di log degli accessi e alla chiusura di quello precedente.
  • proxy.accessLog.maxBackups: Numero massimo di file di log di accesso sigillati che possono essere conservati. Se il numero di file di log di accesso sigillati supera questo limite, il più vecchio verrà eliminato.

Configurazione per il caricamento dei file di log degli accessi locali su MinIO

Abilitare e configurare le impostazioni per caricare i file di log degli accessi locali su 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...

Quando si configurano i parametri di MinIO, assicurarsi di aver impostato maxSize o rotatedTime. In caso contrario, il caricamento dei file di log degli accessi locali su MinIO potrebbe non andare a buon fine.

  • proxy.accessLog.minioEnable: Se caricare o meno i file di log degli accessi locali in MinIO. L'impostazione predefinita è false.
  • proxy.accessLog.remotePath: Il percorso dell'oggetto di memorizzazione per il caricamento dei file di log degli accessi.
  • proxy.accessLog.remoteMaxTime: L'intervallo di tempo consentito per il caricamento dei file di log degli accessi. Se il tempo di caricamento di un file di log supera questo intervallo, il file viene eliminato. L'impostazione del valore a 0 disabilita questa funzione.

Configurazione del formato

Il formato di registro predefinito utilizzato per tutti i metodi è il formato base, che non richiede associazioni specifiche al metodo. Tuttavia, se si desidera personalizzare l'output del log per metodi specifici, è possibile definire un formato di log personalizzato e applicarlo ai metodi associati.

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: Definisce il formato di log con metriche dinamiche. Per ulteriori informazioni, vedere Metriche supportate.
  • proxy.accessLog.<formatter_name>.methods: Elenca le operazioni Milvus che utilizzano questo formattatore. Per ottenere i nomi dei metodi, vedere MilvusService in Metodi Milvus.

Riferimento: Metriche supportate

Metrica NomeDescrizione
$method_nameNome del metodo
$method_statusStato dell'accesso: OK o non riuscito
$method_exprEspressione utilizzata per le operazioni di interrogazione, ricerca o cancellazione
$trace_idTraceID associato all'accesso
$user_addrIndirizzo IP dell'utente
$user_nameNome dell'utente
$response_sizeDimensione dei dati di risposta
$error_codeCodice di errore specifico di Milvus
$error_msgMessaggio di errore dettagliato
$database_nameNome del database Milvus di destinazione
$collection_nameNome della collezione Milvus di destinazione
$partition_nameNome o nomi delle partizioni Milvus di destinazione
$time_costTempo impiegato per completare l'accesso
$time_nowOra in cui viene stampato il log degli accessi (di solito equivalente a $time_end)
$time_startOra di inizio dell'accesso
$time_endOra in cui l'accesso termina
$sdk_versionVersione dell'SDK Milvus utilizzata dall'utente

Tradotto daDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

Questa pagina è stata utile?