ELK方便的日志采集,搜索和显示工具

优采云 发布时间: 2020-08-09 01:50

  在开发子部署系统时,经常会因为查找日志而感到头疼,因为每个服务器和每个应用程序都有自己的日志,但是它分散且查找起来比较麻烦. 今天,我推荐了一套方便的ELK工具,ELK是Elastic开发的完整的日志分析技术堆栈. 它们是Elasticsearch,Logstash和Kibana,称为ELK. Logstash进行日志采集和分析,Elasticsearch是搜索引擎,而Kibana是Web显示界面.

  1. 日志采集与分析Logstash

  LogstashLogstash是用于接收,处理和转发日志的工具. 它支持系统日志,Web服务器日志,错误日志和应用程序日志,包括可以丢弃的所有类型的日志.

  Logstash的哲学很简单,它只做三件事:

  采集: 数据输入充实: 数据处理,例如过滤,重写等. 传输: 数据输出

  不要只看它,因为它只做三件事,但是通过组合输入和输出,可以更改多种架构以满足多种需求. 这只是解决日志摘要要求的部署架构图:

  

  说明术语:

  无论是托运人还是索引器,Logstash始终仅执行上述三件事:

  Logstash进程可以具有多个输入源,因此Logstash进程可以同时读取服务器上的多个日志文件. Redis是Logstash正式推荐的Broker角色的“候选人”. 它支持两种数据传输模式,订阅发布和队列,建议使用. 输入和输出支持过滤和重写. Logstash支持多个输出源. 您可以配置多个输出以实现数据的多个副本,或输出到Email,File,Tcp,或作为其他程序的输入,或安装插件以实现与其他系统(例如搜索引擎Elasticsearch)的对接.

  摘要: Logstash概念简单,可以通过组合满足多种需求.

  2,日志搜索Elasticsearch

  Elasticsearch是一个实时的分布式搜索和分析引擎. 它可以帮助您以前所未有的速度处理*敏*感*词*数据.

  它可以用于全文搜索,结构化搜索和分析,当然您也可以将这三者结合起来.

  Elasticsearch是基于全文搜索引擎Apache Lucene™的搜索引擎. 可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架.

  但是Lucene只是一个框架. 要充分利用其功能,您需要使用JAVA并将Lucene集成到程序中. 要了解它的工作原理,需要大量的学习和理解,Lucene确实非常复杂.

  Elasticsearch使用Lucene作为其内部引擎,但是将其用于全文搜索时,您只需要使用统一开发的API,就无需了解Lucene的复杂操作原理.

  当然,Elasticsearch并不像Lucene一样简单. 它不仅包括全文搜索功能,还包括以下任务:

  服务器中集成了许*敏*感*词*,您可以通过客户端或您喜欢的任何编程语言轻松地与ES的RESTful API通信.

  使用Elasticsearch入门非常简单. 它带有许多非常合理的默认值,使初学者可以避免一开始就面对复杂的理论.

  安装后即可使用,而且学习成本低,生产率很高.

  随着学习的深入和深入,您还可以使用Elasticsearch的更多高级功能,并且可以灵活配置整个引擎. 您可以根据自己的需求自定义自己的Elasticsearch.

  用例:

  但是Elasticsearch不仅适用于大型企业,它还帮助了DataDog和Klout等许多初创公司扩展了功能.

  这里简要介绍了与solr的比较,因为solr是目前最简化的搜索引擎,为什么不选择它呢?

  3. 日志显示Kibana

  Kibana是一个开源分析和可视化平台,旨在与Elasticsearch一起使用. 您可以使用kibana搜索,查看和与Elasticsearch索引中存储的数据进行交互. 使用各种图表,表格,地图等,kibana可以轻松显示高级数据分析和可视化.

  Kibana使我们易于理解大量数据. 它基于浏览器的简单界面允许您快速创建和共享动态仪表板,这些仪表板实时显示Elasticsearch查询中的更改. 安装Kibana的速度非常快. 您可以在几分钟之内安装并开始探索您的Elasticsearch索引数据,而无需编写任何代码,也没有任何其他基本软件依赖性.

  摘要

  整套软件可以看作是MVC模型,logstash是控制器层,Elasticsearch是模型层,kibana是视图层.

  首先将数据传输到logstash,它将对数据进行过滤和格式化(转换为JSON格式),然后将其传输到Elasticsearch进行存储并构建搜索索引. Kibana提供用于搜索和图表可视化的前端页面. 它将可视化通过调用Elasticsearch接口返回的数据. Logstash和Elasticsearch用Java编写,而kibana使用node.js框架. 具体建筑物的配置这里就不详细解释了,可以自己百度,其实很简单.

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线