ELKクラスタ構築およびlogstash+kibana展示--logstash
第一篇:logstashインストールと簡単な構成
https://blog.csdn.net/mayancheng7/article/details/84754571
第二編:elasticsearchインストールと簡単な構成
https://blog.csdn.net/mayancheng7/article/details/84767669
第三編:kibanaインストールと簡単な構成
https://blog.csdn.net/mayancheng7/article/details/84771319
公式サイトのアドレス:https://www.elastic.co/cn/downloads
リンクをダウンロードして、最新版の6.5.1.
Elasticsearch Kibana Logstashバージョンが一致していることを覚えています
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.5.1.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.1.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.1-linux-x86_64.tar.gz
マシンリスト
ip
logstash
elasticsearch
Kibana
192.168.3.17
√
√
√
192.168.3.16
×
√
×
192.168.3.18
×
√
×
解凍logstash
tar zxvf src/logstash-6.5.1.tar.gz
vim logstash-6.5.1/config/std_test.conf // conf
input {
stdin{
}
}
output {
stdout{
}
}
テスト
./logstash-6.5.1/bin/logstash -f logstash-6.5.1/config/std_test.conf // ,
Sending Logstash logs to /home/yx/ma/logstash-6.5.1/logs which is now configured via log4j2.properties
[2018-11-28T17:38:43,938][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.queue", :path=>"/home/yx/ma/logstash-6.5.1/data/queue"}
[2018-11-28T17:38:43,957][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.dead_letter_queue", :path=>"/home/yx/ma/logstash-6.5.1/data/dead_letter_queue"}
[2018-11-28T17:38:44,791][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2018-11-28T17:38:44,813][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"6.5.1"}
[2018-11-28T17:38:44,866][INFO ][logstash.agent ] No persistent UUID file found. Generating new UUID {:uuid=>"469786ff-14c5-4b35-acc9-087b5e2ee47f", :path=>"/home/yx/ma/logstash-6.5.1/data/uuid"}
[2018-11-28T17:38:51,366][INFO ][logstash.pipeline ] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50}
[2018-11-28T17:38:51,561][INFO ][logstash.pipeline ] Pipeline started successfully {:pipeline_id=>"main", :thread=>"#<0x4af52480 run="">"}
The stdin plugin is now waiting for input:
[2018-11-28T17:38:51,664][INFO ][logstash.agent ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[2018-11-28T17:38:52,103][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}
nginxログを呼び出すプロファイルを新規作成
input {
file{
path =>"/home/yx/server/nginx/logs/*.log" # *
start_position=>"beginning"
}
}
filter{
grok{
patterns_dir => "*.log" # *
match=>{"message"=>"%{DATA:clientIp} - - \[%{HTTPDATE:accessTime}\] \"%{DATA:method} %{DATA:requestPath} %{DATA:httpversion}\" %{DATA:retcode} %{DATA:size} \"%{DATA:fromHtml}\" \"%{DATA:useragent}\"" # :http://udn.yyuap.com/doc/logstash-best-practice-cn/index.html
}
remove_field=>"message"
}
date{
match=>["accessTime","dd/MMM/yyyy:HH:mm:ss Z"]
}
}
output {
stdout{
codec=>rubydebug
}
}
PHPログを呼び出すプロファイルを新規作成し、inputの入力パスのみが異なり、その他は同じです.
input {
file{
path =>"/home/yx/server/php56/log/php-error.log" #
start_position=>"beginning"
}
}
filter{
grok{
patterns_dir => "*.log"
match=>{"message"=>"%{DATA:clientIp} - - \[%{HTTPDATE:accessTime}\] \"%{DATA:method} %{DATA:requestPath} %{DATA:httpversion}\" %{DATA:retcode} %{DATA:size} \"%{DATA:fromHtml}\" \"%{DATA:useragent}\""
}
remove_field=>"message"
}
date{
match=>["accessTime","dd/MMM/yyyy:HH:mm:ss Z"]
}
}
output {
stdout{
codec=>rubydebug
}
}
マルチプロファイルの起動を指定すると、表示するログをすべて別のディレクトリにソフト接続し、プロファイルを1つだけ書けばいいと思います.
./logstash-6.5.1/bin/logstash -f logstash-6.5.1/config/std_nginx.conf -f logstash-6.5.1/config/std_php.conf // , 。
nohup ./logstash-6.5.1/bin/logstash -f logstash-6.5.1/config/std_nginx.conf -f logstash-6.5.1/config/std_php.conf & // 。
ここでは別の2つのウィンドウを開き、tail-fはnginxのログとPHPのログを表示し、logstashが出力したログと比較することができます.
予期せぬことがなければ、このlogstashはインストールに成功しました.第2編をご覧ください