ELK +springboot搭建统一日志管理平台

环境准备

  • 官网下载elk安装包
  • elk依赖java环境,下载jdk
  • 安装elasticsearch会出现磁盘内存等异常请自行百度解决方案

安装及更改配置

  1. 在cd /usr 创建目录 mkdir elk
  2. 由于root用户运行elasticsearch,因此创建一个用户组添加用户
gropuadd  elk
useradd elk -g elk -p elk
cd /usr
chown -R elk:elk /elk(给elk用户赋权)

3.解压elasticsearch,配置yml

cd /usr/elk/elasticsearch/config
vi elasticsearch.yml
---------------------------------
注释放开:
node.name: sonhai1
network.host: 0.0.0.0
http.port: 9200
node.name: sonhai1
cluster.initial_master_nodes: ["sonhai1"]

4.切换elk用户 运行elasticsearch

su elk
sh elasticsearch &

5.解压kibana 修改配置文件(此处切回root用户: su root)

解压过程略
关键是配置文件
------------------------------------------------
cd /usr/elk/kibana/config
vi kibana.yml
----------------
server.port: 5601 (端口,后面要跟springboot项目匹配)
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"] (匹配elasticsearch路径)
kibana.index: ".kibana"
i18n.locale: "zh-CN"(国际化)

6.切换elk用户 运行kibana ,访问http://域名:5601

cd /usr/elk/kibana/bin
sh kibana &	

ELK +springboot搭建统一日志管理平台_第1张图片
7.解压logstash 更改配置 启动(切回root)

解压过程略
cd /usr/elk/bin
在bin目录创建文件logstash1.conf,作为启动配置
------------------------------
input {
  tcp {
    port => 4560
    mode => "server"
    type => "tcplog"
    codec => "json"
  }
}

output {
    elasticsearch {
    action => "index"          #The operation on ES
    hosts  => "localhost:9200"   #ElasticSearch host, can be array.
    index => "logstash-tcplog-sonhai-%{+YYYY.MM.dd}"
  }
}
--------------------------------------
注意:input里作为日志来源,这里配置tcp通过socket传输,端口为4560,即springboot项目日志映射的端口
output是输出值elasticsearch中,hosts为elasticsearch的端口,index为springboot项目日志文件中配置的索引

8.切换elk用户 启动项目

cd /usr/elk/logstash/bin
sh logstash -f logstash1.conf

9.springboot项目部署

  • 添加pom依赖
	
			net.logstash.logback
			logstash-logback-encoder
			4.10
		
  • 在resource目录下创建logback.xml


    
    
    
    
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg  %n
        
    
    
    
        
            
            ${LOG_HOME}/runtime-info-%d{yyyy-MM-dd}.log
            
            30
        
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
        
        
            INFO
            ACCEPT
            DENY
        
        
        
            10MB
        
    
    
        
            
            ${LOG_HOME}/runtime-debug-%d{yyyy-MM-dd}.log
            
            30
        
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
        
        
            DEBUG
            ACCEPT
            DENY
        
        
        
            10MB
        
    
    
        
            
            ${LOG_HOME}/runtime-error-%d{yyyy-MM-dd}.log
            
            30
        
        
            
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
        
        
            ERROR
            ACCEPT
            DENY
        
        
        
            10MB
        
    

    
        
        192.168.49.130:4560
        
            {"logstash-tcplog-sonhai-%{+YYYY.MM.dd}":"myapp"}
        
    


    
    
        
        
        
        
        
    



--------------------------------------------------------
说明:

        
        192.168.49.130:4560
        
            {"logstash-tcplog-sonhai-%{+YYYY.MM.dd}":"myapp"}
        
    
    中的 配置的即时远程的logstash域名及端口4560与logstash自定义的配置文件保持一致
    作为索引的名称logstash-tcplog-sonhai-%{+YYYY.MM.dd} 和上面配置保持一致,后面的值自定义,后面会展示到索引为logstash-tcplog-sonhai-%{+YYYY.MM.dd}的后面

最后在页面代码中使用日志
ELK +springboot搭建统一日志管理平台_第2张图片

=================================================================================
到这里完成所有配置了。
下面展示下页面效果
ELK +springboot搭建统一日志管理平台_第3张图片
ELK +springboot搭建统一日志管理平台_第4张图片
然后就能访问日志了,且可以通过日期字段等条件筛选展示
ELK +springboot搭建统一日志管理平台_第5张图片

你可能感兴趣的:(elk,springboot,elk,springboot)