docker-compose部署ELK(logstash、elasticsearch、kibana),监控日志

一、第一步在docker上安装ELK

1、创建目录

mkdir /home/xijie/app/myelk

2、从github上拉取部署elk所需资料

$ git clone https://github.com/deviantony/docker-elk.git

下载完毕的资料目录如下:

image

3、进入刚下载的文件夹内

$ cd docker-elk

4、通过docker-compose创建并启动容器

$ docker-compose up -d

5、这个时候通过docker ps可以看到logstash、elasticsearch、kibana容器已经创建并且启动。

image

可以看该elk容器的默认端口为:

  • 5000: Logstash TCP input.
  • 9200: Elasticsearch HTTP
  • 9300: Elasticsearch TCP transport
  • 5601: Kibana

Kibana的web入口:
http://localhost:5601

6、接下来进行参数配置,来实现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进数据接口,filter标签为数据过滤器,output为数据出去接口。

input标签使用的是tcp,说明springboot客户端需要将日志传递到该接口,该接口正是logstash服务器接口。

filter将message字段去掉,只是为了当展示springboot的http请求接口的数据更加规整,而不是全部展示在message字段中。

output标签将数据传递给了elasticsearch,这里使用了if,当判断所出数据为所指定tag,才进行下面的配置。特别要注意index的配置,该值在kibana中需要使用,这里指定的index值为:data-http,要注意该值与tag是没有关系的,要注意区分。

进入docker-elk目录

/home/xijie/app/myelk/docker-elk
然后重启

docker-compose restart
关于elasticsearch、logstash、kibana的配置都在对应目录下的config文件夹中的.yml文件中,只需要修改该文件即可。

二、springboot日志系统配置logstash

1、pom中配置logstash


net.logstash.logback
logstash-logback-encoder
5.2

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

你可能感兴趣的:(docker-compose部署ELK(logstash、elasticsearch、kibana),监控日志)