I.はじめに
Logstashは、支持オープンソースサーバ側データ処理パイプラインであり、異なるソースからデータを収集し、データ交換は、別のストレージライブラリにデータを送信します。
Logstashプロジェクトは2009年8月2日に生まれました。その著者は、世界的に有名な運用・保守エンジニアヨルダンシセ(JordanSissel)で、ヨルダンシセも、優れたソフトウェアのパッケージングツールFPMを通して放出、仮想ホスティングプロバイダDreamhostの従業員有名でした。
2013年には、LogstashはElasticsearch会社を買収しました。
第二に、インストール
箱から出しLogstashので、あなただけのzipファイルをダウンロードし、解凍した後、それを使用することができます。
$のwgetの HTTPS:// artifacts.elastic.co/downloads/logstash/logstash-7.3.0.tar.gz $ タール -zxvf logstash- 7.3。0。タール.gzの $のCDのlogstash - 7.3。0
三、Hello Worldの
Logstashは、最初の「Hello World」を出力の形式を学び始めています。
次のコマンドを実行し、stdin{}
それが入力された情報から標準入力を表し、-e
指定された構成コマンドラインを表し、codec=>rubydebug
コンソールに出力を表します。
$ビン/ logstash -e ' 入力{STDIN {}}出力{STDOUT {コーデック=> rubydebug}} '
コマンドライン入力のこの時点でHello World
、Enterキーは次のような結果が表示されます。
{ " @version " => " 1 " 、 " @timestamp " => 2019 - 08 -09T08:52:29 .790Z、 " メッセージ" => " のHello World " 、 " ホスト" => " chengshengzhangdeMacBook-Pro.local " }
上記のように、Logstashは、@timestamp時間など、いくつかの余分な情報を追加するようにホスト名をホストし。
第四に、実行中のプロセス
使用Linuxプログラマーは、次のコマンドに似たパイプ記号Linuxは、存在し、認識しています:
$ 猫 randdata | awkは ' {$ 2印刷} ' | 並べ替え | uniqの -c | ティー sortdata
パイプなどの文字等Logstashは、入力された濾過した後、別のリポジトリに出力することができます。Logstash、これらの機能を達成するために、異なるスレッドを使用して、スレッド間のイベントの形式のデータストリーム、およびLogstashは、複数行のデータを扱うことができます。
使用されるプラグイン可能なフレームワークLogstash、200以上のプラグインが既に存在します。(入力)への入力プラグ、プラグイン符号化(コーデック)、フィルタプラグ(フィルタ)、出力プラグ(出力)。
デコード| |フィルタ|エンコード|出力入力:データを処理するLogstash全体のプロセス。
- 入力プラグドッキング異なるデータ・ソース
- イニシャルコーデックプラグイン、コーダ/デコーダ二つの単語の略称からコーデックは、主に、エンコードイベントを復号するために使用され、コーデックが容易Logstashおよび他のカスタムデータフォーマットドッキングさせる、データフォーマットは、対応するイベントに変換されLogstash
- フィルタプラグインは、地理的座標からIPアドレスを解析し、そのような構造化、非構造化データのような様々なイベントを解析することができ
- 出力プラグバット異なる記憶層は、例えばElasticSearchため、HDFSは、カフカたいです。
第五に、コマンドライン引数
5.1、-e
これは意味の実行を。このパラメータは、最大使用されてきた当社の「Hello World」で。実際には、直接実行、任意の特定の構成を記述することはできません bin/logstash -e ''
同じ効果を得ます。パラメータのデフォルト値は以下の通りであります:
入力{
STDIN {}
}
出力{
STDOUT {}
}
5.2、 - configまたは-f
どの意味ファイルを。実際の操作、我々は長いコンフィギュレーションを書き込みます、とさえ殻の長さが1024個の文字をサポートすることができます超える可能性があります。したがって、我々は、このようなビン/ logstash -f agent.confの形で実行し、ファイルに設定を固化します。
また、logstashはまた、我々は計画と構成を書き込み便利な小さな機能を提供します。あなたは、直接することができます bin/logstash -f /etc/logstash.d/
実行します。logstash自動的に読み込みます /etc/logstash.d/
ディレクトリ内のすべてのテキストファイルをして、彼の記憶では、完全な大きなプロファイルにスプライス、実行して行きます。
5.3、 - 設定試験または-t
これは意味のテストを。通常の解像度かどうかを設定ファイルの構文を読み取るためにLogstashをテストするために使用します。Logstash設定構文はgrammar.treetopで定義されています。特に途中で読者の使用は、事前にテストするために、特に言及したディレクトリを、読み取ります。
5.4、 - ログインまたは-l
どの意味ログを。Logstashのデフォルトは標準エラー出力に出力を記録します。本番環境では、あなたができる bin/logstash -l logs/logstash.log
ユニファイド・ストレージのログコマンドも。
5.5、 - filterworkers或-w
どのことを意味ワーカースレッド。Logstash複数のスレッドを実行します。あなたは使用することができます bin/logstash -w 5
Logstash強制する方法としてこれをフィルタ 5つのスレッドがプラグインの実行を。
注意:Logstashは現在、マルチスレッドの入力プラグインをサポートしていません。マルチスレッド出力プラグインは、このコマンドラインパラメータのみフィルタプラグを設定するために使用され、内部設定を構成する必要があります!
ヒント:Logstashは現在、フィルターネジの監視と管理をサポートしていません。filterworkerがハングアップした場合、Logstash何のフィルタは、死者の状態になることはありません。nilのための未定義のメソッド「*」:NilClassエラーこの場合、フィルタ/ルビー、独自のコードを書くの使用は、NoMethodErrorに実行することが容易であることに留意すべきです。適切に初期の裁判官に、処理する必要があります。
5.6、 - pluginpathまたは-P
あなたは、あなた自身のプラグインを作成し、その後することができ bin/logstash --pluginpath /path/to/own/plugins
、それらをロードします。
5.7、 - 冗長
出力一部のデバッグログ。
ヒント:あなたはLogstashバージョン1.3.0未満を使用する場合は、使用することができます bin/logstash -v
代わりに。
5.8、 - デバッグ
複数の出力デバッグログ。
ヒント:あなたはLogstashバージョン1.3.0未満を使用する場合は、使用することができます bin/logstash -vv
代わりに。
VI。参考文献