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編をご覧ください

Elasticsearchのインストール


参照リンク:https://blog.csdn.net/BuquTianya/article/details/72027209