ELK日志分析平台.1-搭建
生活随笔
收集整理的這篇文章主要介紹了
ELK日志分析平台.1-搭建
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ELK日志分析平臺.1-搭建
2017-12-28 |?admin 一、簡介1、核心組成
? ? ELK由Elasticsearch、Logstash和Kibana三部分組件組成;
? ??Elasticsearch是個開源分布式搜索引擎,它的特點有:分布式,零配置,自動發(fā)現(xiàn),索引自動分片,索引副本機制,restful風(fēng)格接口,多數(shù)據(jù)源,自動搜索負(fù)載等。
? ??Logstash是一個完全開源的工具,它可以對你的日志進行收集、分析,并將其存儲供以后使用
? ??kibana?是一個開源和免費的工具,它可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助您匯總、分析和搜索重要數(shù)據(jù)日志。
2、四大組件
? ? Logstash: logstash server 端用來搜集日志;
? ? Elasticsearch: 存儲各類日志;
? ? Kibana: web化接口用作查尋和可視化日志;
? ? Logstash Forwarder: logstash client端用來通過lumberjack 網(wǎng)絡(luò)協(xié)議發(fā)送日志到logstash server; 3、ELK工作流程
? ? 在需要收集日志的所有服務(wù)上部署logstash,作為logstash agent(logstash shipper)用于監(jiān)控并過濾收集日志,將過濾后的內(nèi)容發(fā)送到Redis,然后logstash indexer將日志收集在一起交給全文搜索服務(wù)ElasticSearch,可以用ElasticSearch進行自定義搜索通過Kibana 來結(jié)合自定義搜索進行頁面展示。 簡單的流程示意圖如下: 二、開始部署 系統(tǒng)環(huán)境:CentOS 7.1 服務(wù)器IP:172.16.16.201 建立安裝目錄:/elk 新建測試用戶:useradd elk 給予權(quán)限:chown -R elk:elk /elk 關(guān)于ELK三者的版本問題:最好統(tǒng)一在同一修訂版本,否則會在最后出現(xiàn)版本錯誤而不能抓取到日志數(shù)據(jù) 如本次安裝版本全部為6.1.1版本 1、安裝JDK環(huán)境 Elasticsearch、Logstash、Kibana均需要JDK1.8及以上環(huán)境,所以需要先安裝JDK 安裝JDK過程略,參考筆記:JDK1.8安裝筆記:http://www.chengzi520.com/?p=1512 2、安裝Elasticsearch 安裝版本:elasticsearch-6.1.1 安裝目錄:/elk/elasticsearch-6.1.1,安裝過程略,參考筆記:elasticsearch-6.0.1安裝:http://www.chengzi520.com/?p=1519 3、安裝Logstash ? 安裝版本:logstash-6.1.1 ?安裝目錄:/elk/logstash-6.1.1 Python
| 1 2 3 4 5 6 7 | # 下載 cd /elk wget https://artifacts.elastic.co/downloads/logstash/logstash-6.1.1.tar.gz # 解壓、進入目錄 tar zxvf logstash-6.1.1.tar.gz cd logstash-6.1.1 |
| 1 2 3 4 5 | vim /etc/profile LOGSTASH_HOME=/elk/logstash-6.1.1 export PATH=$PATH:$LOGSTASH_HOME/bin source /etc/profile |
? ? -e :指定logstash的配置信息,可以用于快速測試;
? ? -f :指定logstash的配置文件;可以用于生產(chǎn)環(huán)境; 啟動Logstash測試 測試1:通過-e參數(shù)指定logstash的配置信息,用于快速測試,直接輸出到屏幕。 logstash -e “input {stdin{}} output {stdout{}}” Python
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | [elk@localhost ~]$ logstash -e "input {stdin{}} output {stdout{}}" Sending Logstash's logs to /elk/logstash-6.1.1/logs which is now configured via log4j2.properties [2017-12-28T16:05:36,161][INFO ][logstash.modules.scaffold] Initializing module {:module_name=>"netflow", :directory=>"/elk/logstash-6.1.1/modules/netflow/configuration"} [2017-12-28T16:05:36,212][INFO ][logstash.modules.scaffold] Initializing module {:module_name=>"fb_apache", :directory=>"/elk/logstash-6.1.1/modules/fb_apache/configuration"} [2017-12-28T16:05:37,574][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified [2017-12-28T16:05:39,184][INFO ][logstash.runner??????????] Starting Logstash {"logstash.version"=>"6.1.1"} [2017-12-28T16:05:40,558][INFO ][logstash.agent?????????? ] Successfully started Logstash API endpoint {:port=>9600} [2017-12-28T16:05:44,576][INFO ][logstash.pipeline????????] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>1, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>125, :thread=>"#<Thread:0x449f3ddb run>"} [2017-12-28T16:05:44,792][INFO ][logstash.pipeline????????] Pipeline started {"pipeline.id"=>"main"} The stdin plugin is now waiting for input:????#等待手動輸入 [2017-12-28T16:05:44,968][INFO ][logstash.agent?????????? ] Pipelines running {:count=>1, :pipelines=>["main"]} HelloWorld????# 手動輸入 2017-12-28T08:05:58.028Z localhost.localdomain HelloWorld??#這種輸入直接原封不動返回 |
| 1 2 3 4 5 6 | # 下載、解壓 wget https://artifacts.elastic.co/downloads/kibana/kibana-6.1.1-linux-x86_64.tar.gz tar zxvf kibana-6.1.1-linux-x86_64.tar.gz mv kibana-6.1.1-linux-x86_64? ./kibana-6.1.1 cd kibana-6.1.1/ |
| 1 2 3 4 5 | vim config/kibana.yml server.port: 5601??# 端口號 server.host: "172.16.16.201"??# 本機IP elasticsearch.url: "http://172.16.16.201:9200"??# Elasticsearch url地址 |
轉(zhuǎn)載于:https://www.cnblogs.com/Su-per-man/p/8625470.html
總結(jié)
以上是生活随笔為你收集整理的ELK日志分析平台.1-搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java方法的静态绑定与动态绑定讲解
- 下一篇: mysql安装后无法启动和连接问题