天天看點

FinTech研發報告-之大資料技術(第八章)

應用日志分析場景(ELKStack)

FinTech研發報告-之大資料技術(第八章)
  1. Logstash
  • Inputs:你使用Inputs去擷取資料到Logstash中,常用的inputs類型。
  • file:從檔案中讀取,類似于UNIX指令中的 tail -0f。
  • syslog:監聽514端口上的系統日志消息,并且根據RFC3164格式來解析。
  • redis:從redis服務讀取資訊,使用redis管道和redis清單。Redis經常用來使用作為一個“broker”在一個集中的Logstash安裝,運輸Logstash事件從一個遠端的Logstash“shippers”。
  • beats:由Filebeat發送的程序事件。
    • Outputs:Outputs是Logstash傳輸途徑中的最後解析。一個事件可以有多個輸出,但是一旦所有的輸出處理完成後,該事件就完成了它的執行。
  • elasticsearch:傳輸資料給Elasticsearch。如果你打算儲存資料在一個高效的,友善的,更輕松的可查詢結構中。
  • file: 将事件資料寫在磁盤中。
  • graphite:把資料傳輸到graphite,一個受歡迎的開源工具用來儲存和圖表化資料。
  • statsd:Statsd是一個簡單的網絡守護程序,基于Node.js平台,通過UDP或者TCP方式偵聽各種統計資訊,包括計數器和定時器,并發送聚合資訊到後端服務。
    • Codecs:基于流,可以對一部分輸入輸出做過濾的操作。Codes可以讓你輕松的将消息從序列化的過程中分離出來。
  • json:編碼或解碼資料為Json格式。
  • multiline:合并多行資料事件例如java異常和堆棧資訊為一個單獨的事件。​​​​​​

    2.ElasticSearch

    3.Kibana

    4.模式分析

Logstash工具中的Inputs模式包括一種File模式,自動探測檔案增長變化,比較适合無入侵式日志采集,不需要修改應用,也不需要二次開發檔案探測程式,這與Flume架構有很大差別。

應用日志分析場景(Flume)

FinTech研發報告-之大資料技術(第八章)

1.應用日志寫入Flume模式

外挂模式:Flume SDK:自己編寫日志探測程式并且通過 SDK RPC寫入Flume 服務端的Source中,

内嵌模式:需要修改應用寫日志部分,寫日志時調用内嵌Flume Agent将日志寫入Flume服務端的Source中

内置Log4j:Flume Agent中自帶了Log4j實作類,應用中用的Log4j實作類,配置為Flume Agent自動的Log4j實作類(org.apache.flume.client.log4jappender.log4j.Appender)

​​​​​​​2.應用分析

不管是外挂模式還是内嵌模式,都會有一些限制,外挂模式需要自己實作檔案變化監控功能,内嵌模式,需要修改日志寫入部分代碼,寫入檔案的同時必須調用Flume API發送日志到Flume服務端的Source中,内置Log4j需要項目中必須使用Log4j日志架構,隻能是Java平台。

繼續閱讀