Logback+ELK+SpringMVC搭建日志收集服務(wù)器

轉(zhuǎn)自:https://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==&mid=2247484140&idx=2&sn=c48a3144aa11d7acb7ebbe2539902b2e&chksm=9bd0af74aca72662638579bebe27a17bc211819c4023d250b015dca5cdeeea08b4efc83b5a57&mpshare=1&scene=1&srcid=08294kC84XBsaUHTrmvjEpCb#rd

原創(chuàng)?2017-08-25?李東?程序猿DD

今天給大家?guī)淼氖莑ogback+ELK+SpringMVC 日志收集服務(wù)器搭建。接下來我會介紹ELK是什么?logback是什么扛芽?以及搭建的流程。

1.ELK是什么痹筛?

ELK是由Elasticsearch银萍、Logstash、Kibana這3個軟件的縮寫患整。

Elasticsearch是一個分布式搜索分析引擎眯停,穩(wěn)定济舆、可水平擴展、易于管理是它的主要設(shè)計初衷

Logstash是一個靈活的數(shù)據(jù)收集莺债、加工和傳輸?shù)墓艿儡浖?/p>

Kibana是一個數(shù)據(jù)可視化平臺滋觉,可以通過將數(shù)據(jù)轉(zhuǎn)化為酷炫而強大的圖像而實現(xiàn)與數(shù)據(jù)的交互將三者的收集加工,存儲分析和可視轉(zhuǎn)化整合在一起就形成了 ELK 齐邦。

2.ELK流程

ELK的流程應(yīng)該是這樣的:Logback->Logstash->(Elasticsearch<->Kibana)

應(yīng)用程序產(chǎn)生出日志椎侠,由logback日志框架進行處理。

將日志數(shù)據(jù)輸出到Logstash中

Logstash再將數(shù)據(jù)輸出到Elasticsearch中

Elasticsearch再與Kibana相結(jié)合展示給用戶

3.ELK官網(wǎng)

https://www.elastic.co/guide/index.html

4. 環(huán)境配置

4.1 基礎(chǔ)環(huán)境

jdk 1.8

Centos 7.0 X86-64 注意:ELK服務(wù)不能在root用戶開啟措拇。需要重新創(chuàng)建用戶我纪。 下載ELK相關(guān)服務(wù)壓縮包 創(chuàng)建ELK用戶和目錄并賦予權(quán)限,方便統(tǒng)一管理。

[root@localhost /]# mkdir elsearch

[root@localhost /]# groupadd ?elsearch

[root@localhost /]# useradd -g elsearch elsearch

[root@localhost /]# chown -R elsearch:elsearch /elsearch

[root@localhost /]# su elsearch

[elk@localhost /]$ cd elsearch

4.2 下載,然你也可以去官網(wǎng)找最新版的

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz

wget https://artifacts.elastic.co/downloads/logstash/logstash-5.2.2.tar.gz

wget https://artifacts.elastic.co/downloads/kibana/kibana-5.2.2-linux-x86_64.tar.gz

我這里是以5.2.2為例來實現(xiàn)丐吓。

4.3 配置Elasticsearch

Elasticsearch是可以搭建集群,我這邊只是解壓后直接修改配置文件

elasticsearch.yml

cluster.name: es_cluster_1

node.name: node-1

path.data: /usr/local/services/elasticsearch-5.2.2/data ? ? ? ? ? ? ?

path.logs:/usr/local/services/elasticsearch-5.2.2/logs

network.host: 192.168.10.200

http.port: 9200

啟動ElasticSearch,訪問http://192.168.10.200:9200/

看到如上的界面就代表啟動成功浅悉。

注意:安裝過程中出現(xiàn)一些問題。在這篇文章中已經(jīng)都給我們解決了券犁。

http://www.cnblogs.com/sloveling/p/elasticsearch.html

4.4 配置logstash

解壓

tar -zxvf /usr/local/services/logstash-5.2.2.tar.gz

測試配置,只是測試服務(wù)是否啟動术健。還有這個文件是沒有的,啟動時加上這個路徑就是以這個配置啟動

vi /usr/local/services/logstash-5.2.2/config/logstash.conf

input {

stdin { }

}

output {

stdout {

codec => rubydebug {}

}

}

logstash以配置文件方式啟動有兩種:

列表內(nèi)容 logstash -f logstash-test.conf //普通方式啟動

logstash agent -f logstash-test.conf --debug//開啟debug模式

./bin/logstash -f config/logstash.conf --debug

啟動成功會看到如下的結(jié)果:

這是時候,我們在控制臺隨便輸入都可以被收集

n"=>"1", "host"=>"localhost", "message"=>"我們都是好好"}}

{

? ?"@timestamp" => 2017-08-18T05:45:25.340Z,

? ? ?"@version" => "1",

? ? ? ? ?"host" => "localhost",

? ? ? "message" => "我們都是好好"

}

[2017-08-18T13:45:26,933][DEBUG][logstash.pipeline ? ? ? ?] Pushing flush onto pipeline

