Docker ELK+Filebeat安裝與配置

環(huán)境說明

  • linux
    CentOS Linux release 7.5.1804 (Core)
  • docker
    Docker version 1.13.1
  • elk
    sebp/elk latest
  • filebeat
    filebeat-6.4.0

elk跟filebeat在同一臺機器上

架構(gòu)

  • Elasticsearch
    一個近乎實時查詢的全文搜索引擎是趴。Elasticsearch 的設(shè)計目標就是要能夠處理和搜索巨量的日志數(shù)據(jù)。

  • Logstash
    讀取原始日志澄惊,并對其進行分析和過濾唆途,然后將其轉(zhuǎn)發(fā)給其他組件(比如 Elasticsearch)進行索引或存儲。Logstash 支持豐富的 Input 和 Output 類型掸驱,能夠處理各種應(yīng)用的日志肛搬。

  • Kibana
    一個基于 JavaScript 的 Web 圖形界面程序,專門用于可視化 Elasticsearch 的數(shù)據(jù)毕贼。Kibana 能夠查詢 Elasticsearch 并通過豐富的圖表展示結(jié)果温赔。用戶可以創(chuàng)建 Dashboard 來監(jiān)控系統(tǒng)的日志。

  • Filebeat
    引入Filebeat作為日志搜集器鬼癣,主要是為了解決Logstash開銷大的問題陶贼。相比Logstash,F(xiàn)ilebeat 所占系統(tǒng)的 CPU 和內(nèi)存幾乎可以忽略不計扣溺。

日志處理流程:
Filebeat將日志發(fā)送給Logstash進行分析和過濾骇窍,然后由Logstash轉(zhuǎn)發(fā)給Elasticsearch,最后由Kibana可視化Elasticsearch 的數(shù)據(jù)

elk流程圖

安裝 ELK 套件

ELK 的部署方案可以非常靈活锥余,在規(guī)模較大的生產(chǎn)系統(tǒng)中腹纳,ELK 有自己的集群,實現(xiàn)了高可用和負載均衡驱犹。我們的目標是在最短的時間內(nèi)學習并實踐 ELK嘲恍,因此將采用最小部署方案:在容器中搭建 ELK。

  • 運行ELK鏡像需要vm.max_map_count至少需要262144內(nèi)存
切換到root用戶修改配置sysctl.conf
vi /etc/sysctl.conf
在尾行添加以下內(nèi)容   
vm.max_map_count=262144
并執(zhí)行命令
sysctl -p

elk啟動的時候可能會提示如下錯誤:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
查看容器日志:docker logs 容器ID
參考鏈接:https://blog.csdn.net/jiankunking/article/details/65448030

  • 安裝docker
在線安裝吧雄驹,如果自定義安裝請搜索下安裝方法佃牛,這里就不再描述了
yum install docker   
啟用服務(wù)
systemctl start docker
開機啟動
systemctl enable docker
  • 運行ELK鏡像
sudo docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk
  • 配置logstash
查看容器信息
docker ps -a

進入容器
sudo docker exec -it elk /bin/bash
或
sudo docker exec -it 容器ID /bin/bash

修改02-beats-input.conf
cd /etc/logstash/conf.d/
vi 02-beats-input.conf

/etc/logstash/conf.d/02-beats-input.conf修改成如下圖所示:

這里vi命令使用有點問題,我是通過DEL鍵一行一行的刪掉了那3行的

image.png

將以下三行刪除掉医舆。這三行的意思是是否使用證書俘侠,本例是不使用證書的,如果你需要使用證書蔬将,將logstash.crt拷貝到客戶端爷速,然后在filebeat.yml里面添加路徑即可

ssl => true 
ssl_certificate => "/pki/tls/certs/logstash.crt"
ssl_key => "/pki/tls/private/logstash.key"

注意:sebp/elk docker是自建立了一個證書logstash.crt,默認使用*通配配符霞怀,如果你使用證書惫东,filebeat.yml使用的服務(wù)器地址必須使用域名,不能使用IP地址,否則會報錯

這里如果不去掉這三行配置的話廉沮,在后面啟動filebeat時颓遏,會提示如下錯誤:

2018-09-12T10:01:29.770+0800    ERROR   logstash/async.go:252   Failed to publish events caused by: lumberjack protocol error
2018-09-12T10:01:29.775+0800    ERROR   logstash/async.go:252   Failed to publish events caused by: client is not connected
2018-09-12T10:01:30.775+0800    ERROR   pipeline/output.go:109  Failed to publish events: client is not connected
  • 重啟elk容器
