ELK 已经成为目前最流行的集中式部署和分布式部署日志解决方案它主要是由Beats、Logstash、Elasticsearch、Kibana等组件组成,来共同完成实时日志的收集存储,展示等一站式的解决方案本文将会介绍ELK常见的架构以及相关问题解决。
问题:如何将Kibana中显示日志的时间字段替换为日志信息中的时间
默认情况下,我们在Kibana中查看的时间字段与日志信息中嘚时间不一致因为默认的时间字段值是日志收集时的当前时间,所以需要将该字段的时间替换为日志信息中的时间
解决方案:使用grok分詞插件与date时间格式化插件来实现
在Logstash的配置文件的过滤器中配置grok分词插件与date时间格式化插件,如:
② 以配置项的方式规则为:(?<自定义表达式名称>正则匹配规则),如:
问题:如何在Kibana中通过选择不同的系统日志模块来查看数据
一般在Kibana中显示的日志数据混合了来自不同系统模块的數据那么如何来选择或者过滤只查看指定的系统模块的日志数据?
解决方案:新增标识不同系统模块的字段或根据不同系统模块建ES索引
1、新增标识不同系统模块的字段然后在Kibana中可以根据该字段来过滤查询不同模块的数据
这里以第二种部署架构讲解,在Filebeat中的配置内容为:
通过新增:log_from字段来标识不同的系统模块日志
2、根据不同的系统模块配置对应的ES索引然后在Kibana中创建对应的索引模式匹配,即可在页面通过索引模式下拉框选择不同的系统模块数据
这里以第二种部署架构讲解,分为两步:
① 在Filebeat中的配置内容为:
本文主要介绍了ELK实时日志分析嘚三种部署架构以及不同架构所能解决的问题,这三种架构中第二种部署方式是时下最流行也是最常用的部署方式最后介绍了ELK作在日誌分析中的一些问题与解决方案,说在最后ELK不仅仅可以用来作为分布式日志数据集中式部署和分布式部署查询和管理,还可以用来作为項目应用以及服务器资源监控等场景更多内容请看官网。