logstash-output-oss プラグインは、Alibaba Cloud Logstash のパイプラインから Object Storage Service (OSS) へデータを転送します。これは Alibaba Cloud によってメンテナンスされているオープンソースプラグインです。ソースコードについては、「logstash-output-oss」をご参照ください。
Alibaba Cloud Logstash は、Virtual Private Cloud (VPC) 内でのみデータ転送をサポートしています。データソースがインターネット上にある場合は、続行する前に NAT ゲートウェイを構成してください。詳細については、「インターネット経由のデータ転送のための NAT ゲートウェイの構成」をご参照ください。
前提条件
開始する前に、以下を確認してください。
logstash-output-oss プラグインがインストールされていること。詳細については、「プラグインのインストールと削除」をご参照ください。
OSS がアクティブ化されていること。詳細については、「OSS のアクティブ化」をご参照ください。
読み取り/書き込み OSS バケットを作成し、そのバケットに対する書き込み権限を持つアカウントの AccessKey ID と AccessKey Secret を取得していること。詳細については、「バケットの作成」をご参照ください。
データソースを準備していること。このプラグインは、すべての Logstash 入力プラグインをサポートしています。完全なリストについては、「入力プラグイン」をご参照ください。
プラグインの構成
構成ファイルを使用してパイプラインを作成し、出力セクションを oss プラグインパラメーターで構成します。パイプラインを保存してデプロイすると、Logstash はデータソースから OSS へデータを転送します。
パイプラインの作成手順については、「構成ファイルを使用したパイプラインの管理」をご参照ください。
次の例は、Beats から読み取り、OSS に書き込むパイプラインを構成します。
input {
beats {
port => "8044" # required
codec => json {
charset => "UTF-8"
}
}
}
output {
oss {
endpoint => "http://oss-cn-hangzhou-internal.aliyuncs.com" # required
bucket => "zl-log-output-test" # required
access_key_id => "LTAI****************" # required
access_key_secret => "yourAccessKeySecret" # required
temporary_directory => "/ssd/1/<Logstash cluster ID>/logstash/data/22" # required
prefix => "oss/database" # optional, default: empty
recover => true # optional, default: true
rotation_strategy => "size_and_time" # optional, default: size_and_time
time_rotate => 1 # optional, default: 15 (minutes)
size_rotate => 1000 # optional, default: 31457280 (bytes)
encoding => "gzip" # optional, default: none
additional_oss_settings => {
max_connections_to_oss => 1024 # optional, default: 1024
secure_connection_enabled => false # optional, default: false
}
codec => json {
charset => "UTF-8"
}
}
}Logstash は現在、同じ VPC 内でのみデータ転送をサポートしています。パブリックネットワーク経由でデータを転送するには、NAT を構成する必要があります。詳細については、「パブリックネットワークデータ転送のための NAT の構成」をご参照ください。
パラメーター
次の表は、logstash-output-oss がサポートするすべてのパラメーターについて説明します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
endpoint | String | Yes | — | OSS エンドポイント。リージョンごとのエンドポイント値については、「リージョンとエンドポイント」をご参照ください。 |
bucket | String | Yes | — | OSS バケットの名前。 |
access_key_id | String | Yes | — | OSS バケットに対する書き込み権限を持つアカウントの AccessKey ID。 |
access_key_secret | String | Yes | — | OSS バケットに対する書き込み権限を持つアカウントの AccessKey Secret。 |
temporary_directory | String | Yes | — | OSS にアップロードする前にデータをキャッシュするために使用されるローカルディレクトリ。/ssd/1/<Logstash cluster ID>/logstash/data/<customized> に値を設定します。転送完了後、このディレクトリは数秒以内に削除されます。 |
prefix | String | No | (empty) | ファイル名に適用されるプレフィックス。 重要 このパラメーターを設定すると、ローカルマシンに多くの一時ファイルが作成される可能性があります。 |
recover | Boolean | No | true | プログラムが予期せず終了した場合に、ローカルデータのアップロードを再開するかどうか。 |
rotation_strategy | String, one of size, time, size_and_time | No | size_and_time | ファイルが閉じられ、OSS にアップロードされるタイミングを制御します。size の場合、ファイルのサイズが size_rotate のしきい値に達するとファイルがローテーションされます。time の場合、ファイルの経過時間が time_rotate のしきい値に達するとファイルがローテーションされます。size_and_time の場合、いずれかのしきい値に最初に達するとファイルがローテーションされます。 |
size_rotate | Number | No | 31457280 | ローテーションのファイルサイズしきい値 (バイト単位)。このパラメーターは、rotation_strategy が size の場合にのみ有効です。 |
time_rotate | Number | No | 15 | ローテーションのファイル経過時間しきい値 (分単位)。このパラメーターは、rotation_strategy が time の場合にのみ有効です。 |
upload_workers_count | Number | No | — | 同時アップロードスレッドの数。 |
upload_queue_size | Number | No | — | アップロードキューのサイズ。 |
encoding | String, one of gzip, none | No | none | アップロード前にファイルに適用されるエンコーディング。 |
additional_oss_settings | Hash | No | — | 追加の OSS クライアント設定。以下のサブパラメーターをご参照ください。 |
additional_oss_settings サブパラメーター
| サブパラメーター | デフォルト | 説明 |
|---|---|---|
server_side_encryption_algorithm | — | サーバ側暗号化アルゴリズム。AES-256 のみがサポートされています。 |
secure_connection_enabled | false | OSS 接続に HTTPS を使用するかどうか。 |
max_connections_to_oss | 1024 | 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 cluster 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 | ファイル拡張子。.gz(encoding が gzip に設定されている場合)、それ以外の場合は .data。 |
次のステップ
プラグインをインストールまたは削除するには、「プラグインのインストールと削除」をご参照ください。
構成ファイルを使用してパイプラインを管理するには、「構成ファイルを使用したパイプラインの管理」をご参照ください。