マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【OSS情報アーカイブ】Logstash


※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。
コンテンツ
「Logstash」とは
「Logstash」基本情報
■概要
Logstash(ログスタッシュ)とは、Elastic社が提供するログ収集管理ツールです。サーバサイドデータ処理パイプラインとして、さまざまなデータソースからログを収集し、1つのサーバに集約する機能を提供します。
■基本説明
Logstashは、リアルタイムパイプライニング機能を備えたデータ収集エンジンです。さまざまな異なるデータソースの各種データを動的に変換/統合/正規化し、用途にあった統一的なデータフォーマットで任意のデータソースに送信します。
多様な「入力プラグイン」「フィルタプラグイン」「出力プラグイン」を使用して、どのようなタイプのイベント(ログ)にも対応できます。
■オフィシャルサイト情報
オフィシャルサイト
→Elastic →Logstash(データの一元化、変換、保管)
ライセンス情報
Logstashのライセンスは「Apache License Version 2.0+他」です。
詳細について、こちらを参照ください。
→GitHub →elastic/logstash →LICENSE.txt
ダウンロード
導入事例
Logstashは、Elastic社のメインプロダクト「Elasticsearch」と同様に、世界中の企業で利用が進んでいます。
■同様製品
同様な機能を提供する製品として、次のようなものがあります。
「Logstash」の主な特徴
■Elastic社関連プロダクトとの連携
Elasticプロダクトである「Elasticsearch」+「Logstash」+「Kibana」+「X-Pack(Basic Monitoring)」を組み合わせて使用すると、高機能なログ解析プラットフォームとして活用できます。
検索エンジン「Elasticsearch」
Elastic社が提供するオープンソース検索エンジンです。リアルタイムデータ全文検索/統計データなどをRestful(JSON)インターフェースで提供します。
→OSSxCloudNews →オープンソースの検索エンジン/Elasticsearchとは
ログ収集ツール「Logstash」
Elastic社が提供するオープンソースログ収集ツールです。ログを収集し、Elasticsearchなどのデータストアにデータを投入します。プラグイン形式での優れた機能拡張性があります。
データ可視化ツール「Kibana」
「Kibana」は、Elastic社が提供するデータ可視化ツールです。「Elasticsearch」を検索エンジン(データ保管+解析機能)として利用します。
→OSSxCloudNews →オープンソースのBIツール/Kibanaとは
モニタリング機能「X-Pack(Basic Monitoring)」
Elastic社は、さまざまな機能を1つのパッケージとしてまとめた機能群「X-Pack」を提供しています。X-Packの中には、モニタリング機能「Basic Monitoring」が含まれており、「Elasticsearch」「Logstash」「Kibana」のパフォーマンスを逐一把握できます。Basicライセンスとして無料で利用できます。
「Basic Monitoring」を利用すると、アクティブLogstashノード(その他コンポーネント)を容易に監視でき、「パフォーマンス」「可用性」「ボトルネック」などについて明らかにできます。
現在のクラスタのパフォーマンスを分析して、以前のパフォーマンス(先週/先月/前年など)と比較できます。ディスク容量やメモリ使用量を最適化し、履歴データを今後のキャパシティプランニングに活用できます。
■データパイプラインの高信頼性
Logstashには、信頼性を高めるさまざまな仕組みが組み込まれています。
Logstashノードが突然停止した場合は、「Persistent Queue」機能によりデータは損失されずに維持されます。
データ送信に失敗した場合、「Dead Letter Queue」機能により再送信を行えます。
■スケーラブル
Logstashは急激な処理データ増加に対しても、外部のキューレイヤーに頼ることなくスケールでき、水平方向にスケーラブルなデータ処理パイプラインを構築できます。
■セキュリティ
Logstashは、Logstashインスタンスが1000クラスの規模でも、一貫してパイプラインを保護します。
転送時暗号化に対応し、セキュリティ保護されたElasticsearchクラスタとの完全統合も可能です。
「Logstash」のプラグインパイプラインアーキテクチャ
「Logstash」のプラグインパイプラインアーキテクチャ
■概要
Logstashは、「トリガーとなるイベント監視機能」「イベントが発生したらその情報を整形する機能」「しかるべき場所に適切な形式で出力する機能」を備えています。
Logstashのデータパイプラインは、主に、「Input機能」「Codec機能」「Filter機能」「Output機能」で構成され、それぞれをプラグインとして実装することにより、さまざまな「イベント種類」「データ形式」「出力先」に対応できるようになっています。
新しいデータ形式に対しては、それに対応できるプラグインをインストールすることで、柔軟に対応できます。
■データパイプライン処理プロセス
Logstashでは、それぞれのプラグインを組み合わせて、以下のように処理が実行されます。
①「Inputプラグイン」—データ入力(eventlog、file、pipe、stdin、tcpなど)
②「Codecプラグイン」—Inputから受け取ったデータを指定した形式に整形(jsonなど)
③「Filterプラグイン」—Codecから受け取ったデータをフィルタ処理/解析(json、xml など)
④「Outputプラグイン」—Filterから受け取ったデータを出力(Elasticsearch、各種データストア、csvファイル など)
たとえば、Inputとして「stdin」、Outputに「Elasticsearch」というプラグインを使用すれば、標準入力からイベントを受け取り、データ処理を行い、結果をElasticsearchに出力します。
■プラグイン
Logstashでは、プラグインエコシステムにより、さまざまなプラグインが用意されており、さまざまなInput、Filter、Outputなどを組み合わせて、スムーズに動作するパイプラインを構築できます。
「カスタムアプリケーションからデータ投入」など、既存のプラグインで対応できない処理については、プラグイン作成用APIとプラグインジェネレータを利用して独自開発も行えます。
Inputプラグイン
Inputプラグインは、Logstashにデータを取り込むために利用します。
形式/サイズ/ソースを問わず、さまざまなデータソースから同時にデータを取り込みます。loglotatedのように、ログローテションしてファイル末尾に数字を加えていくような仕組みにも対応しています。
主な対応データソース
・ログ
・メトリックス
・Webアプリケーション
・データストア
・クラウドサービス など
Codecプラグイン
Codecプラグインは、InputプラグインまたはOutputプラグインの一部として機能するストリームフィルタで、イベントのデータ表現を変更します。
対象データに対して「改行対応」「区切り文字対応」「JSON対応」などを行います。
Filterプラグイン
Filterプラグインは、InputプラグインとOutputプラグインの間で、データの解析や変換などを実行します。「集計処理」「分割処理」「暗号処理」などを行えます。
Filterプラグインは、フィールドを識別して構造化し、出力用としてデータフォーマットの変換/整形を行います。どのようなソース/フォーマット/スキーマのデータでも動的に対応でき、イベントの特性に応じて条件付きで適用できます。
→Elastic →Docs →Filter plugins
Outputプラグイン
Outputプラグインは、データパイプラインの最終段階として、処理されたデータを特定の宛先に出力します。さまざまな出力先を指定してデータを転送できます。
1つのイベントは複数のOutputを通ることができるため、多数のダウンストリームにも対応できます。
→Elastic →Docs →Output plugins
「Logstash」のユースケース
「Logstash」のユースケース
Logstashは、各種プラグインを組み合わせることで、さまざまなユースケースに対応できます。
■ログ/メトリック解析
・WEBサーバログ
・メールサーバログ
・アプリケーションログ
・システムログ(syslog)
・ネットワーキングログ
・ファイアウォールログ
・メトリック(Ganglia、collectd、NetFlow、JMX) など
■メッセージングキューからのデータストリーム統合
・Apache Kafka
・RabbitMQ
・Amazon SQS など
■IoTセンサー用イベント収集バックボーン
・各種センサー
・モバイルデバイス
・インテリジェントホーム
・車両
・医療センサー など
■データ変換/解析
・JSONデータ変換
・Apache HTTP Serverのアクセスログの変換
・AWSサービスのAPIから取得した情報の変換と登録
・パターンマッチング
・ジオマッピング
・ダイナミックルックアップ
・データクレンジング など
■ビッグデータ分析
・「リレーショナルデータベース」や「NoSQLストア」内のビッグデータ分析
・弾性検索 など
■モニタリング
・Nagios
・Zabbix
・Datadog
・Amazon CloudWatch
・コマンド実行結果の定期的取得
・データ解析結果から監視ツールへ登録 など
■アラート出力
・Eメール送信
・IRC送信
・SNS送信 など
参考元サイト
- Elastic →Logstash
- Elastic →Docs →Logstash Reference
- Qiita →Logstash入門
- なからなLife →Logstashを使ってみる – Kibanaを立ててみた
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【無料で使える】「 プロジェクト管理 」ツールまとめ - 🏆ランク2位🏆
【OSS情報アーカイブ】SonarQube - 🏆ランク3位🏆
【OSS情報アーカイブ】NetBSD - 🏆ランク4位🏆
【OSS情報アーカイブ】nano - 🏆ランク5位🏆
【OSS情報アーカイブ】Cyrus IMAP - 🏆ランク6位🏆
【無料で使える】「 ファイアウォール 」ソフトウェアまとめ - 🏆ランク7位🏆
【OSS情報アーカイブ】K-9 Mail - 🏆ランク8位🏆
【OSS情報アーカイブ】fping - 🏆ランク9位🏆
【OSS情報アーカイブ】Snort - 🏆ランク10位🏆
【OSS情報アーカイブ】Red Hat Enterprise Linux