基于docker部署的微服務(wù)架構(gòu)(七): 部署ELK日志統(tǒng)計分析系統(tǒng)

前言

上一篇 基于docker部署的微服務(wù)架構(gòu)(六): 日志統(tǒng)一輸出到kafka中間件 中,已經(jīng)把分散在各個項目中的日志集中輸出到了 kafka 中間件,可以在 kafka 中查看所有項目的日志舍败。這種在控制臺查看日志的方式很不方便,也不直觀氯哮,搜索功能也很弱掂碱,不能滿足日志統(tǒng)計分析的需求。下邊來搭建 ELK 日志統(tǒng)計分析系統(tǒng)春感,通過 kibana 提供的web頁面來查看日志砌创。
簡單介紹下 ELKELKelasticsearch鲫懒、 logstash嫩实、kibana 的簡稱,這三種工具各司其職窥岩,一起協(xié)作完成日志統(tǒng)計分析的功能甲献。

  • logstash 日志收集管道,把日志導(dǎo)入到 elasticsearch
  • elasticsearch 存儲日志颂翼,并提供基于 Lucene 的全文檢索功能
  • kibana 提供日志數(shù)據(jù)展示界面和各種統(tǒng)計圖表

之前已經(jīng)把日志都輸出到 kafkabasic-log topic 下晃洒,只需要使用 logstashkafka 中的數(shù)據(jù)導(dǎo)入到 elasticsearch 即可。

搭建ELK

啟動 elasticsearchdocker 容器:

elasticsearch 容器比較簡單朦乏,只需要掛載一個數(shù)據(jù)卷用來存儲數(shù)據(jù)即可球及。

運行 docker pull elasticsearch:5.0.1 下載 elasticsearch 目前最新的鏡像文件。
在宿主機(jī)上創(chuàng)建掛載目錄 mkdir -p /elasticsearch/data呻疹,用于存儲數(shù)據(jù)吃引。
運行

    docker run -d --name elasticsearch \
    --volume /etc/localtime:/etc/localtime \
    --volume /elasticsearch/data:/usr/share/elasticsearch/data \
    --publish 9200:9200 \
    --publish 9300:9300 \
    elasticsearch:5.0.1

啟動 elasticsearch 容器。
啟動時如果報 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]刽锤,修改配置文件 vim /etc/sysctl.conf镊尺,增加 vm.max_map_count=655360。保存之后運行 sysctl -p并思。重新啟動 elasticsearch 容器庐氮。

啟動 logstashdocker 容器:

logstash 容器需要使用自定義的鏡像,用 CMD 指定加載配置文件宋彼,才能在啟動容器的時候使用 -d 參數(shù)運行在后臺旭愧。直接在 docker run -d 的時候指定配置文件,在容器啟動之后會自動退出宙暇,不知道是不是 bug输枯,但是使用自定義鏡像可以解決這個問題。
運行 docker pull logstash:5.0.1-1 下載 logstash 目前最新的鏡像文件占贫。
在宿主機(jī)上創(chuàng)建掛載目錄 mkdir -p /logstash/config-dir桃熄,用于存放 logstash 的配置文件。
在目錄中創(chuàng)建 logstash.conf 配置文件,文件內(nèi)容:

    input {
      kafka {
        bootstrap_servers => "kafka:9092"
        group_id => "logstash"
        topics => ["basic-log"]
      }
    }

    output {
      stdout {}
      elasticsearch {
          hosts => ["elasticsearch:9200"]
      }
    }

配置文件配置了一個 input 數(shù)據(jù)輸入源瞳收,從 kafkabasic-log topic 讀取數(shù)據(jù)碉京。
配置了兩個 output 輸出源:

  • stdout 控制臺輸出,把從 input 讀取的數(shù)據(jù)輸出到 logstash 控制臺
  • elasticsearch 把從 input 讀取的數(shù)據(jù)輸出到 elasticsearch

這里的 kafkaelasticsearch 通過 docker--link 連接螟深。
創(chuàng)建 Dockerfile 文件谐宙,指定加載 logstash.conf 配置文件,Dockerfile 文件內(nèi)容:

FROM logstash:5.0.1-1
CMD ["-f", "/config-dir/logstash.conf"]

Dockerfile 所在的目錄運行 docker build -t my-logstash:5.0.1-1 .界弧,創(chuàng)建自定義的 logstash 鏡像 my-logstash凡蜻,使用 my-logstash 鏡像就可以通過 -d 參數(shù)讓容器運行在后臺了。

elasticsearch 容器已經(jīng)啟動的情況下垢箕,運行

    docker run -d --name logstash \
    --volume /etc/localtime:/etc/localtime \
    --volume /logstash/config-dir:/config-dir \
    --link kafka \
    --link elasticsearch \
    my-logstash:5.0.1-1  

因為配置了 stdout 輸出划栓,容器啟動之后,可以通過 docker logs -f logstash容器ID 查看從 kafka 中讀取的日志數(shù)據(jù)条获。
最后只需要再啟動 kibana 就可以在web頁面中查看日志數(shù)據(jù)了忠荞。

啟動 kibanadocker 容器:

kibana 容器只需要連接 elasticsearch 即可。
運行 docker pull kibana:5.0.1 下載 kibana 目前最新的鏡像文件帅掘。
elasticsearch 容器已經(jīng)啟動的情況下委煤,運行

docker run -d --name kibana \
--volume /etc/localtime:/etc/localtime \
--link elasticsearch \
--publish 5601:5601

kibana 容器啟動成功之后,就可以訪問 http://宿主機(jī)IP:5601 打開 kibana 的頁面了修档。
可以在 kibana 中看到所有的日志數(shù)據(jù)碧绞。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市萍悴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌寓免,老刑警劉巖癣诱,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異袜香,居然都是意外死亡撕予,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門蜈首,熙熙樓的掌柜王于貴愁眉苦臉地迎上來实抡,“玉大人,你說我怎么就攤上這事欢策∵赫” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵踩寇,是天一觀的道長啄清。 經(jīng)常有香客問我,道長俺孙,這世上最難降的妖魔是什么辣卒? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任掷贾,我火速辦了婚禮,結(jié)果婚禮上荣茫,老公的妹妹穿的比我還像新娘想帅。我一直安慰自己,他們只是感情好啡莉,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布港准。 她就那樣靜靜地躺著,像睡著了一般票罐。 火紅的嫁衣襯著肌膚如雪叉趣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天该押,我揣著相機(jī)與錄音疗杉,去河邊找鬼。 笑死蚕礼,一個胖子當(dāng)著我的面吹牛烟具,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播奠蹬,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼朝聋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了囤躁?” 一聲冷哼從身側(cè)響起冀痕,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎狸演,沒想到半個月后言蛇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡宵距,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年腊尚,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片满哪。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡婿斥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出哨鸭,到底是詐尸還是另有隱情民宿,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布像鸡,位于F島的核電站勘高,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜华望,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一蕊蝗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赖舟,春花似錦蓬戚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至石洗,卻和暖如春幢泼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背讲衫。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工缕棵, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人涉兽。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓招驴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親枷畏。 傳聞我的和親對象是個殘疾皇子别厘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容