中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Elastic Stack實戰學習教程~日志數據的收集、分析與可視化

發布時間:2020-08-09 09:10:33 來源:網絡 閱讀:609 作者:碼農阿呆 欄目:大數據

Elastic Stack介紹

近幾年,互聯網生成數據的速度不斷遞增,為了便于用戶能夠更快更精準的找到想要的內容,站內搜索或應用內搜索成了不可缺少了的功能之一。同時,企業積累的數據也再不斷遞增,對海量數據分析處理、可視化的需求也越來越高。

在這個領域里,開源項目ElasticSearch贏得了市場的關注,比如,去年Elastic公司與阿里云達成合作伙伴關系提供阿里云 Elasticsearch 的云服務、今年10月Elastic公司上市,今年11月舉行了Elastic 中國開發者大會、目前各大云廠商幾乎都提供基于Elasticsearch的云搜索服務,等等這些事件,都反映了Elasticsearch在企業的應用越來越普遍和重要。

先來看看官網的介紹,ok,核心關鍵字:搜索、分析。

Elasticsearch is a distributed, RESTful search and analytics engine
capable of solving a growing number of use cases. As the heart of the
Elastic Stack, it centrally stores your data so you can discover the
expected and uncover the unexpected.
Elasticsearch 是一個分布式的 RESTful 風格的搜索和數據分析引擎,能夠解決不斷涌現出的各種用例。作為 Elastic
Stack 的核心,它集中存儲您的數據,幫助您發現意料之中以及意料之外的情況。

產品優勢:速度快、可擴展性、彈性、靈活性。
在某些應用場景中,不僅會使用Elasticsearch,還會使用Elastic旗下的其他產品,比如Kibana、Logstash等,常見的ELK指的就是Elasticsearch、Logstash、Kibana這三款產品,Elastic Stack指的是Elastic旗下的所有開源產品。

應用場景:(圖片截于Elastic官網)
Elastic Stack實戰學習教程~日志數據的收集、分析與可視化

場景實戰

接下來,我們來實戰一個應用場景。

場景:一個后端應用部署在一臺云服務器中,后端應用會以文件形式記錄日志。需求為:收集日志內容,對每行日志解析,得到結構化數據,便于搜索、處理與可視化。

方案:使用Filebeat轉發日志到Logstash,后者解析或轉換數據,然后轉發到Elasticsearch儲存,接著數據就任君處理了,這里我們把日志數據根據某些需求進行可視化,可視化的活就交給Kibana完成。(另種方案也可:通過Filebeat將日志數據直接轉發到Elasticsearch,由Elasticsearch Ingest node負責數據的數據處理)

所需軟件

本案例使用的產品版本如下:
系統:CentOS,這里分開部署了,也可以放在一起。
1、Kibana_v6.2.3 (IP: 192.168.0.26)
2、Elasticsearch_v6.2.3 (IP: 192.168.0.26)
3、Filebeat_v6.2.3 (IP: 192.168.0.25)
4、Logstash_v6.2.3 (IP: 192.168.0.25)

日志內容

假設一行日志內容如下:(日志文件放在/root/logs目錄下)

其中一行日志內容如下:
2018-11-08 20:46:25,949|https-jsse-nio-10.44.97.19-8979-exec-11|INFO|CompatibleClusterServiceImpl.getClusterResizeStatus.resizeStatus=|com.huawei.hwclouds.rds.trove.api.service.impl.CompatibleClusterServiceImpl.getResizeStatus(CompatibleClusterServiceImpl.java:775) 

一行日志中可得到5個字段,以“|”分割
2018-11-08 20:46:25,949|  #時間
https-jsse-nio-10.44.97.19-8979-exec-11|  # 線程名稱
INFO|   # 日志級別
CompatibleClusterServiceImpl.getClusterResizeStatus.resizeStatus=| # 日志內容
trove.api.service.impl.CompatibleClusterServiceImpl.getResizeStatus(CompatibleClusterServiceImpl.java:775)   # 類名

文件目錄如下:(Elasticsearch和Kibana在另一臺服務器,且已啟動)
Elastic Stack實戰學習教程~日志數據的收集、分析與可視化

Logstash配置

logs目錄存放需要收集的應用日志,logstash.conf 為Logstash準備的配置文件。

logstash.conf內容如下:


input {
  beats {
    port => 5044
  }
}

filter {
  grok {
    match => { "message" => "%{GREEDYDATA:Timestamp}\|%{GREEDYDATA:ThreadName}\|%{WORD:LogLevel}\|%{GREEDYDATA:TextInformation}\|%{GREEDYDATA:ClassName}" }
  }
  date {
    match => [ "Timestamp", "yyyy-MM-dd HH:mm:ss,SSS" ]
  }
}

output {
  elasticsearch {
    hosts => "192.168.0.26:9200"
    manage_template => false
    index => "java_log"
  }
}

接下來啟動Logstash(啟動成功,監聽5044端口,等待日志數據傳入):
Elastic Stack實戰學習教程~日志數據的收集、分析與可視化

Filebeat配置

接下來看下Filebeat的配置文件:

filebeat.prospectors:
- type: log
  enabled: true
  # 配置日志目錄的路徑或者日志文件的路徑
  paths:
    - /root/logs/*.log

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

setup.template.settings:
  index.number_of_shards: 3
  #index.codec: best_compression
  #_source.enabled: false

setup.kibana:
  host: "192.168.0.26:5601"

# 配置output為logstash
output.logstash:
  # The Logstash hosts
  hosts: ["localhost:5044"]

啟動Filebeat:(當日志文件有更新時,會被Filebeat監聽到,被轉發出去。)
Elastic Stack實戰學習教程~日志數據的收集、分析與可視化

日志查詢和可視化

最后來看看Kibana,進行日志的可視化。在Kibana創建好index pattern,這里命名為:java_log。在Discover頁面中對日志數據進行查詢。

Elastic Stack實戰學習教程~日志數據的收集、分析與可視化

在Visualize中創建可視化圖形。
Elastic Stack實戰學習教程~日志數據的收集、分析與可視化

在Dashboard中組合我們的圖形。
Elastic Stack實戰學習教程~日志數據的收集、分析與可視化

到此,就完成一個簡單的日志數據的收集、分析、可視化。

Elastic Stack還有很多強大的功能,后面我們來一個應用內搜索案例。

參考資料

  1. https://www.elastic.co/cn/blog/alibaba-cloud-to-offer-elasticsearch-kibana-and-x-pack-in-china 阿里云與Elastic公司合作

  2. https://www.elastic.co/guide/en/beats/libbeat/6.2/getting-started.html beat入門

  3. https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html grok插件

Elastic Stack實戰學習教程~日志數據的收集、分析與可視化

公眾號:碼農阿呆 (歡迎關注和交流)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庆云县| 大冶市| 利川市| 泰和县| 澄迈县| 集安市| 曲周县| 绍兴市| 怀宁县| 夹江县| 余江县| 龙井市| 长乐市| 繁昌县| 建平县| 玛沁县| 炉霍县| 海伦市| 调兵山市| 莱西市| 昌宁县| 双城市| 延川县| 密云县| 平乐县| 海丰县| 自贡市| 斗六市| 出国| 岳普湖县| 临潭县| 大名县| 陆良县| 鹤峰县| 方正县| 遂川县| 宿松县| 卓尼县| 金平| 乐昌市| 福州市|