日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在我們的服務(wù)器上通常會生成各種日志文件,比如系統(tǒng)日志、 應(yīng)用日志、安全日志。當(dāng)系統(tǒng)發(fā)生故障時,工程師需要登錄到服務(wù)器上,在日志里查找故障原因。

如果定位到處理請求的服務(wù)器部署了多個實例,那么就需要到每個實例的日志目錄下去查看日志。另外每個服務(wù)器實例還需要設(shè)置日志滾動策略,比如每天生成一個文件,以及日志壓縮歸檔策略等。

管理分布式集群的多臺服務(wù)器的日志,是很麻煩的事情。尤其是排查故障的時候,服務(wù)器太多通過日志找故障太麻煩。因此需要把這些服務(wù)器的日志集中管理,并提供集中檢索功能,這樣就可以提高故障診斷的效率。

業(yè)界通用的日志數(shù)據(jù)管理方案主要包括 Elasticsearch 、 Logstash 和 Kibana 三個組件,這三個組件又先后被收購于Elastic.co公司名下。取三個組件的首字母,業(yè)界把這套方案簡稱為ELK。

什么是ELK?

Logstash :數(shù)據(jù)收集處理引擎。支持動態(tài)的從各種數(shù)據(jù)源搜集數(shù)據(jù),并對數(shù)據(jù)進行過濾、分析、豐富、統(tǒng)一格式等操作,然后存儲以供后續(xù)使用。

Elasticsearch :分布式搜索引擎。具有高可伸縮、高可靠、易管理等特點,可以用于全文檢索、結(jié)構(gòu)化檢索和分析。ES 基于 Lucene 開發(fā),Lucene是現(xiàn)在使用最廣的開源搜索引擎之一,Wikipedia 、StackOverflow、Github 等都基于Lucene來構(gòu)建搜索引擎。

Kibana :可視化平臺。能夠搜索、展示存儲在 Elasticsearch 中的索引數(shù)據(jù),使用Kibana可以很方便地用圖表、表格、地圖展示和分析數(shù)據(jù)。

Logstash部署架構(gòu)

常見的Logstash的部署架構(gòu)如下圖所示,主要由Shipper、Broker和Indexer三個角色組成。

分布式日志管理系統(tǒng):從ELK到EFK

 

  • Shipper:日志收集者,也就是Agent。負責(zé)監(jiān)控本地日志文件的變化,及時讀取日志文件的最新內(nèi)容,經(jīng)過處理輸出到Broker。
  • Broker:日志Hub,用來連接多個Shipper和多個Indexer。redis是Logstash官方推薦的Broker,支持訂閱發(fā)布和隊列兩種數(shù)據(jù)傳輸模式。
  • Indexer:日志存儲者。負責(zé)從Redis接收日志,經(jīng)過處理,比如對文本進行格式化,之后寫入到本地文件。

無論是Shipper還是Indexer,Logstash始終只做三件事:日志的收集、過濾和輸出。主要由三個部分組成:Input 、Filter、Output。

分布式日志管理系統(tǒng):從ELK到EFK

Logstash實例由Input、Filter、Output組成

Input(輸入):Logstash實例通過Input插件可以讀取多種數(shù)據(jù)源,輸入數(shù)據(jù)可以是JAVA日志、Nginx日志 、TCP連接、控制臺輸入 、Syslog(系統(tǒng)日志)、Redis 、Collectd(系統(tǒng)監(jiān)控守護進程)等。

Filter(過濾):通過Filter插件可以將日志轉(zhuǎn)換為我們需要的格式。Logstash 提供了豐富的Filter插件,包括date(日志解析)、grok(正則解析)、dissect(分隔符解析)、mutate(字段處理)、json解析、geoip(地理位置數(shù)據(jù)解析)、ruby等。

Output(輸出):通過 Output 插件可以實現(xiàn)數(shù)據(jù)的多份復(fù)制輸出,輸出目標可以是控制臺、Redis 、TCP 、文件、Email等,目前業(yè)內(nèi)常用的輸出方式是和搜索引擎Elasticsearch來對接。

接下來我們看一下Logstash與ES如何配合實現(xiàn)ELK架構(gòu)。

ELK架構(gòu)

分布式日志管理系統(tǒng):從ELK到EFK

ELK架構(gòu)

數(shù)據(jù)收集端:每臺服務(wù)器都在上面部署 Logstash Shipper來收集日志,經(jīng)過處理傳輸?shù)?Elasticsearch 集群。

數(shù)據(jù)存儲與搜索:采用多個 Elasticsearch 節(jié)點組成 Elasticsearch 集群,采用集群模式運行,可以避免單個實例壓力過重的問題。

數(shù)據(jù)展示:Kibana 可以根據(jù) Elasticsearch 的數(shù)據(jù)來繪制各種各樣的圖表,直觀的展示業(yè)務(wù)實時狀況。

分布式日志管理系統(tǒng):從ELK到EFK

Kibana

加入隊列的ELK

當(dāng)并發(fā)量較大的時候,由于日志傳輸峰值較高,會導(dǎo)致 Elasticsearch 集群丟失數(shù)據(jù)。對于這種Logstash數(shù)據(jù)超過ES集群處理能力的情況,可以通過隊列就能起到削峰填谷的作用, Elasticsearch 集群就不存在丟失數(shù)據(jù)的問題。

目前業(yè)界在日志服務(wù)場景中,使用比較多的兩種消息隊列是Kafka和Redis。Redis 隊列多用于實時性較高的消息推送,并不保證可靠。Kafka保證可靠但有點延時。

分布式日志管理系統(tǒng):從ELK到EFK

Kafka作為隊列加入ELK架構(gòu)

輕量級的Agent方案:Filebeat

Filebeat 是基于原先 logstash-forwarder 的源碼改造出來的,用 Golang 編寫,無需依賴 Java 環(huán)境就能運行,安裝包10M不到。

Filebeat效率高,占用內(nèi)存和 CPU 比較少,可以解決在服務(wù)器上部署Logstash shipper消耗資源較高的問題,非常適合作為日志收集系統(tǒng)的Agent運行在服務(wù)器上。

分布式日志管理系統(tǒng):從ELK到EFK

 

ELK/EFK總結(jié)

基于 ELK或EFK的分布式日志解決方案的優(yōu)勢主要體現(xiàn)在以下幾個方面:

  • 擴展性強:采用高可擴展性的分布式系統(tǒng)架構(gòu)設(shè)計,可以支持每日 TB 級別的新增數(shù)據(jù)。
  • 使用簡單:通過用戶圖形界面實現(xiàn)各種統(tǒng)計分析功能,簡單易用,上手快
  • 響應(yīng)迅速:從日志產(chǎn)生到查詢可見,能達到秒級完成數(shù)據(jù)的采集、處理和搜索統(tǒng)計。
  • 界面美觀:Kibana 界面上,只需要點擊鼠標,就可以完成搜索、聚合功能,生成炫麗的儀表板。

對于除了ELK方案以外,在分布式日志管理上,我們還有很多其他的選擇。近年來隨著大數(shù)據(jù)的發(fā)展,海量數(shù)據(jù)采集組件Flume也開始廣泛應(yīng)用于分布式日志解決方案中。因為沒有太多日志分析需求,我的團隊采用了更輕量級的方案:Loki + promtail + grafana,建立類似Prometheus的日志監(jiān)控系統(tǒng),promtail負責(zé)收集日志,Loki負責(zé)存儲,grafana負責(zé)展示。

分享到:
標簽:分布式 日志
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定