milvus-logo
LFAI
フロントページへ
  • 管理ガイド
    • 監視、アラート、ログ

アクセスログの設定

Milvusのアクセスログ機能を利用することで、サーバ管理者はユーザのアクセス状況を記録・分析し、クエリの成功率や失敗理由などを把握することができます。

本ガイドでは、Milvusにおけるアクセスログの設定方法について詳しく説明します。

アクセスログの設定は、Milvusのインストール方法によって異なります:

設定オプション

ニーズに応じて3つの設定オプションから選択します:

  • 基本設定:基本設定: 一般的な目的。
  • ローカルアクセスログファイル用設定:ログをローカルに保存します。
  • ローカルアクセスログをMinIOにアップロードするための設定:クラウドストレージおよびバックアップ用。

基本設定

基本設定では、アクセスログを有効にし、ログのファイル名を定義するか、標準出力を使用します。

proxy:
  accessLog:
    enable: true
    # If `filename` is emtpy, logs will be printed to stdout.
    filename: ""
    # Additional formatter configurations...
  • proxy.accessLog.enable:アクセスログ機能を有効にするかどうか。デフォルトはfalse
  • proxy.accessLog.filename:アクセスログのファイル名。このパラメータを空にすると、アクセスログは標準出力に出力されます。

ローカルアクセスログファイルの設定

ローカルファイルパス、ファイルサイズ、ローテーション間隔などのパラメータを使用して、アクセスログファイルのローカルストレージを設定します:

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

これらのパラメータは、filename が空でない場合に指定します。

  • proxy.accessLog.localPath:アクセスログファイルが保存されるローカルファイルパス。
  • proxy.accessLog.maxSize:1つのアクセスログファイルに許される最大サイズ(MB)。ログファイルのサイズがこの制限に達した場合、ローテーション処理が開始されます。この処理は、現在のアクセス・ログ・ファイルを封印し、新しいログ・ファイルを作成し、元のログ・ファイルの内容を消去します。
  • proxy.accessLog.rotatedTime:1つのアクセス・ログ・ファイルをローテーションするために許容される最大時間間隔を秒単位で指定します。指定された時間間隔に達すると、ローテーション処理がトリガーされ、新しいアクセスログファイルが作成され、前のアクセスログファイルが封印されます。
  • proxy.accessLog.maxBackups:封印されたアクセスログファイルの最大保持数。封印されたアクセスログファイルの数がこの上限を超えると、最も古いアクセスログファイルが削除されます。

ローカルアクセスログファイルのMinIOへのアップロード設定

ローカルアクセスログファイルを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...

MinIOパラメータを構成する場合、maxSize またはrotatedTime のいずれかを設定していることを確認する。この設定を行わないと、ローカルアクセスログファイルのMinIOへのアップロードに失敗する可能性がある。

  • proxy.accessLog.minioEnable:ローカルアクセスログファイルをMinIOにアップロードするかどうか。デフォルトはfalseです。
  • proxy.accessLog.remotePath:アクセスログファイルをアップロードするオブジェクトストレージのパス。
  • proxy.accessLog.remoteMaxTime:アクセスログファイルのアップロードに許可される時間間隔。ログファイルのアップロード時間がこの間隔を超えると、ファイルは削除されます。値を 0 に設定すると、この機能は無効になります。

フォーマッタ設定

すべてのメソッドで使われるデフォルトのログフォーマットはbase フォーマットで、特定のメソッドの関連付けを必要としません。しかし、特定のメソッドのログ出力をカスタマイズしたい場合は、カスタムログフォーマットを定義し、関連するメソッドに適用することができます。

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:ダイナミック・メトリクスを使用してログ・フォーマットを定義します。詳細は、「サポートされるメトリッ ク」を参照してください。
  • proxy.accessLog.<formatter_name>.methods:このフォーマッタを使用するMilvusオペレーションを一覧表示します。メソッド名を取得するには、Milvusメソッドの MilvusServiceを参照してください。

参照:サポートされているメトリクス

メトリック名説明
$method_nameメソッド名
$method_statusアクセスのステータス:OKまたは失敗
$method_exprクエリ、検索、または削除操作に使用される式
$trace_idアクセスに関連するTraceID
$user_addrユーザのIPアドレス
$user_nameユーザの名前
$response_sizeレスポンスデータのサイズ
$error_codeMilvus特有のエラーコード
$error_msg詳細エラーメッセージ
$database_name対象のMilvusデータベース名
$collection_name対象のMilvusコレクション名
$partition_name対象のMilvusパーティション名
$time_costアクセス完了までの時間
$time_nowアクセスログが出力された時刻 (通常$time_end と同じ)
$time_startアクセス開始時刻
$time_endアクセス終了時刻
$sdk_versionユーザが使用したMilvus SDKのバージョン

翻訳DeepL

Try Managed Milvus for Free

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

Get Started
フィードバック

このページは役に立ちましたか ?