docker restart 容器ID
  • kibana可視化頁面

在瀏覽器輸入:http://ip:5601 ,稍等一會即可看到kibana啟動成功管理頁面

image.png

Elasticsearch的JSON接口:http://[Host IP]:9200/_search?pretty

安裝Filebeat

filebeat有多種安裝方式滞时,我這里采用rpm包的安裝方式叁幢,可自動注冊為systemd的服務(wù)

  • 下載filebeat的rpm包
cd /opt/softwares
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.0-x86_64.rpm

或者到官網(wǎng)查看最新版本直接下載:https://www.elastic.co/downloads/beats/filebeat

image.png

  • 安裝filebeat
rpm -ivh filebeat-6.4.0-x86_64.rpm
  • 配置filebeat
cd /etc/filebeat
vi filebeat.yml
image.png

配置改為上圖所示
enabled:filebeat 6.0后,enabled默認為關(guān)閉漂洋,必須要修改成true
paths:為你想要抓取分析的日志所在路徑

image.png

配置改為上圖所示遥皂。注釋掉Elasticsearch output,開啟Logstash output刽漂。
如果直接將日志發(fā)送到Elasticsearc演训,請編輯此行:Elasticsearch output
如果直接將日志發(fā)送到Logstash,請編輯此行:Logstash output
只能使用一行輸出贝咙,其它的注掉即可

  • 啟動filebeat服務(wù)
啟動filebeat
systemctl start filebeat.service
查看filebeat狀態(tài)
systemctl status filebeat.service
查看filebeat日志
tail -f /var/log/filebeat/filebeat

參考鏈接:http://www.reibang.com/p/7ca38fa881ae

kibana配置

點擊左上角的Discover按鈕样悟,如下圖所示,提示創(chuàng)建“index pattern”:


image.png

如下圖庭猩,紅框中輸入filebeat-*窟她,再點擊Next step:


image.png

如下圖,下拉框中選擇@timestamp蔼水,再點擊Create index pattern
image.png

在彈出的頁面上震糖,再次點擊左上角的Discover按鈕,然后點擊右上角的Last 15 minutes趴腋,如下圖:


image.png

此時頁面上會顯示最近15分鐘內(nèi)的日志吊说,如果最近15分鐘內(nèi)沒有任何日志上報,您也可以點擊下圖紅框中的Today按鈕优炬,展示今天的所有日志:
image.png

參考鏈接:
https://blog.csdn.net/qq_39284787/article/details/78809538
https://blog.csdn.net/boling_cavalry/article/details/79836171
https://www.cnblogs.com/CloudMan6/p/7787870.html
https://blog.csdn.net/boling_cavalry/article/details/79950677

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末颁井,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蠢护,更是在濱河造成了極大的恐慌雅宾,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件葵硕,死亡現(xiàn)場離奇詭異眉抬,居然都是意外死亡,警方通過查閱死者的電腦和手機懈凹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門吐辙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蘸劈,你說我怎么就攤上這事∽鸱校” “怎么了威沫?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵贤惯,是天一觀的道長。 經(jīng)常有香客問我棒掠,道長孵构,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任烟很,我火速辦了婚禮颈墅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘雾袱。我一直安慰自己恤筛,他們只是感情好,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布芹橡。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贺辰。 梳的紋絲不亂的頭發(fā)上蔼卡,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天,我揣著相機與錄音腿箩,去河邊找鬼豪直。 笑死,一個胖子當著我的面吹牛珠移,可吹牛的內(nèi)容都是我干的弓乙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼剑梳,長吁一口氣:“原來是場噩夢啊……” “哼唆貌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起垢乙,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤锨咙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后追逮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酪刀,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年钮孵,在試婚紗的時候發(fā)現(xiàn)自己被綠了骂倘。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡巴席,死狀恐怖历涝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤荧库,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布堰塌,位于F島的核電站,受9級特大地震影響分衫,放射性物質(zhì)發(fā)生泄漏场刑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一蚪战、第九天 我趴在偏房一處隱蔽的房頂上張望牵现。 院中可真熱鬧,春花似錦邀桑、人聲如沸瞎疼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丑慎。三九已至,卻和暖如春瓤摧,著一層夾襖步出監(jiān)牢的瞬間竿裂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工照弥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腻异,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓这揣,卻偏偏與公主長得像悔常,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子给赞,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354