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 でサポートされているパラメーターについて説明しています。
パラメーター | タイプ | 必須 | 説明 |
| 文字列 | はい | OSS にアクセスするために使用するエンドポイント。詳細については、「リージョンとエンドポイント」をご参照ください。 |
| 文字列 | はい | OSS バケットの名前。 |
| 文字列 | はい | OSS バケットへの書き込み権限を持つアカウントの AccessKey ID。 |
| 文字列 | はい | OSS バケットへの書き込み権限を持つアカウントの AccessKey シークレット。 |
| 文字列 | いいえ | ファイル名のプレフィックス。このパラメーターを指定しない場合、デフォルトでは空になります。 重要 このパラメーターを文字列に設定できます。この場合、オンプレミス マシン上に多数の一時ファイルが作成される可能性があります。 |
| ブール値 | いいえ | プログラムが異常終了した場合に、オンプレミス マシン上のデータのアップロードを続行するかどうかを指定します。デフォルト値:true。 |
| ハッシュ | いいえ | 追加の OSS クライアント構成。有効な値:
|
| 文字列 | はい | データを OSS にアップロードする前にデータをキャッシュするために使用する一時ディレクトリ。 |
| 文字列 | いいえ | ファイルローテーション戦略。有効な値: |
| 数値 | いいえ | ファイルのサイズが |
| 数値 | いいえ | ファイルのライフサイクルが |
| 数値 | いいえ | 同時にデータのアップロードに使用するスレッドの数。 |
| 数値 | いいえ | アップロードキューのサイズ。 |
| 文字列 | いいえ | OSS にファイルをアップロードする前にメッセージをエンコードするために使用されるメソッド。標準圧縮と GZIP 圧縮の両方がサポートされています。有効な値: |
一時ファイル
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/ |
|
eaced620-e972-0136-2a14-02b7449b**** | ランダムな UUID(Universally Unique Identifier)。 |
logstash/1 | OSS オブジェクトプレフィックス。 |
ls.oss | logstash-output-oss プラグインによって生成された一時ファイル。 |
2018-12-24T14.27 | 一時ファイルが作成された時刻。 |
part-0 | 一時ファイルのプレフィックス。 |
.data | ファイル名拡張子。 |