日志在项目中起到了性能监控、异常定位、数据分析等非常重要的作用。虽然主流工具如Tomcat,Nginx等都会生成日志文件。但在分布式架构中,不同的服务部署在不同的服务器上,这样就产生了日志量大,数据分散,搜索不方便等问题。于是我们需要搭建集中式日志平台,将所有节点上的日志进行统一管理,让日志数据最大限度的发挥作用。
Elastic公司提供了一整套搭建集中式日志平台的解决方案。最开始由Elasticsearch、Logstash、Kibana三个工具组成,简称ELK。在发展的过程中又有新成员Beats的加入,形成了Elastic Stack。
- Elasticsearch:Elasticsearch基于java开发的分布式搜索引擎,他可以对日志数据进行存储、搜索、分析等 *** 作。
- Kibana:Kibana为Elasticsearch提供了友好的日志分析Web界面,通过仪表板等可视化组件展示日志数据。
- Logstash:Logstash可以对日志进行收集、分析处理,然后输出到存储系统如Elasticsearch中。
- Beats:由于Logstash是在jvm中运行,收集数据时资源消耗比较大,elastic又推出了一系列轻量级的数据采集工具,这些工具统称为Beats,Beats收集的数据可以直接输出到Elasticsearch中,也可以通过Logstash处理后输出到Elasticsearch中。Beats有以下常用工具:
Filebeat:用于监控、收集服务器日志文件。
Metricbeat:可以监控、收集系统的CPU使用率、内存、磁盘IO等数据,以及 Apache、
NGINX、MongoDB、MySQL、Redis 等服务的指标。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)