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

AnalyticDB:Logstashを使用してdata Warehouse Editionにデータをインポートする

最終更新日:Jun 11, 2024

Logstashは、リアルタイムのパイプライン機能を備えたオープンソースのデータ収集エンジンです。 まず、ログデータをElastic Stackに書き込むために使用されます。 オープンソースコミュニティが発展するにつれて、Logstashは異なるソースからのデータを動的に統合し、選択した宛先にデータを正規化することができます。

たとえば、Java Database Connectivity (JDBC) はAnalyticDB For MySQLにアクセスできます。 logstashのLogstash-output-jdbcプラグインを使用して、後の分析のためにログデータをAnalyticDB for MySQLにインポートできます。 ただし、JDBCは単一のレコードを書き込みます。 JDBCを使用して大量のログデータをAnalyticDB for MySQL data Warehouse Edition (V3.0) に書き込む場合、システムは高い書き込みパフォーマンスを提供しませんが、大量のCPUリソースを消費します。 このコンテキストでは、AnalyticDB for MySQLは、ログデータをanalyticdb for MySQLに集約して書き込むための最適化されたlogstash-ouput-AnalyticDBプラグインを提供します。

logstash-output-analyticdbプラグインは、より低いCPU使用率で、logstash-output-jdbcプラグインの5倍の書き込みパフォーマンスを提供します。

Logstash のインストール

Logstashのインストール方法については、「Logstashのインストール」をご参照ください。

Logstashの設定

configディレクトリにlogstash-analyticdb.confという名前の設定ファイルを作成します。 ファイルのカスタム名を指定することもできます。 logstash-analyticdb.confには次のコンテンツが含まれています。

入力
{
    stdin { }
}
output {
    analyticdb {
        driver_class => "com.mysql.jdbc.Driver"
        connection_string => "jdbc:mysql:// HOSTNAME:PORT/DATABASE?user=USER&password=PASSWORD"
        statement => [ "INSERT INTO log (host, timestamp, message) VALUES(?, ?, ?)", "host", "@ timestamp", "message"]
        commit_size => 4194304
    }
}           
  • connect_string: AnalyticDB for MySQLへの接続に使用されるURL。
  • : INSERT文で宣言された配列。

その他のパラメータ:

  • max_flush_exceptions: データ書き込み中に例外が発生した場合に許可される再試行の最大数。 デフォルト値:100
  • skip_exception: 例外をスキップするかどうかを指定します。 デフォルト値は FALSE です。 max_flush_exceptionsで指定された最大再試行回数が試行された後もデータインポートタスクが失敗した場合、例外がスローされてデータインポートが終了します。 このパラメーターをTRUEに設定し、すべての再試行が失敗した場合、例外はスキップされ、ログに書き込まれます。
  • flush_size: 同時にバッファリングできるデータレコードの最大数。 このパラメーターは、committ_sizeパラメーターと組み合わせて使用されます。
  • committ_size: 同時にバッファリングできるデータの最大量。 このパラメーターは、flush_sizeパラメーターと組み合わせて使用されます。 上限に達すると、データ書き込みタスクが送信されます。

構成例は、参考のためだけに提供される。 ビジネスニーズに基づいてlogstash-analyticdb.confファイルを設定する必要があります。 AnalyticDB For MySQLに関連する設定の詳細については、GitHubをご参照ください。 Logstashの設定とルールの詳細については、Logstashのドキュメントを参照してください。

上記のパラメーターを設定すると、設定は完了です。

タスクの開始

Logstashのインストールディレクトリで次のコマンドを実行し、タスクを開始します。bin/logstash -f config/logstash-analyticdb.conf

注意事項

AnalyticDB for MySQLにデータを書き込む前に、次のコマンドを実行してLogstashを最新バージョンにアップグレードすることを推奨します。

bin/logstash-plugin update logstash-output-analyticdb