關於elk不用說,你們多多少少都聽過,最近我搭建了一套用做收集日誌,供你們參考:linux
強烈建議安裝去es的官網安裝:
今天是2019.4.9,目前最新的版本是6.7.1,三個都裝6.7.1版本(版本最好一致,不然會有各類疑難雜症)
elasticsearch: https://www.elastic.co/downlo...
logstash: https://www.elastic.co/cn/dow...
kibana:https://www.elastic.co/cn/dow...git
其中es的安裝教程我在這篇文章裏面已經寫了:https://segmentfault.com/a/11...,下面介紹logstash和kibana的安裝過程vim
1.logstash:
下載後segmentfault
##進入安裝包所在目錄,解壓 tar -xf logstash-6.7.1.tar.gz ##切換到bin目錄 cd /logstash-6.7.1/bin ##編輯或者建立一個啓動的配置文件,到時候用這個配置文件啓動 vim input_flter_output.conf input { file{ path=> "/crawler/jenkins/*.log" ##生成日誌的目錄 type=> "cml" ##索引的類型 start_position=> "beginning" ##一開始就輸入原來的日誌信息 } stdin{} } filter{ } output{ elasticsearch{ action=> "index" hosts=> "www.iamcrawler.cn:9500" ##輸出到elasticsearch上面 index=> "log-%{+yyyy.MM.dd}" ##生成一個log-時間的索引 } } #最後保存退出 ##在bin目錄下再編寫一個啓動bat vim run.bat sh logstash -f input_flter_output.conf & #最後保存退出 而後運行run.bat便可 [root@iamcrawler bin]# sh run.bat ##正常會出現如下狀況: [root@iamcrawler bin]# Sending Logstash logs to /crawler/logstash/logstash-6.7.1/logs which is now configured via log4j2.properties [2019-04-09T13:11:40,120][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified [2019-04-09T13:11:40,138][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"6.7.1"} [2019-04-09T13:11:50,041][INFO ][logstash.pipeline ] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>2, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50} [2019-04-09T13:11:50,697][INFO ][logstash.outputs.elasticsearch] Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>[http://www.iamcrawler.cn:9500/]}} [2019-04-09T13:11:51,065][WARN ][logstash.outputs.elasticsearch] Restored connection to ES instance {:url=>"http://www.iamcrawler.cn:9500/"} [2019-04-09T13:11:51,191][INFO ][logstash.outputs.elasticsearch] ES Output version determined {:es_version=>6} [2019-04-09T13:11:51,196][WARN ][logstash.outputs.elasticsearch] Detected a 6.x and above cluster: the `type` event field won't be used to determine the document _type {:es_version=>6} [2019-04-09T13:11:51,232][INFO ][logstash.outputs.elasticsearch] Using default mapping template [2019-04-09T13:11:51,253][INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["//www.iamcrawler.cn:9500"]} [2019-04-09T13:11:51,287][INFO ][logstash.outputs.elasticsearch] Attempting to install template {:manage_template=>{"template"=>"logstash-*", "version"=>60001, "settings"=>{"index.refresh_interval"=>"5s"}, "mappings"=>{"_default_"=>{"dynamic_templates"=>[{"message_field"=>{"path_match"=>"message", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false}}}, {"string_fields"=>{"match"=>"*", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false, "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}}}}], "properties"=>{"@timestamp"=>{"type"=>"date"}, "@version"=>{"type"=>"keyword"}, "geoip"=>{"dynamic"=>true, "properties"=>{"ip"=>{"type"=>"ip"}, "location"=>{"type"=>"geo_point"}, "latitude"=>{"type"=>"half_float"}, "longitude"=>{"type"=>"half_float"}}}}}}}} [2019-04-09T13:11:51,399][INFO ][logstash.outputs.elasticsearch] Installing elasticsearch template to _template/logstash [2019-04-09T13:11:51,783][INFO ][logstash.inputs.file ] No sincedb_path set, generating one based on the "path" setting {:sincedb_path=>"/crawler/logstash/logstash-6.7.1/data/plugins/inputs/file/.sincedb_6677650ec826fa62a735f6625357dead", :path=>["/crawler/jenkins/*.log"]} [2019-04-09T13:11:51,896][INFO ][logstash.pipeline ] Pipeline started successfully {:pipeline_id=>"main", :thread=>"#<Thread:0x729fdee9 run>"} [2019-04-09T13:11:52,010][INFO ][filewatch.observingtail ] START, creating Discoverer, Watch with file and sincedb collections [2019-04-09T13:11:52,033][INFO ][logstash.agent ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]} [2019-04-09T13:11:52,723][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}
2.kibana的安裝
kibana安裝比較簡單,下載後,進入安裝目錄的config目錄,如:
cd /crawler/kibana/kibana-6.7.1-linux-x86_64/configapp
vim kibana.yml ##添加以下命令 server.host: 0.0.0.0 elasticsearch.url: "http://localhost:9500" #這裏是es的http地址 ##進入kibana目錄,執行如下命令,後臺運行kibana ./bin/kibana &
二.kibana的使用能夠參照網上的不少教程,這裏就不過多的描述了elasticsearch