すべてのプロダクト
Search
ドキュメントセンター

Elasticsearch:logstash-output-oss プラグインの使用

最終更新日:Apr 03, 2025

logstash-output-oss プラグインを使用すると、Object Storage Service (OSS) にデータを転送できます。このトピックでは、logstash-output-oss プラグインの使用方法について説明します。

説明

logstash-output-oss は、Alibaba Cloud によってメンテナンスされているオープンソースのプラグインです。詳細については、「logstash-output-oss」をご参照ください。

前提条件

  • logstash-output-oss プラグインがインストールされていること。

    詳細については、「プラグインのインストールと削除」をご参照ください。

  • OSS が有効化されていること。

    詳細については、「OSS の有効化」をご参照ください。

  • 読み取り/書き込み OSS バケットが作成されていること。OSS バケットへの書き込み権限を持つアカウントの AccessKey ID と AccessKey シークレットを取得していること。

    詳細については、「バケットの作成」をご参照ください。

  • データソースが準備されていること。

    データソースは、サポートされているすべての入力プラグインから選択できます。詳細については、「入力プラグイン」をご参照ください。

logstash-output-oss アプリケーション

前提条件が満たされたら、構成ファイルを使用したパイプラインの管理に記載されている手順に基づいてパイプラインを作成できます。パイプラインを作成する際は、「パラメーター」セクションの表に記載されている説明に基づいてパイプラインパラメーターを構成します。パラメーターを構成したら、設定を保存してパイプラインをデプロイする必要があります。その後、Alibaba Cloud Logstash がトリガーされ、データソースから OSS にデータが転送されます。

Beats から OSS にデータを転送する例を次に示します。

input {
  beats {
    port => "8044"
    codec => json {
      charset => "UTF-8"

  }
}
output {
   oss {
    endpoint => "http://oss-cn-hangzhou-internal.aliyuncs.com"              // OSS のエンドポイント
    bucket => "zl-log-output-test"                          // OSS バケット名
    access_key_id => "LTAI****************"                 // AccessKey ID
    access_key_secret => "yourAccessKeySecret"         // AccessKey シークレット
    prefix => "oss/database"                         // ファイル名のプレフィックス
    recover => true                                      // プログラムが異常終了した場合に、オンプレミス マシン上のデータのアップロードを続行するかどうかを指定します
    rotation_strategy => "size_and_time"                  // ファイルローテーション戦略
    time_rotate => 1                                     // ファイルのライフサイクルが time_rotate の値以上の場合、OSS はファイルのローリング アップデートを実行します
    size_rotate => 1000                                   // ファイルのサイズが size_rotate の値以上の場合、OSS はファイルのローリング アップデートを実行します
    temporary_directory => "/ssd/1/<Logstash cluster ID>/logstash/data/22"                            // データを OSS にアップロードする前にデータをキャッシュするために使用する一時ディレクトリ
    encoding => "gzip"                                 // OSS にファイルをアップロードする前にメッセージをエンコードするために使用されるメソッド
    additional_oss_settings => {
      max_connections_to_oss => 1024                      // OSS への最大接続数
      secure_connection_enabled => false                  // HTTPS を有効にするかどうかを指定します
    }
    codec => json {
      charset => "UTF-8"
    }
  }
}
説明

Alibaba Cloud Logstash は、VPC 内でのみデータ転送をサポートしています。ソースデータがインターネット上にある場合は、インターネット経由で Alibaba Cloud Logstash にアクセスするように NAT ゲートウェイを構成します。詳細については、「インターネット経由のデータ転送用の NAT ゲートウェイの構成」をご参照ください。

パラメーター

次の表は、logstash-output-oss でサポートされているパラメーターについて説明しています。

パラメーター

タイプ

必須

説明

endpoint

文字列

はい

OSS にアクセスするために使用するエンドポイント。詳細については、「リージョンとエンドポイント」をご参照ください。

bucket

文字列

はい

OSS バケットの名前。

access_key_id

文字列

はい

OSS バケットへの書き込み権限を持つアカウントの AccessKey ID。

access_key_secret

文字列

はい

OSS バケットへの書き込み権限を持つアカウントの AccessKey シークレット。

prefix

文字列

いいえ

ファイル名のプレフィックス。このパラメーターを指定しない場合、デフォルトでは空になります。

重要

このパラメーターを文字列に設定できます。この場合、オンプレミス マシン上に多数の一時ファイルが作成される可能性があります。

recover

ブール値

いいえ

プログラムが異常終了した場合に、オンプレミス マシン上のデータのアップロードを続行するかどうかを指定します。デフォルト値:true。

additional_oss_settings

ハッシュ

いいえ

追加の OSS クライアント構成。有効な値:

  • server_side_encryption_algorithm: サーバー側暗号化方式。AES-256 のみがサポートされています。

  • secure_connection_enabled: HTTPS を有効にするかどうかを指定します。デフォルト値:false。

  • max_connections_to_oss: 最大接続数。デフォルト値:1024。

temporary_directory

文字列

はい

データを OSS にアップロードする前にデータをキャッシュするために使用する一時ディレクトリ。/ssd/1/<Logstash クラスター ID>/logstash/data/<カスタマイズ> に設定します。データ転送タスクが完了すると、ディレクトリは数秒以内に削除されます。

rotation_strategy

文字列

いいえ

ファイルローテーション戦略。有効な値:sizetimesize_and_time。デフォルト値:size_and_time。

size_rotate

数値

いいえ

ファイルのサイズが size_rotate の値以上の場合、OSS はファイルのローリング アップデートを実行します。このパラメーターは、rotation_strategy が size に設定されている場合にのみ有効です。デフォルト値:31457280。単位:バイト。

time_rotate

数値

いいえ

ファイルのライフサイクルが time_rotate の値以上の場合、OSS はファイルのローリング アップデートを実行します。このパラメーターは、rotation_strategy が time に設定されている場合にのみ有効です。デフォルト値:15。単位:分。

upload_workers_count

数値

いいえ

同時にデータのアップロードに使用するスレッドの数。

upload_queue_size

数値

いいえ

アップロードキューのサイズ。

encoding

文字列

いいえ

OSS にファイルをアップロードする前にメッセージをエンコードするために使用されるメソッド。標準圧縮と GZIP 圧縮の両方がサポートされています。有効な値:gzip および none。デフォルト値:none。

一時ファイル

logstash-output-oss プラグインが OSS にデータを転送すると、プラグインはオンプレミス マシン上に一時ファイルを作成します。データはこのファイルに一時的に保存されます。logstash-output-oss プラグインは、定期的に OSS にデータを転送します。パスに関する特定の要件がある場合は、temporary_directory パラメーターを使用して一時ファイルのパスを指定できます。

一時ファイルパスの例を次に示します。

/ssd/1/<Logstash cluster ID>/logstash/data/eaced620-e972-0136-2a14-02b7449b****/logstash/1/ls.oss.eaced620-e972-0136-2a14-02b7449b****.2018-12-24T14.27.part-0.data

パス要素

説明

/ssd/1/<Logstash クラスター ID>/logstash/data/

temporary_directory で指定された一時ファイルディレクトリ。

eaced620-e972-0136-2a14-02b7449b****

ランダムな UUID(Universally Unique Identifier)。

logstash/1

OSS オブジェクトプレフィックス。

ls.oss

logstash-output-oss プラグインによって生成された一時ファイル。

2018-12-24T14.27

一時ファイルが作成された時刻。

part-0

一時ファイルのプレフィックス。

.data

ファイル名拡張子。encodinggzip に設定されている場合、ファイル名拡張子は .gz です。それ以外の場合、ファイル名拡張子は .data です。