亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

基于Docker搭建ELK 日志系統的方法

瀏覽:143日期:2024-10-27 09:38:00
背景需求:

業務發展越來越龐大,服務器越來越多 各種訪問日志、應用日志、錯誤日志量越來越多,導致運維人員無法很好的去管理日志 開發人員排查問題,需要到服務器上查日志,不方便 運營人員需要一些數據,需要我們運維到服務器上分析日志。

ELK介紹:

基于Docker搭建ELK 日志系統的方法

ELK是三個開源軟件的縮寫,分別為:Elasticsearch 、 Logstash以及Kibana , 它們都是開源軟件。 目前由于原本的ELK Stack成員中加入了 Beats 工具所以已改名為Elastic Stack。 Beats,它是一個輕量級的日志收集處理工具(Agent),占用資源少,適合于在各個服務器上搜集日志后傳輸給Logstash,官方也推薦此工具。

基于Docker搭建ELK 日志系統的方法

搭建步驟:

經過上述描述,大家也應該稍微有點了解了,想要搭建這個平臺至少是需要3/4個軟件的(可以沒有filebeat)。

kibana 用于展示 elasticsearch 用于檢索 logstash 用于過濾 filebeat 用于收集日志

本篇文章假定你已經有了docker環境,并且有基本的docker使用經驗

拉取鏡像(統一版本可以避免很多坑):

docker pull kibana:6.8.2docker pull elasticsearch:6.8.2docker pull mobz/elasticsearch-head:5 # es的一個插件docker pull logstash:6.8.2docker pull docker.elastic.co/beats/filebeat:6.8.2 # 很慢 可以嘗試設置代理或者更改docker鏡像源

Docker 設置代理在linux中可以使用ClashX 訂閱url,然后docker 連到代理。有桌面的可以直接更改,沒有的也可以創建配置文件進行更改 ⇒ 傳送門

基于Docker搭建ELK 日志系統的方法

另外把docker的內存給多一點兒,避免到時候卡頓。

構建ES:

docker run -d -p 9200:9200 -p 9300:9300 --name elasticsearch -e 'discovery.type=single-node' elasticsearch:6.8.2

瀏覽器訪問(curl也行):localhost:9200 出現下面的結果則說明啟動成功:

基于Docker搭建ELK 日志系統的方法

若出現錯誤,請查錯誤日志。

創建ES-HEAD:

docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5

同樣訪問localhost:9100,看到下面的結果即為成功:

基于Docker搭建ELK 日志系統的方法

在es-head連接es可能是連不上的,是因為es沒有開啟跨域,進入es容器內部 找到config文件下的elasticsearch.yml,在此文件中增加:

http.cors.enabled: truehttp.cors.allow-origin: '*'

然后重啟es后es-head就可以連接上es。

開啟Kibana:

docker run -d -p 5601:5601 --link elasticsearch -e ELASTICSEARCH_URL=http://elasticsearch:9200 kibana:6.8.2

這里就是http://elasticsearch:9200,不要更改,前面使用了?link,會在kibana容器hosts文件中加入elasticsearch ip地址,這樣我們就直接通過定義的name來訪問es服務了。容器啟動成功后,es-head里面應該就能看到下面的信息:

基于Docker搭建ELK 日志系統的方法

訪問localhost:5601會出現下面的結果:

基于Docker搭建ELK 日志系統的方法

至此我們的kibana已經成功跑起來了,es也已經跑起來了,接下來就是收集日志的服務了。

構建filebeat 和 logstash:

首先聲明,這兩兄弟需要點兒配置文件,我們想整個文件夾統一存放這兩份配置文件:

mkdir elktest # 在主目錄下 即:~/elktest 路徑cd elktesttouch filebeat.ymltouch logstash.conf

添加配置文件

vim filebeat.yml

filebeat.prospectors:- paths: - /home/elk/logs/user/a.log multiline: pattern: ^d{4} negate: true match: after fields: doc_type: user- paths: - /home/elk/logs/service/a.log multiline: pattern: ^d{4} negate: true match: after fields: doc_type: serviceoutput.logstash: # 輸出地址 hosts: ['logstash:5044']

vim logstash.conf

input { beats { port => '5044' }}filter { json { source => 'message' }}output { stdout { codec => rubydebug } elasticsearch {hosts => [ 'elasticsearch:9200' ]index => '%{[fields][doc_type]}-%{+YYYY.MM.dd}' }}

當前你應該還在elktest目錄下,由于我們沒有日志來源,所以本片的方式是手動創建日志,建立一個日志文件夾:

mkdir logdir

自己構建一些日志,隨便寫什么,文件及文件夾名稱不要改動,已經在配置文件中對應好了,構建完成之后你的目錄結構應該長這個樣子:

基于Docker搭建ELK 日志系統的方法

創建容器:

docker run -it --name logstash --link elasticsearch -d -p 5044:5044 -v ~/elktest/logstash.conf:/usr/share/logstash/pipeline/logstash.conf logstash:6.8.2docker run --name filebeat --link logstash -d -v ~/elktest/filebeat.yml:/usr/share/filebeat/filebeat.yml -v ~/elktest/logdir/user/:/home/elk/logs/user/ -v ~/elktest/logdir/service/:/home/elk/logs/service/ docker.elastic.co/beats/filebeat:6.8.2

此時你的es-head應該長這個樣子:

基于Docker搭建ELK 日志系統的方法

如果不是這個樣子,可以查看容器是否運行,是否有錯誤日志,另外也可以到logstash容器中ping elasticsearch,filebeat容器中ping logstash,檢查路徑是否有問題。

Kibana顯示: 創建索引向:

基于Docker搭建ELK 日志系統的方法

創建完成后去查看,添加自己想要查看的字段,內容在message里(剛好就是我們在a.log中的內容):

基于Docker搭建ELK 日志系統的方法

到此為止,我們的elk已經搭建完成了,成功搭建的小伙伴晚飯給自己加個雞腿!!!!

以上就是基于Docker搭建ELK 日志系統的方法的詳細內容,更多關于Docker搭建ELK日志系統的資料請關注好吧啦網其它相關文章!

標簽: Docker
相關文章:
主站蜘蛛池模板: 中国一级特黄真人毛片免 | 国产色秀视频在线观看 | 黄色一级大片视频 | 免费看黄视频 | 曰批美女免费视频播放 | 青草久操 | 免费视频精品一区二区三区 | 日本高清视频www夜色资源 | 朴妮唛19禁福利视频在线 | 国产成人一区二区精品非洲 | 国产精品嫩草影院视频 | 亚洲人成在线精品不卡网 | 欧美一区二区三区免费看 | 激情图片在线视频 | 4444亚洲国产成人精品 | 青青青国产精品国产精品久久久久 | a级国产视频 | 国产短视频精品一区二区三区 | 国产精品成人观看视频网站 | 国产uv1区二区三区 国产va免费精品观看 | 欧美极品妇xxxxxbbbbb | 成年免费大片黄在线观看岛国 | 国产性夜夜性夜夜爽91 | 久久久久毛片成人精品 | 一级一级一级一级毛片 | 久久视频精品a线视频在线观看 | 欧美日韩亚洲人人夜夜澡 | 久草小区二区三区四区网页 | 亚洲综合精品一二三区在线 | 国产精在线 | 免费视频爱爱太爽在线观看 | 日韩欧美亚洲一区 | 欧美性生活视频 | 亚洲狠狠婷婷综合久久久久网站 | 国产网友自拍 | 香蕉黄色网| 欧美日韩中文字幕 | 免费一级黄色毛片 | 色护士影院| 日韩在线视频观看 | 9久re在线观看视频精品 |