logstash-output-datahub プラグインを使用すると、DataHub にデータを転送できます。このトピックでは、logstash-output-datahub プラグインの使用方法について説明します。
前提条件
- logstash-output-datahub プラグインがインストールされていること。
詳細については、プラグインのインストールと削除をご参照ください。
- DataHub がアクティブ化され、プロジェクトが作成され、プロジェクトのトピックが作成されていること。
詳細については、DataHub を使い始めるをご参照ください。
- データを読み取るデータソースが準備されていること。
使用可能なデータソースは、Logstash でサポートされている入力プラグインによって決定されます。詳細については、入力プラグインをご参照ください。この例では、Alibaba Cloud Elasticsearch クラスタを使用します。
logstash-output-datahub の使用
構成ファイルを使用してパイプラインを管理するに記載されている手順に従って、パイプラインを作成します。パイプラインを作成する際は、「パラメータ」セクションの表に記載されている説明に基づいて、パイプラインパラメータを構成します。パラメータを構成した後、設定を保存してパイプラインをデプロイします。これにより、Logstash をトリガーしてデータソースからデータを読み取り、DataHub に転送できます。
次のコードは、パイプライン構成の例を示しています。パラメータの詳細については、パラメータをご参照ください。
input {
elasticsearch {
hosts => ["http://es-cn-mp91cbxsm000c****.elasticsearch.aliyuncs.com:9200"]
user => "elastic"
index => "test"
password => "your_password"
docinfo => true
}
}
filter{
}
output {
datahub {
access_id => "Your accessId" // アクセスID
access_key => "Your accessKey" // アクセスキー
endpoint => "Endpoint" // エンドポイント
project_name => "project" // プロジェクト名
topic_name => "topic" // トピック名
#shard_id => "0" // シャードID
#shard_keys => ["thread_id"] // シャードキー
dirty_data_continue => true // 不正なデータの処理を継続するかどうか
dirty_data_file => "/ssd/1/<Logstash cluster ID>/logstash/data/File name" // 不正なデータファイルの名前
dirty_data_file_max_size => 1000 // 不正なデータファイルの最大サイズ
}
}
重要 デフォルトでは、Alibaba Cloud Logstash は同じ仮想プライベートクラウド (VPC) を介したデータ転送のみをサポートします。ソースデータがインターネット上にある場合は、Logstash クラスタがインターネットにアクセスできるように、ネットワークアドレス変換 (NAT) ゲートウェイを構成します。詳細については、インターネット経由のデータ転送のための NAT ゲートウェイの構成をご参照ください。
パラメータ
次の表は、logstash-output-datahub でサポートされているパラメータを示しています。
パラメータ | タイプ | 必須 | 説明 |
endpoint | string | はい | DataHub にアクセスするために使用するエンドポイント。詳細については、エンドポイントをご参照ください。 |
access_id | string | はい | Alibaba Cloud アカウントの AccessKey ID。 |
access_key | string | はい | Alibaba Cloud アカウントの AccessKey シークレット。 |
project_name | string | はい | DataHub プロジェクトの名前。 |
topic_name | string | はい | DataHub トピックの名前。 |
retry_times | number | いいえ | 許可される再試行回数。値 -1 は無制限を示します。値 0 は再試行が許可されないことを示します。0 より大きい値は、指定された回数の再試行が許可されることを示します。デフォルト値:-1。 |
retry_interval | number | いいえ | 再試行間隔。単位:秒。デフォルト値:5。 |
skip_after_retry | boolean | いいえ | DataHub の例外によって発生した再試行回数が retry_times の値を超えた場合に、現在のバッチのデータのアップロードをスキップするかどうかを指定します。デフォルト値:false。 |
approximate_request_bytes | number | いいえ | 各リクエストで送信できるおおよそのバイト数。デフォルト値は 2048576 で、2 MB を示します。このパラメータは、リクエスト本文が大きすぎるためにリクエストが拒否されるのを防ぐために使用されます。 |
shard_keys | array | いいえ | フィールドの名前。プラグインは、フィールドの値を使用して、特定のシャードにデータを書き込むためのハッシュを計算します。 説明 shard_keys と shard_ids が指定されていない場合、プラグインはシャードをポーリングして、プラグインがデータを書き込むシャードを決定します。 |
shard_ids | array | いいえ | プラグインがデータを書き込むシャードの ID。 説明 shard_keys と shard_ids が指定されていない場合、プラグインはシャードをポーリングして、プラグインがデータを書き込むシャードを決定します。 |
dirty_data_continue | string | いいえ | データ処理中に不正なデータをスキップするかどうかを指定します。デフォルト値:false。値を true に設定する場合は、dirty_data_file を指定する必要があります。値 true は、データ処理中に不正なデータがスキップされることを示します。 |
dirty_data_file | string | いいえ | 不正なデータファイルの名前。dirty_data_continue パラメータを true に設定する場合は、このパラメータを構成する必要があります。 説明 データ処理中に、不正なデータファイルはパート 1 とパート 2 に分割されます。生の不正なデータはパート 1 に格納されます。更新された不正なデータはパート 2 に格納されます。 |
dirty_data_file_max_size | number | いいえ | 不正なデータファイルの最大サイズ。単位:KB。 |
enable_pb | boolean | いいえ | データ転送に Protocol Buffers (Protobuf) を有効にするかどうかを指定します。デフォルト値:true。Protobuf がデータ転送でサポートされていない場合は、値を false に設定します。 |