一廓块、第一步在docker上安裝ELK
1厢绝、創(chuàng)建目錄
mkdir /home/xijie/app/myelk
2、從github上拉取部署elk所需資料
$ git clone https://github.com/deviantony/docker-elk.git
下載完畢的資料目錄如下:
3带猴、進入剛下載的文件夾內
$ cd docker-elk
4代芜、通過docker-compose創(chuàng)建并啟動容器
$ docker-compose up -d
5、這個時候通過docker ps可以看到logstash浓利、elasticsearch挤庇、kibana容器已經(jīng)創(chuàng)建并且啟動。
可以看該elk容器的默認端口為:
- 5000: Logstash TCP input.
- 9200: Elasticsearch HTTP
- 9300: Elasticsearch TCP transport
- 5601: Kibana
Kibana的web入口:
http://localhost:5601
6贷掖、接下來進行參數(shù)配置嫡秕,來實現(xiàn)springboot通過ELK查看日志信息。
修改logstash的配置苹威,
進入logstash配置文件所在目錄:
cd /home/xijie/app/myelk/dokcer-elk/logstash/pipeline
打開配置文件:
vim logstash.conf
修改內容如下:
input{ tcp { mode => "server" port => 5000 codec => json_lines tags => ["data-http"] }}filter{ json{ source => "message" remove_field => ["message"] }}output{ if "data-http" in [tags]{ elasticsearch{ hosts=> ["elasticsearch:9200"] index => "data-http-%{+YYYY.MM.dd}" } stdout{codec => rubydebug} }}
注:
input標簽為logstash進數(shù)據(jù)接口昆咽,filter標簽為數(shù)據(jù)過濾器,output為數(shù)據(jù)出去接口牙甫。
input標簽使用的是tcp掷酗,說明springboot客戶端需要將日志傳遞到該接口,該接口正是logstash服務器接口窟哺。
filter將message字段去掉泻轰,只是為了當展示springboot的http請求接口的數(shù)據(jù)更加規(guī)整,而不是全部展示在message字段中且轨。
output標簽將數(shù)據(jù)傳遞給了elasticsearch浮声,這里使用了if虚婿,當判斷所出數(shù)據(jù)為所指定tag,才進行下面的配置泳挥。特別要注意index的配置然痊,該值在kibana中需要使用,這里指定的index值為:data-http屉符,要注意該值與tag是沒有關系的剧浸,要注意區(qū)分。
進入docker-elk目錄
/home/xijie/app/myelk/docker-elk
然后重啟
docker-compose restart
關于elasticsearch矗钟、logstash辛蚊、kibana的配置都在對應目錄下的config文件夾中的.yml文件中,只需要修改該文件即可真仲。
二袋马、springboot日志系統(tǒng)配置logstash
1、pom中配置logstash
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>5.2</version>
</dependency>
2秸应、application.properties文件中配置如下:
logstash日志收集地址虑凛,即logstash服務器地址
logstash.ip_port=172.168.0.165:5000
日志保存級別
logging.all.level=info
日志保存地址,該值與logstash沒關系软啼,是當日志存在本地File文件內的文件夾地址
logging.levelfile=/home/logs/data-center-service
2桑谍、logback.xml文件內容如下,該文件在resources目錄
文章地址:https://blog.csdn.net/zhizhuodewo6/article/details/86630712