014_Elastic解决方案

Elastic 各类工具

  1. ELasticsearch 作为搜索引擎提高搜索速度

  2. Kibana 作为一个 common 的 UI 管理界面,包含了很多模块的管理

  3. Logstash 作为一个 ETL 工具进行数据抽取到 ES 中(也可以输出到其他目的地),相对于 Elastic 的其他数据抓取工具,它更专业,更全面,它提供了大量的插件可以进行更灵活的 ETL 工作。

  4. Ingest Node 是 Elasticsearch 中的一种节点类型,或者一个节点可以扮演的角色,对通过 ES 的 REST api 的方式进入 ES 的数据进行预处理后再输入到 ES,相对 Logstash 来说能做的事情不多,但是也更方便

  5. beats 是一类专门抓取特定数据的轻量ETL 工具的集合,例如 metric beat 用来抓取服务器硬件、操作系统、应用程序(规范、知名的)的指标数据;packetbeat 用来抓取网络流量数据;filebeat 用来抓取文件中的数据(通常可以用来抓取日志数据)等等。

    它的轻量是相对于 Logstash 来说的,对于用户来说,beats 都是开箱即用的,只需要 enable 指定 beat 中的一些特定模块即可,但是 logstash 需要进行一些脚本配置的工作。但是相对于 logstash 来说,它只能完成对于特定数据的抓取工作。

  6. APM 是 Elastic 公司开发的一款用来监控用户自己的程序的软件,实现原理是通过讲一个 APM agent 内嵌到用户的程序中,定时向 APM server 发送监控数据,然后APM server 将数据写入到 ES,最后在 Kibana 进行相关可视化操作。

  7. Monitering 是 X-pack 中的一个免费模块,可以进行对 Elasticsearch 和 Kibana 的专业监控,它在 KIbana 中拥有一个独立的面板"堆栈检测"。

  8. Alerting 也是 X-pack 中的一个收费模块,可以针对一定条件进行告警。

  9. Machine Learning 也是 X-Pack 中的一个收费模块,可以对数据进行异常检测、预测。

  10. Canvas 也是 X-Pack 中的一个免费模块,它在 Kibana 中也拥有一个独立的面板,可以用于创建"数据大屏"(例如机场大屏、秒杀流量大屏、用户数据大屏等等)

场景问题分类

  1. 针对异常检测的方案

    对于 Elasticsearch、Kibana 本身的异常检测,我们通过 X-pack 的 monitering 即可解决。

    对于一些通用软件的异常检测我们可以通过 metricbeat 实现。

    对于应用程序的调用链路和性能检测通过 APM 实现(skywalking 待看)。

    对于业务数据或者一些具体的业务异常,我们通过 filebeat、logstash、mq 等将具体的日志导入到 ES 中通过构建可视化组件、Dashboard、机器学习等进行异常检测。


   转载规则


《014_Elastic解决方案》 阿钟 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录