[2017-08-18T13:45:31,934][DEBUG][logstash.pipeline ? ? ? ?] Pushing flush onto pipeline

4.5 配置logstash

配置kibana

解壓

[elsearch@localhost root]$ tar -zxvf /usr/local/services/kibana-5.2.2-linux-x86_64.tar.gz

打開配置

[elsearch@localhost root]$ vim /usr/local/services/kibana-5.2.2-linux-x86_64/config/kibana.yml

修改配置,最后最加

server.port: 8888

server.host: "192.168.10.200"

elasticsearch.url: "http://192.168.10.200:9200"

啟動

[elsearch@localhost root]$ /usr/local/services/kibana-5.2.2-linux-x86_64/bin/kibana &

訪問地址 http://192.168.10.200:8888

基本ELK的環(huán)境的搭建就ok了,我們接下來學(xué)習(xí)logback-ELK整合來收集JavaEE中的日志粘衬。

4.6 logback-ELK整合

4.6.1 本案列采用maven管理

pom.xml


4.6.2配置logaback的配置文件


注意:logstash接收日志的地址192.168.10.200:8082

4.6.3配置logstash-test.conf

vi logstash-test.conf

input {

tcp {

? ? ? ?host => "192.168.10.200"

? ? ? ?port => 8082

? ? ? ?mode => "server"

? ? ? ?ssl_enable => false

? ? ? ?codec => json {

? ? ? ? ? ?charset => "UTF-8"

? ? ? ?}

? ?}

}

output {

? ?elasticsearch {

? ?hosts => "192.168.10.200:9200"

? ?index => "logstash-test"

? ?}

?stdout { codec => rubydebug {} }

}

啟動收集

./bin/logstash -f config/logstash-test.conf --debug

4.6.4配置Controller添加日志輸出

package com.example.demo;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RestController;

@RestController

public class TestEndpoints {

? ?private final static Logger logger = LoggerFactory.getLogger(TestEndpoints.class);

? ?@GetMapping("/product/{id}")

? ?public String getProduct(@PathVariable String id) {

? ? ? ?String data = "{\"name\":\"李東\"}";

? ? ? ?logger.info(data);

? ? ? ?return "product id : " + id;

? ?}

? ?@GetMapping("/order/{id}")

? ?public String getOrder(@PathVariable String id) {

? ? ? ?return "order id : " + id;

? ?}

}

請求調(diào)用之后控制臺的log

之后Kibana中就可以收集到log

{

?"_index": "logstash-test",

?"_type": "logs",

?"_id": "AV3zu4jiJKLF9tWSjmZj",

?"_score": null,

?"_source": {

? ?"@timestamp": "2017-08-18T05:04:51.698Z",

? ?"level": "INFO",

? ?"port": 56525,

? ?"thread_name": "http-nio-8081-exec-10",

? ?"level_value": 20000,

? ?"@version": 1,

? ?"host": "192.168.10.165",

? ?"logger_name": "com.example.demo.TestEndpoints",

? ?"message": "{\"name\":\"李東\"}"

?},

?"fields": {

? ?"@timestamp": [

? ? ?1503032691698

? ?]

?},

?"sort": [

? ?1503032691698

?]

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末荞估,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子稚新,更是在濱河造成了極大的恐慌勘伺,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件褂删,死亡現(xiàn)場離奇詭異飞醉,居然都是意外死亡,警方通過查閱死者的電腦和手機屯阀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門冒掌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來噪裕,“玉大人蹲盘,你說我怎么就攤上這事股毫。” “怎么了召衔?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵铃诬,是天一觀的道長。 經(jīng)常有香客問我苍凛,道長趣席,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任醇蝴,我火速辦了婚禮宣肚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悠栓。我一直安慰自己霉涨,他們只是感情好,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布惭适。 她就那樣靜靜地躺著笙瑟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪癞志。 梳的紋絲不亂的頭發(fā)上往枷,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機與錄音凄杯,去河邊找鬼错洁。 笑死,一個胖子當著我的面吹牛戒突,可吹牛的內(nèi)容都是我干的屯碴。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼妖谴,長吁一口氣:“原來是場噩夢啊……” “哼窿锉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起膝舅,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤嗡载,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后仍稀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洼滚,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年技潘,在試婚紗的時候發(fā)現(xiàn)自己被綠了遥巴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片千康。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖铲掐,靈堂內(nèi)的尸體忽然破棺而出拾弃,到底是詐尸還是另有隱情,我是刑警寧澤摆霉,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布豪椿,位于F島的核電站,受9級特大地震影響携栋,放射性物質(zhì)發(fā)生泄漏搭盾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一婉支、第九天 我趴在偏房一處隱蔽的房頂上張望鸯隅。 院中可真熱鬧,春花似錦向挖、人聲如沸蝌以。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饼灿。三九已至,卻和暖如春帝美,著一層夾襖步出監(jiān)牢的瞬間碍彭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工悼潭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留庇忌,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓舰褪,卻偏偏與公主長得像皆疹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子占拍,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

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