milvus-logo
LFAI
Home
  • Guide d'administration
    • Surveillance, alertes et journaux

Configuration des journaux d'accès

La fonction de journal des accès de Milvus permet aux gestionnaires de serveurs d'enregistrer et d'analyser le comportement des utilisateurs en matière d'accès, ce qui permet de comprendre des aspects tels que les taux de réussite des requêtes et les raisons des échecs.

Ce guide fournit des instructions détaillées sur la configuration des journaux d'accès dans Milvus.

La configuration des journaux d'accès dépend de la méthode d'installation de Milvus :

Options de configuration

Choisissez parmi trois options de configuration en fonction de vos besoins :

  • Configuration de base: Pour les besoins généraux.
  • Config pour les fichiers journaux d'accès local: Pour stocker les journaux localement.
  • Configuration pour le téléchargement des journaux d'accès locaux vers MinIO: Pour le stockage et la sauvegarde dans le nuage.

Configuration de base

La configuration de base consiste à activer les journaux d'accès et à définir le nom du fichier journal ou à utiliser stdout.

proxy:
  accessLog:
    enable: true
    # If `filename` is emtpy, logs will be printed to stdout.
    filename: ""
    # Additional formatter configurations...
  • proxy.accessLog.enable: Activation ou non de la fonction de journal d'accès. La valeur par défaut est false.
  • proxy.accessLog.filename: Le nom du fichier journal d'accès. Si vous laissez ce paramètre vide, les journaux d'accès seront imprimés sur stdout.

Configuration des fichiers journaux d'accès locaux

Configurez le stockage local des fichiers journaux d'accès avec des paramètres tels que le chemin d'accès au fichier local, la taille du fichier et l'intervalle de rotation :

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

Ces paramètres sont spécifiés lorsque filename n'est pas vide.

  • proxy.accessLog.localPath: Le chemin d'accès au fichier local où le fichier journal d'accès est stocké.
  • proxy.accessLog.maxSize: La taille maximale en Mo autorisée pour un seul fichier journal d'accès. Si la taille du fichier journal atteint cette limite, un processus de rotation est déclenché. Ce processus scelle le fichier journal d'accès actuel, crée un nouveau fichier journal et efface le contenu du fichier journal d'origine.
  • proxy.accessLog.rotatedTime: Intervalle de temps maximum en secondes autorisé pour la rotation d'un seul fichier journal d'accès. Lorsque l'intervalle de temps spécifié est atteint, un processus de rotation est déclenché, ce qui entraîne la création d'un nouveau fichier journal d'accès et le scellement du précédent.
  • proxy.accessLog.maxBackups: Nombre maximal de fichiers journaux d'accès scellés pouvant être conservés. Si le nombre de fichiers journaux d'accès scellés dépasse cette limite, le plus ancien sera supprimé.

Configuration du téléchargement des fichiers journaux d'accès locaux vers MinIO

Activez et configurez les paramètres pour télécharger les fichiers journaux d'accès locaux vers 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...

Lors de la configuration des paramètres de MinIO, assurez-vous que vous avez défini maxSize ou rotatedTime. Si vous ne le faites pas, le téléchargement des fichiers journaux d'accès locaux vers MinIO risque d'échouer.

  • proxy.accessLog.minioEnable: Indique si les fichiers journaux d'accès locaux doivent être téléchargés vers MinIO. La valeur par défaut est false.
  • proxy.accessLog.remotePath: Le chemin d'accès au stockage d'objets pour le téléchargement des fichiers journaux d'accès.
  • proxy.accessLog.remoteMaxTime: L'intervalle de temps autorisé pour le téléchargement des fichiers journaux d'accès. Si le temps de téléchargement d'un fichier journal dépasse cet intervalle, le fichier sera supprimé. La valeur 0 désactive cette fonctionnalité.

Formatter config

Le format d'enregistrement par défaut utilisé pour toutes les méthodes est le format base, qui ne nécessite pas d'associations de méthodes spécifiques. Toutefois, si vous souhaitez personnaliser la sortie du journal pour des méthodes spécifiques, vous pouvez définir un format de journal personnalisé et l'appliquer aux méthodes associées.

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: Définit le format de journalisation avec des métriques dynamiques. Pour plus d'informations, voir Métriques prises en charge.
  • proxy.accessLog.<formatter_name>.methods: Liste les opérations Milvus utilisant ce formateur. Pour obtenir les noms des méthodes, voir MilvusService dans Méthodes Milvus.

Référence : Métriques prises en charge

Nom de la métriqueDescription
$method_nameNom de la méthode
$method_statusStatut de l'accès : OK ou Échec
$method_exprExpression utilisée pour les opérations d'interrogation, de recherche ou de suppression
$trace_idTraceID associé à l'accès
$user_addrAdresse IP de l'utilisateur
$user_nameNom de l'utilisateur
$response_sizeTaille des données de la réponse
$error_codeCode d'erreur spécifique à Milvus
$error_msgMessage d'erreur détaillé
$database_nameNom de la base de données Milvus cible
$collection_nameNom de la collection Milvus cible
$partition_nameNom de la ou des partition(s) Milvus cible(s)
$time_costTemps nécessaire pour terminer l'accès
$time_nowHeure d'impression du journal d'accès (généralement équivalent à $time_end)
$time_startHeure de début de l'accès
$time_endHeure de fin de l'accès
$sdk_versionVersion du Milvus SDK utilisée par l'utilisateur

Traduit parDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

Cette page a-t - elle été utile ?