博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot应用整合ELK实现日志收集
阅读量:3903 次
发布时间:2019-05-23

本文共 2723 字,大约阅读时间需要 9 分钟。

 

ELK即Elasticsearch、Logstash、Kibana,组合起来可以搭建线上日志系统,本文主要讲解使用ELK来收集SpringBoot应用产生的日志。

  • Elasticsearch:用于存储收集到的日志信息;
  • Logstash:用于收集日志,SpringBoot应用整合了Logstash以后会把日志发送给Logstash,Logstash再把日志转发给Elasticsearch;
  • Kibana:通过Web端的可视化界面来查看日志。

docker pull elasticsearch:6.4.0docker pull logstash:6.4.0docker pull kibana:6.4.0

  • elasticsearch 启动成功需要特殊配置,具体参考中的elasticsearch部分;
  • docker-compose.yml文件地址:
  • logstash-springboot.conf配置文件地址:

input {  tcp {    mode => "server"    host => "0.0.0.0"    port => 4560    codec => json_lines  }}output {  elasticsearch {    hosts => "es:9200"    index => "springboot-logstash-%{+YYYY.MM.dd}"  }}

mkdir /mydata/logstash

version: '3'services:  elasticsearch:    image: elasticsearch:6.4.0    container_name: elasticsearch    environment:      - "cluster.name=elasticsearch" #设置集群名称为elasticsearch      - "discovery.type=single-node" #以单一节点模式启动      - "ES_JAVA_OPTS=-Xms512m -Xmx512m" #设置使用jvm内存大小    volumes:      - /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins #插件文件挂载      - /mydata/elasticsearch/data:/usr/share/elasticsearch/data #数据文件挂载    ports:      - 9200:9200      - 9300:9300  kibana:    image: kibana:6.4.0    container_name: kibana    links:      - elasticsearch:es #可以用es这个域名访问elasticsearch服务    depends_on:      - elasticsearch #kibana在elasticsearch启动之后再启动    environment:      - "elasticsearch.hosts=http://es:9200" #设置访问elasticsearch的地址    ports:      - 5601:5601  logstash:    image: logstash:6.4.0    container_name: logstash    volumes:      - /mydata/logstash/logstash-springboot.conf:/usr/share/logstash/pipeline/logstash.conf #挂载logstash的配置文件    depends_on:      - elasticsearch #kibana在elasticsearch启动之后再启动    links:      - elasticsearch:es #可以用es这个域名访问elasticsearch服务    ports:      - 4560:4560

docker-compose up -d

注意:Elasticsearch启动可能需要好几分钟,要耐心等待。 

# 进入logstash容器docker exec -it logstash /bin/bash# 进入bin目录cd /bin/# 安装插件logstash-plugin install logstash-codec-json_lines# 退出容器exit# 重启logstash服务docker restart logstash

systemctl stop firewalld

访问地址:

net.logstash.logback
logstash-logback-encoder
5.3

注意appender节点下的destination需要改成你自己的logstash服务地址,比如我的是:192.168.3.101:4560 。

${APP_NAME}
${LOG_FILE_PATH}/${APP_NAME}-%d{yyyy-MM-dd}.log
30
${FILE_LOG_PATTERN}
192.168.3.101:4560

搭建了ELK日志收集系统之后,我们如果要查看SpringBoot应用的日志信息,就不需要查看日志文件了,直接在Kibana中查看即可。

 

转载地址:http://vyten.baihongyu.com/

你可能感兴趣的文章
HDU 2456 饭卡 (01背包)
查看>>
HDU 1559 最大子矩阵
查看>>
Open Judge 4010 :2011
查看>>
百练OJ-2815 城堡问题【DFS】
查看>>
CODE[VS] 1025 选菜 【背包】
查看>>
POJ 1724 ROADS【DFS+剪枝】
查看>>
AOJ 847 整数拆段
查看>>
AOJ 848 分数拆分
查看>>
UVA 133 The Dole Queue 【约瑟夫环】
查看>>
XDOJ 1208 B.笑爷买房 【DFS】
查看>>
部门年度工作总结的内容
查看>>
pandas学习笔记
查看>>
Numpy笔记
查看>>
正则表达式
查看>>
python线程进程笔记
查看>>
TensorFlow初学者必须了解的55个经典案例
查看>>
机器学习笔记
查看>>
数十种TensorFlow实现案例汇集:代码+笔记
查看>>
python记录的错误与知识
查看>>
内核中各种套接字的关系
查看>>