さっそく、古典的なヘラジカがどのようなコンポーネントで構成されているかを見てみましょう。
elasticSearch と kibana ビルド
elasticsearch と kibana を構築したこの記事をご覧ください。
ログスタッシュビルド
以前に構築した elasticsearch および kibana のバージョンと一貫性を保つために、ここでも 7.17.3 を選択します。
クリックしてダウンロードします。学習の便宜のため、引き続き Windows バージョンをダウンロードします。
解凍後、logstash.bat を起動するとスタックしていることがわかり、LS_JAVA_HOME を設定する必要があります。
対応する起動スクリプトを確認してみましょう
setup.bat スクリプトを見つけるには、LS_JAVA_HOME 環境変数を設定する必要があります。
環境変数を設定した後、
解凍したlogstashフォルダーに入り、次のコマンドを使用してテストを開始します。
.\logstash.bat -e "input { stdin { } } output { stdout {} }"
テストするには「hello logstash」と入力してください
この時点で、logstash が正常に起動できることを意味します。
公式ドキュメントでlogstashがどのように設定されているかを見てみましょう。
設定ファイルの構造 | Logstash リファレンス [7.17] | 弾性のある
公式ウェブサイトから例を見てみましょう
input { stdin { } }
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
output {
elasticsearch { hosts => ["localhost:9200"] }
stdout { codec => rubydebug }
}
logstash の仕組み
Logstash イベント処理パイプラインは、入力 → フィルター → 出力の 3 つのステージに分かれています。入力はイベントを生成し、フィルターはイベントを変更し、出力はイベントを別の場所に送信します。コーデックは入力と出力でサポートされているため、個別のフィルターを使用せずに、データがパイプラインに出入りするときにエンコードまたはデコードできます。
Logstash の仕組み | Logstash リファレンス [7.17] | 弾性のある
公式ウェブサイトのこの記事では、基本的な動作原理を紹介します。
単純な mysql データベースのデータ同期のケース
mysqlデータを初期化する
CREATE TABLE `user` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`address` varchar(50) DEFAULT NULL,
`last_updated` bigint DEFAULT NULL,
`is_deleted` int DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ;
INSERT INTO u