ELK简介
ELK是由 Elasticsearch、Logstash和Kibana 三部分组件组成。
Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash 是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用。
一般工作方式为c/s架构,client端安装在需要收集日志的主机上(本例中为集成在Springboot项目中),server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
在本示例中, 工作流畅是: Springboot集成Logstash收集日志, 再把日志发送到ElasticSearch中, 最后用户通过kibana连接ElasticSearch查看日志数据
ELK安装
直接使用docker-compose安装简单粗暴, 不整那些花里胡哨的操作,
先新建目录: mkdir -p /data/elk/{elasticsearch/data,kibana,logstash,}
保存配置文件: docker-compose.yml (软件版本要统一, 当前最新版为 7.16.1) :
1 | version: '3' |
1 | 授权目录 |
等一会容器都启动成功了就打开浏览器访问Kibana: http://localhost:5601
, 正常情况就会出现欢迎界面
汉化kibana
编辑配置文件 /data/elk/kibana/config/kibana.yml
, 新增: i18n.locale: zh-CN
改完配置后重启kibana: docker restart elk_kibana
Springboot整合Logstash
在pom.xml
新增依赖
1 | <dependency> |
修改Springboot项目中日志配置文件logback.xml
, 在相应位置增加配置:
1 |
|
启动Springboot项目后再查看kibana就可以看到日志了