ES和Solor都是起源于Lucene
Lucene是一个基于Java语言开发的搜索引擎类库,创建于1999年,于2005年称为Apache顶级开源项目,它具有高性能、可扩展的优点;但是有很多局限性如:只能基于Java语言开发、类库的接口学习曲线陡峭、原生并不支持水平扩展

1.1 ElasticSearch的诞生

2010年Shay Banon重写了Compass并命名为ElasticSearch,它支持分布式水平扩展,降低全文检索的学习曲线,可以被任何编程语言调用。

image.png

ES支持多种方式集成接入,如Java、Python、Perl,支持RESTful API

1.2 ES的主要功能

  1. 搜索
  2. 聚合
  • 海量数据的分布式存储以及集群管理
  • 近实时搜索,性能卓越,结构化/全文/地理位置/自动完成
  • 海量数据的近实时分析,聚合能力

    1.3 Elastic Stack 生态圈

    image.png

    1.3.1 Logstash 数据处理管道

开源的服务端数据处理管道,支持从不同来源采集数据,转换数据,并将数据发送到不同的存储库中。
特性

  1. 实时解析和转换数据
    1. 从IP地址破译出地理坐标
    2. 将PII数据匿名化,完全排除敏感字段
  2. 可扩展
    1. 200多个插件
  3. 可靠的安全性
    1. Logstash会通过持久化队列来保证至少将运行中的事件送达一次
    2. 数据传输加密
  4. 监控

1.3.2 Kibana 可视化分析利器

  1. Kibana(kiwifruit Banana)
  2. 数据可视化工具,帮助用户揭开对数据的任何疑问
  3. 基于Logstash的工具,2013年加入Elastic公司

image.png

1.3.3 BEATS 轻量级数据采集器

1.3.4 X-Pack 商业化套件

1.4 ELK应用场景

image.png

1.4.1 日志的重要性

image.png

  • 为什么重要
    • 医生给病人看病。日志就是病人对自己的陈述,可以再出现问题的时候及时排查
    • 恶意攻击、恶意注册、刷单、恶意密码猜测

image.png
日志搜集:需要对日志进行格式化分析,入库是如果发现异常需要发出风险警告
数据存储
image.png
指标分析/日志分析
image.png