docker 部署elk

本文将介绍:

1:使用docker一次性部署 Elasticsearch,Kibana,Logstash 三大件

2:springboot使用slf4j记录日志,并将日志推送到Elasticsearch,使用Kibana进行查看日志

本文只简单介绍搭建步骤,更多内容可以参考:elk-docker官网:https://elk-docker.readthedocs.io/

步骤开始:
1.Elasticsearch至少需要2G的容量,要不然会失败。

sysctl -w vm.max_map_count=262144

2.使用docker 拉取 elk镜像 我这里使用的是7.8.0版本,你也可以用命令:docker pull sebp/elk 拉取最新版本的镜像

docker pull sebp/elk:780

3.启动elk

 docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -itd --name elk sebp/elk:780

4.配置logstatsh(这一步是最重要的,很多部署失败都是这一步没有操作对)
使用命令进入docker容器

docker exec -it elk bin/bash

进入logstash配置目录

cd /etc/logstash/conf.d

列出启动elk时,默认安装的conf文件

ls

创建自定义的logstash.conf文件

vim logstash.conf

将以下内容复制到 logstash.conf 保存退出。退出elk容器(键盘组合键ctrl+p+q)

input {
    tcp {
        port => 5044
        codec => "json"
    }
}
output {
  elasticsearch {
    action => "index"
    hosts => ["localhost"]
    index => "%{[appname]}-%{+YYYY.MM}"
  }
}

删除默认安装的conf文件

rm 02-beats-input.conf  10-syslog.conf  11-nginx.conf  30-output.conf

5:重启elk

docker restart elk

至此elk-docker部署完毕。


下面开始讲解与springboot进行整合
1.pom添加maven依赖

 
        
            net.logstash.logback
            logstash-logback-encoder
            5.2
        
        
            ch.qos.logback
            logback-classic
            1.2.3
        

        
            org.aspectj
            aspectjweaver
            1.8.9
        

2.controller编写测试代码记录日志(Logger一定要选择slf4j包下的)

image.png

3.添加logback.xml文件。
logback.xml存放路径:


image.png

logback.xml内容(192.168.0.1替换成你部署elk的服务器ip):




    
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%level] %logger[:%line] - %msg%n
        
    

    logback
    

    
        
            info
        
        192.168.0.1:5044
        
        
            {"appname":"flight-status"}
        
        
            
                5 minutes
            
        
    

    
        
    
    
        
        
    


4.启动springboot 浏览器输入:localhost:8080/test 执行写好的测试代码。

5.打开Kibana查看日志,浏览器输入192.168.0.1:5601,点击红圈中的Connect to your Elasticsearch index

image.png

6.点击 红圈按钮


image.png

7.创建索引


image.png

8.下一步
image.png

9.使用discover查看日志


image.png

可以看到刚才使用springboot写的日志已经展示出来了


image.png

你可能感兴趣的:(docker 部署elk)