elk是三個開源軟體的縮寫,分別表示:elasticsearch , logstash, kibana , 它們都是開源軟體。新增了乙個filebeat,它是乙個輕量級的日誌收集處理工具(agent),filebeat占用資源少,適合於在各個伺服器上蒐集日誌後傳輸給logstash,官方也推薦此工具。
elasticsearch是個開源分布式搜尋引擎,提供蒐集、分析、儲存資料三大功能。它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格介面,多資料來源,自動搜尋負載等。
logstash 主要是用來日誌的蒐集、分析、過濾日誌的工具,支援大量的資料獲取方式。一般工作方式為c/s架構,client端安裝在需要收集日誌的主機上,server端負責將收到的各節點日誌進行過濾、修改等操作在一併發往elasticsearch上去。
kibana 也是乙個開源和免費的工具,kibana可以為 logstash 和 elasticsearch 提供的日誌分析友好的 web 介面,可以幫助彙總、分析和搜尋重要資料日誌。
filebeat隸屬於beats。目前beats包含四種工具:
packetbeat(蒐集網路流量資料)
topbeat(蒐集系統、程序和檔案系統級別的 cpu 和記憶體使用情況等資料)
filebeat(蒐集檔案資料)
winlogbeat(蒐集 windows 事件日誌資料)
一般我們需要進行日誌分析場景:直接在日誌檔案中 grep、awk 就可以獲得自己想要的資訊。但在規模較大的場景中,此方法效率低下,面臨問題包括日誌量太大如何歸檔、文字搜尋太慢怎麼辦、如何多維度查詢。需要集中化的日誌管理,所有伺服器上的日誌收集彙總。常見解決思路是建立集中式日誌收集系統,將所有節點上的日誌統一收集,管理,訪問。
一般大型系統是乙個分布式部署的架構,不同的服務模組部署在不同的伺服器上,問題出現時,大部分情況需要根據問題暴露的關鍵資訊,定位到具體的伺服器和服務模組,構建一套集中式日誌系統,可以提高定位問題的效率。
乙個完整的集中式日誌系統,需要包含以下幾個主要特點:
收集-能夠採集多種**的日誌資料
傳輸-能夠穩定的把日誌資料傳輸到**系統
儲存-如何儲存日誌資料
分析-可以支援 ui 分析
警告-能夠提供錯誤報告,監控機制
elk提供了一整套解決方案,並且都是開源軟體,之間互相配合使用,完美銜接,高效的滿足了很多場合的應用。目前主流的一種日誌系統。
首先需要安裝jdk,之後在安裝elasticsearch,要注意先後順序。
安裝完成。
指定node節點和主機ip,開啟9200埠。
[root@server1 elasticsearch]# systemctl daemon-reload
[root@server1 elasticsearch]# systemctl start elasticsearch.service
啟動服務。
檢視9200埠是否開啟,這個埠開啟了才算啟動成功。
在瀏覽器上也可以檢視到內容。
我們使用這個服務的時候,很多時候會將服務使用的記憶體鎖定。
[root@server1 elasticsearch]# vim elasticsearch.yml
開啟注釋的這一行。
重啟服務之後再使用netstat命令檢視端**們會發現已經查不到了,但是服務卻顯示正常,但由於埠為開啟,這個服務是不能正常使用的。
我們可以檢視es的日誌,發現服務已經關閉了。
[root@server1 elasticsearch]# vim /etc/security/limits.conf
elasticsearch - nofile 65535
elasticsearch - nproc 4096
elasticsearch - memlock unlimited
設定系統對資源的限制。
[root@server1 elasticsearch]# vim /usr/lib/systemd/system/elasticsearch.service
limitmemlock=infinity
修改systemd的啟動指令碼。
[root@server1 elasticsearch]# vim elasticsearch.yml
[root@server1 elasticsearch]# systemctl daemon-reload
再次重啟服務後可以看到9200埠啟動了。 Docker框架簡介與部署安裝
太過專業的解釋往往不太能夠很好的理解記憶,學習docker目的是有大體的理解,從實際操作入手,淺入深出,以下引用知乎的解釋 docker的思想來自於貨櫃,貨櫃解決了什麼問題?在一艘大船上,可以把貨物規整的擺放起來。並且各種各樣的貨物被貨櫃標準化了,貨櫃和貨櫃之間不會互相影響。那麼我就不需要專門運送水...
DataX的部署與安裝
剛來公司的第二天做的事就是把cd的資料導到bj來,因為不能按照原來一模一樣的去導所以就用到了datax,而datax幫我搞定了這個難題,有道是花時間想辦法解決,不如找工具研究。下面開始 解壓到虛擬機器上 tar zxvf datax.tar.gz 修改許可權為755 進入bin 目錄即可操作同步作業...
Scrapyd的安裝與部署
本文的目的在於介紹 scrapyd 的安裝與使用,為節省篇幅,scrapy 的安裝與 scrapy爬蟲的開發在本文不予介紹,預設已經開發完成,當然,本機的python環境變數也是配置好的。筆者所用的環境如下 系統 windows 10 python python 3.6.3 scrapy scrap...