日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ELK分布式日志收集搭建和使用

發布時間:2024/3/24 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ELK分布式日志收集搭建和使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大型系統分布式日志采集系統ELK
全框架 SpringBootSecurity
1、傳統系統日志收集的問題
2、Logstash操作工作原理
3、分布式日志收集ELK原理
4、Elasticsearch+Logstash+Kiabana整合
5、Logstash將數據推送到ES
6、Kibana圖形界面展示ES日志信息

搭建環境虛擬機要求:2G以上內存

?

1.傳統問題:

傳統系統日志收集的問題

在傳統項目中,如果在生產環境中,有多臺不同的服務器集群,如果生產環境需要通過日志定位項目的Bug的話,需要在每臺節點上使用傳統的命令方式查詢,這樣效率非常底下。
通常,日志被分散在儲存不同的設備上。如果你管理數十上百臺服務器,你還在使用依次登錄每臺機器的傳統方法查閱日志。這樣是不是感覺很繁瑣和效率低下。當務之急我們使用集中化的日志管理,例如:開源的syslog,將所有服務器上的日志收集匯總。
集中化管理日志后,日志的統計和檢索又成為一件比較麻煩的事情,一般我們使用grep、awk和wc等Linux命令能實現檢索和統計,但是對于要求更高的查詢、排序和統計等要求和龐大的機器數量依然使用這樣的方法難免有點力不從心。
命令方式:
tail -n 300 myes.log | grep 'node-1'? ? ##搜索某個日志在哪里
tail -100f myes.log
傳統:

?

? 分布式日志收集問題? ? ? 解決傳統 日志分布在每臺節點的問題 分散的。在搜索日志時候非常繁瑣? (可以存放在redis哦,可以定時,但是不要存放在數據庫中,不需要持久啊)

??

ELK分布式日志收集系統介紹

ElasticSearch是一個基于Lucene的開源分布式搜索服務器。它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java開發的,并作為Apache許可條款下的開放源碼發布,是第二流行的企業搜索引擎。設計用于云計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。
Logstash是一個完全開源的工具,它可以對你的日志進行收集、過濾、分析,支持大量的數據獲取方法,并將其存儲供以后使用(如搜索)。說到搜索,logstash帶有一個web界面,搜索和展示所有日志。一般工作方式為c/s架構,client端安裝在需要收集日志的主機上,server端負責將收到的各節點日志進行過濾、修改等操作在一并發往elasticsearch上去。?
Kibana是一個基于瀏覽器頁面的Elasticsearch前端展示工具,也是一個開源和免費的工具,Kibana可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助您匯總、分析和搜索重要數據日志。

??

?ELK分布式日志收集系統原理:

? ? ?在每個服務器節點安裝Logstash插件,把節點的本底文件日志讀取到Logstash中去,以每天的方式創建索引。然后再把本底的日志文件進行格式化轉成json格式,寫入到ES服務器集群中去。

? ? ?

小結:

ELK分布式日志收集原理
1、每臺服務器集群節點安裝Logstash日志收集系統插件
2、每臺服務器節點將日志輸入到Logstash中
3、Logstash將該日志格式化為json格式,根據每天創建不同的索引,輸出到ElasticSearch中
4、瀏覽器使用安裝Kibana查詢日志信息

??

關于Logstash介紹
Logstash是一個完全開源的工具,它可以對你的日志進行收集、過濾、分析,支持大量的數據獲取方法,并將其存儲供以后使用(如搜索)。說到搜索,logstash帶有一個web界面,搜索和展示所有日志。一般工作方式為c/s架構,client端安裝在需要收集日志的主機上,server端負責將收到的各節點日志進行過濾、修改等操作在一并發往elasticsearch上去。
核心流程:Logstash事件處理有三個階段:inputs → filters → outputs。是一個接收,處理,轉發日志的工具。支持系統日志,webserver日志,錯誤日志,應用日志,總之包括所有可以拋出來的日志類型。

Logstash環境安裝
1、上傳logstash安裝包(資料)
2、解壓tar –zxvf logstash-6.4.3.tar.gz
3、在config目錄下放入mayikt01.conf 讀入并且讀出日志信息

?

?

?ELK搭建:

1、安裝ElasticSearch?
2、安裝Logstash
3、 安裝Kibana?

(1,2:https://www.cnblogs.com/toov5/p/10295790.html)

實際項目中 ELK+Kafka?

?

?上傳安裝包解壓,本文使用的日志文件是 es自己產生的日志文件:

/home/elasticsearch/elasticsearch-6.4.3/logs 下面的日志

?

?查詢日志的Linux指令:? ?tail -n 300 myes.log | grep 'node-1'? ? ## 查詢關鍵字‘node-1’的內容 前300行

??

?實時搜索:tail -100f myes.log?

?

?

?在:/home/elasticsearch/logstash-6.4.3/config 目錄下創建Logstash的配置文件:

?內容如下:

input {# 從文件讀取日志信息 輸送到控制臺 path要對應讀取的目錄file {path => "/home/elasticsearch/elasticsearch-6.4.3/logs/myes.log" codec => "json" ## 以JSON格式讀取日志type => "elasticsearch"start_position => "beginning"}}# filter { # # }output {# 標準輸出 # stdout {}# 輸出進行格式化,采用Ruby庫來解析日志 stdout { codec => rubydebug } }

?

如圖: (當然可以配置多個 輸入 多個輸出)

?

保存

切換到bin目錄下啟動(指定啟動文件):??./logstash -f ../config/toov501.conf?

啟動相當慢 小伙伴們要耐心等待哦

?當前配置的形式是打印到窗口的方式: 啟動后打印的日志非常漂亮~ JSON格式

??

?

?配置下日志的輸出到ES中:

?修改下 outoput 就OK了

?

output {# 標準輸出 # stdout {}# 輸出進行格式化,采用Ruby庫來解析日志 stdout { codec => rubydebug }elasticsearch {hosts => ["192.168.91.7:9200"]index => "es-%{+YYYY.MM.dd}"} }

idex:索引! 根據每一天創建索引!!!!? ?默認doc!

?

注意如果你啟動不成功,報錯:

No sincedb_path set, generating one based on the "path" setting {:sincedb_pa

?

解決方案:

https://stackoverflow.com/questions/32001752/logstash-fails-to-read-file-no-sincedb-path-set-generating-one-based-on-the-fi

Maybe you can do as follows:

change your input config like this:

input {file {path =>[ "/usr/share/logstash-1.5.3/test.txt"]start_position => beginningsincedb_path => "/opt/logstash/sincedb-access"} }

then touch a file for sincedb_path:

touch /opt/logstash/sincedb-access chown logstash:logstash /opt/logstash/sincedb-access

the most important thing is:

ln -s /lib/x86_64-linux-gnu/libcrypt.so.1 /usr/lib/x86_64-linux-gnu/libcrypt.so

You may lost?libcrypt.so?file.

?

?

?

我們使用 kibana查詢

http://192.168.91.7:5601/app/kibana#/dev_tools/console?_g=()

?

GET /es-2019.01.22

??

?

?查看:

可以進行各種查詢:

?

?ES查詢效率快 倒排索引!

?

可以用圖形化界面,大家可以自己玩玩

?

轉載于:https://www.cnblogs.com/toov5/p/10301727.html

總結

以上是生活随笔為你收集整理的ELK分布式日志收集搭建和使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。