1 ELK各组件介绍?
ELK Stack是elasticsearch、logstash、kibana是三个开源软件的组合,
fielbeat是一个轻量级日志收集工具,类似于Linux系统中tail -f监控文件变化的功能。
Logstash是一款开源的日志收集处理框架,负责数据的采集和格式化
Elasticsearch是一个开源的分布式搜索引擎,用于数据的快速索引存储。
Kibana负责提供web展示功能,Grafana是类似于kibana,也是对后端数据进行实时展示。
2 为什么需要日志分析
闲扯淡。。。主要原因是不想将时间花在帮开发或运营找各种日志上。。
日志主要包括系统级别日志,应用程序访问和错误日志。一般在没搭建日志分析系统之前获取日志,都是纯手工通过awk,sed,grep解决,而通过日志分析可以近乎时时查看日志,对于出现的致命错误日志,或者状态码异常等,可以通过配置报警策略以后短信、微信、rtx等报警。
3 拓扑图
为了帮大家进一步理解日志处理流程,画了一个拓扑图。
处理流程:
- filebeat从不同服务端收集日志转发给logstash处理。
- logstash将filebeat收集的日志进行格式化处理,比如使用logstash的geoip插件,可以做到查看客户端IP地址信息,比如哪个国家,哪个城市。
- 然后通过elasticsearch对格式化后的数据进行索引和存储,最后交由kibana或grafana展示。
简单来说,进行日志处理分析,一般需要经过以下几个步骤:
- 将日志进行集中化管理(filebeat)
- 将日志格式化(logstash)
- 对格式化后的数据进行索引和存储(elasticsearch)
- 前端数据的展示(kibana/grafana)
简单就介绍就到这里了,我们的日志分析系统将通过filebeat + logstash + elasticsearch + grafana实现。
没有选择kibana的原因:
- kibana界面太丑了
- 对grafana情有独钟,对他感冒
- open-falcon监控也是通过grafana出图(写完日志分析之后,会写open-falcon系列)