你好,我是日拱一兵
前言最近在折腾ELK日志平台,它是Elastic公司推出的一整套日志收集、分析和展示的解决方案。
专门实操了一波,这玩意看起来简单,但是里面的流程步骤还是很多的,而且遇到了很多坑。在此记录和总结下。
本文亮点:一步一图、带有实操案例、踩坑记录、与开发环境的日志结合,反映真实的日志场景。
日志收集平台有多种组合方式:
ELKStack方式:Elasticsearch+Logstash+Filebeat+Kibana,业界最常见的架构。Elasticsearch+Logstash+Kafka+Kibana,用上了消息中间件,但里面也有很多坑,放到下一讲。这次先讲解ELKStack的方式,这种方式对我们的代码无侵入,核心思想就是收集磁盘的日志文件,然后导入到Elasticsearch。
比如我们的应用系统通过logback把日志写入到磁盘文件,然后通过这一套组合的中间件就能把日志采集起来供我们查询使用了。
整体的架构图如下所示,
流程如下:
先使用Filebeat把日志收集起来,然后把数据再传给Logstash。通过Logstash强大的数据清洗功能。最终把数据写入到Elasticsearch中。并由Kibana进行可视化。温馨提示:以下案例都在一台ubuntu虚拟机上完成,内存分配了6G。
一、部署Elasticsearch数据库获取elasticsearch镜像
dockerpullelasticsearch:7.7.1
创建挂载目录
mkdir-p/data/elk/es/{config,data,logs}
赋予权限
chown-R:/data/elk/es
创建配置文件
cd/data/elk/es/configtouchelasticsearch.yml-----------------------配置内容----------------------------------cluster.name:"my-es"network.host:0.0.0.0