milvus-logo
LFAI
Home
  • Leitfaden für die Verwaltung
    • Überwachung, Warnungen und Protokolle

Zugriffsprotokolle konfigurieren

Die Zugriffsprotokollfunktion in Milvus ermöglicht es Servermanagern, das Zugriffsverhalten der Benutzer aufzuzeichnen und zu analysieren, um Aspekte wie die Erfolgsrate von Abfragen und die Gründe für Fehler zu verstehen.

Dieser Leitfaden enthält detaillierte Anweisungen zur Konfiguration von Zugriffsprotokollen in Milvus.

Die Konfiguration der Zugriffsprotokolle hängt von der Installationsmethode von Milvus ab:

Konfigurationsoptionen

Wählen Sie je nach Ihren Bedürfnissen zwischen drei Konfigurationsoptionen:

  • Basiskonfiguration: Für allgemeine Zwecke.
  • Konfiguration für lokale Zugriffsprotokolldateien: Für die lokale Speicherung von Protokollen.
  • Konfiguration für das Hochladen lokaler Zugriffsprotokolle zu MinIO: Für die Speicherung und Sicherung in der Cloud.

Basis-Konfiguration

Die Basiskonfiguration umfasst die Aktivierung von Zugriffsprotokollen und die Definition des Dateinamens für das Protokoll oder die Verwendung von stdout.

proxy:
  accessLog:
    enable: true
    # If `filename` is emtpy, logs will be printed to stdout.
    filename: ""
    # Additional formatter configurations...
  • proxy.accessLog.enable: Ob die Zugriffsprotokollfunktion aktiviert werden soll. Die Voreinstellung ist false.
  • proxy.accessLog.filename: Der Name der Zugriffsprotokolldatei. Wenn Sie diesen Parameter leer lassen, werden die Zugriffsprotokolle auf stdout ausgegeben.

Config für lokale Zugriffsprotokolldateien

Konfigurieren Sie die lokale Speicherung für Zugriffsprotokolldateien mit Parametern wie dem lokalen Dateipfad, der Dateigröße und dem Rotationsintervall:

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

Diese Parameter werden angegeben, wenn filename nicht leer ist.

  • proxy.accessLog.localPath: Der lokale Dateipfad, in dem die Zugriffsprotokolldatei gespeichert wird.
  • proxy.accessLog.maxSize: Die maximal zulässige Größe in MB für eine einzelne Zugriffsprotokolldatei. Wenn die Größe der Protokolldatei diese Grenze erreicht, wird ein Rotationsprozess ausgelöst. Dieser Prozess versiegelt die aktuelle Zugriffsprotokolldatei, erstellt eine neue Protokolldatei und löscht den Inhalt der ursprünglichen Protokolldatei.
  • proxy.accessLog.rotatedTime: Das maximale Zeitintervall in Sekunden, das für die Rotation einer einzelnen Zugriffsprotokolldatei zulässig ist. Bei Erreichen des angegebenen Zeitintervalls wird ein Rotationsprozess ausgelöst, der zur Erstellung einer neuen Zugriffsprotokolldatei und zur Versiegelung der vorherigen Datei führt.
  • proxy.accessLog.maxBackups: Die maximale Anzahl der versiegelten Zugriffsprotokolldateien, die aufbewahrt werden können. Wenn die Anzahl der versiegelten Zugriffsprotokolldateien diese Grenze überschreitet, wird die älteste Datei gelöscht.

Konfiguration für das Hochladen lokaler Zugriffsprotokolldateien zu MinIO

Aktivieren und konfigurieren Sie die Einstellungen zum Hochladen lokaler Zugriffsprotokolldateien zu 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...

Stellen Sie bei der Konfiguration der MinIO-Parameter sicher, dass Sie entweder maxSize oder rotatedTime eingestellt haben. Andernfalls kann der Upload lokaler Zugriffsprotokolldateien zu MinIO fehlschlagen.

  • proxy.accessLog.minioEnable: Ob lokale Zugriffsprotokolldateien zu MinIO hochgeladen werden sollen. Die Voreinstellung ist false.
  • proxy.accessLog.remotePath: Der Pfad des Objektspeichers für das Hochladen von Zugriffsprotokolldateien.
  • proxy.accessLog.remoteMaxTime: Das zulässige Zeitintervall für das Hochladen von Zugriffsprotokolldateien. Wenn die Hochladezeit einer Protokolldatei dieses Intervall überschreitet, wird die Datei gelöscht. Wird der Wert auf 0 gesetzt, wird diese Funktion deaktiviert.

Formatierungskonfiguration

Das Standardprotokollformat, das für alle Methoden verwendet wird, ist das Format base, das keine spezifischen Methodenzuordnungen erfordert. Wenn Sie jedoch die Protokollausgabe für bestimmte Methoden anpassen möchten, können Sie ein benutzerdefiniertes Protokollformat definieren und es auf die zugehörigen Methoden anwenden.

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: Definiert das Protokollformat mit dynamischen Metriken. Weitere Informationen finden Sie unter Unterstützte Metriken.
  • proxy.accessLog.<formatter_name>.methods: Listet die Milvus-Operationen auf, die diesen Formatierer verwenden. Um Methodennamen zu erhalten, siehe MilvusService in Milvus-Methoden.

Referenz: Unterstützte Metriken

Metrik NameBeschreibung
$method_nameName der Methode
$method_statusStatus des Zugriffs: OK oder Fehlgeschlagen
$method_exprFür Abfrage-, Such- oder Löschvorgänge verwendeter Ausdruck
$trace_idMit dem Zugriff verbundene TraceID
$user_addrIP-Adresse des Benutzers
$user_nameName des Benutzers
$response_sizeGröße der Antwortdaten
$error_codeFehlercode speziell für Milvus
$error_msgDetaillierte Fehlermeldung
$database_nameName der Milvus-Zieldatenbank
$collection_nameName der Milvus-Zielsammlung
$partition_nameName oder Namen der Milvus-Zielpartition(en)
$time_costZeit, die für die Beendigung des Zugriffs benötigt wurde
$time_nowZeitpunkt, zu dem das Zugriffsprotokoll gedruckt wird (entspricht in der Regel $time_end)
$time_startUhrzeit, zu der der Zugriff beginnt
$time_endUhrzeit, zu der der Zugriff endet
$sdk_versionVersion des vom Benutzer verwendeten Milvus-SDK

Übersetzt vonDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

War diese Seite hilfreich?