色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

基于Docker搭建ELK 日志系統(tǒng)的方法

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

業(yè)務(wù)發(fā)展越來(lái)越龐大,服務(wù)器越來(lái)越多 各種訪問(wèn)日志、應(yīng)用日志、錯(cuò)誤日志量越來(lái)越多,導(dǎo)致運(yùn)維人員無(wú)法很好的去管理日志 開(kāi)發(fā)人員排查問(wèn)題,需要到服務(wù)器上查日志,不方便 運(yùn)營(yíng)人員需要一些數(shù)據(jù),需要我們運(yùn)維到服務(wù)器上分析日志。

ELK介紹:

基于Docker搭建ELK 日志系統(tǒng)的方法

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

基于Docker搭建ELK 日志系統(tǒng)的方法

搭建步驟:

經(jīng)過(guò)上述描述,大家也應(yīng)該稍微有點(diǎn)了解了,想要搭建這個(gè)平臺(tái)至少是需要3/4個(gè)軟件的(可以沒(méi)有filebeat)。

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

本篇文章假定你已經(jīng)有了docker環(huán)境,并且有基本的docker使用經(jīng)驗(yàn)

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

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

Docker 設(shè)置代理在linux中可以使用ClashX 訂閱url,然后docker 連到代理。有桌面的可以直接更改,沒(méi)有的也可以創(chuàng)建配置文件進(jìn)行更改 ⇒ 傳送門(mén)

基于Docker搭建ELK 日志系統(tǒng)的方法

另外把docker的內(nèi)存給多一點(diǎn)兒,避免到時(shí)候卡頓。

構(gòu)建ES:

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

瀏覽器訪問(wèn)(curl也行):localhost:9200 出現(xiàn)下面的結(jié)果則說(shuō)明啟動(dòng)成功:

基于Docker搭建ELK 日志系統(tǒng)的方法

若出現(xiàn)錯(cuò)誤,請(qǐng)查錯(cuò)誤日志。

創(chuàng)建ES-HEAD:

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

同樣訪問(wèn)localhost:9100,看到下面的結(jié)果即為成功:

基于Docker搭建ELK 日志系統(tǒng)的方法

在es-head連接es可能是連不上的,是因?yàn)閑s沒(méi)有開(kāi)啟跨域,進(jìn)入es容器內(nèi)部 找到config文件下的elasticsearch.yml,在此文件中增加:

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

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

開(kāi)啟Kibana:

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

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

基于Docker搭建ELK 日志系統(tǒng)的方法

訪問(wèn)localhost:5601會(huì)出現(xiàn)下面的結(jié)果:

基于Docker搭建ELK 日志系統(tǒng)的方法

至此我們的kibana已經(jīng)成功跑起來(lái)了,es也已經(jīng)跑起來(lái)了,接下來(lái)就是收集日志的服務(wù)了。

構(gòu)建filebeat 和 logstash:

首先聲明,這兩兄弟需要點(diǎn)兒配置文件,我們想整個(gè)文件夾統(tǒng)一存放這兩份配置文件:

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}' }}

當(dāng)前你應(yīng)該還在elktest目錄下,由于我們沒(méi)有日志來(lái)源,所以本片的方式是手動(dòng)創(chuàng)建日志,建立一個(gè)日志文件夾:

mkdir logdir

自己構(gòu)建一些日志,隨便寫(xiě)什么,文件及文件夾名稱(chēng)不要改動(dòng),已經(jīng)在配置文件中對(duì)應(yīng)好了,構(gòu)建完成之后你的目錄結(jié)構(gòu)應(yīng)該長(zhǎng)這個(gè)樣子:

基于Docker搭建ELK 日志系統(tǒng)的方法

創(chuàng)建容器:

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

此時(shí)你的es-head應(yīng)該長(zhǎng)這個(gè)樣子:

基于Docker搭建ELK 日志系統(tǒng)的方法

如果不是這個(gè)樣子,可以查看容器是否運(yùn)行,是否有錯(cuò)誤日志,另外也可以到logstash容器中ping elasticsearch,filebeat容器中ping logstash,檢查路徑是否有問(wèn)題。

Kibana顯示: 創(chuàng)建索引向:

基于Docker搭建ELK 日志系統(tǒng)的方法

創(chuàng)建完成后去查看,添加自己想要查看的字段,內(nèi)容在message里(剛好就是我們?cè)赼.log中的內(nèi)容):

基于Docker搭建ELK 日志系統(tǒng)的方法

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

以上就是基于Docker搭建ELK 日志系統(tǒng)的方法的詳細(xì)內(nèi)容,更多關(guān)于Docker搭建ELK日志系統(tǒng)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Docker
相關(guān)文章:
主站蜘蛛池模板: 精品一区二区三区视频在线观看免 | aaa级大片| 欧美大片一级特黄 | 免费高清特黄a 大片 | 久久免费国产视频 | 99久热在线精品视频播放6 | 尹人香蕉久久99天天拍 | 国产愉拍精品手机 | 国产成人一区二区三区 | 美女张开腿黄网站免费国产 | 91久久国产综合精品女同国语 | 99视频在线国产 | 在线 中文字幕 日韩 欧美 | 日本高清不卡在线观看 | 色视频在线观看视频 | 国产三级精品播放 | 欧美在线观看不卡 | 欧美aaaaaaaaaa | 成人国产在线24小时播放视频 | 欧美一级视频在线 | 成人9久久国产精品品 | 国产美女在线一区二区三区 | 99久久精品国产片久人 | 新体操真 | 国产一级aa大片毛片 | 99久女女精品视频在线观看 | 男女视频在线观看免费高清观看 | 日本二级毛片免费 | 国产一区二区三区四区五区tv | 久久99毛片免费观看不卡 | 久久综合久久美利坚合众国 | 欧美乱爱| 国产日韩欧美一区 | 三级黄色在线播放 | 99在线视频网站 | 欧美一级特黄乱妇高清视频 | 一本色道久久爱 | 亚洲精品一区亚洲精品 | 萌白酱喷水福利视频在线 | 欧美一级毛片俄罗斯 | 亚洲天堂2018av |