1. Why Elasticsearch?
ES是一个分布式、高扩展、高实时的搜索与数据分析引擎。分布式就是多节点存储,同时每个节点可以备份,提升数据安全性。能通过扩展服务节点达到很大的存储空间。
- 搜索服务:如京东购物搜索、腾讯文档全文搜索、应用商店搜索
- 日志实时分析:先用Beats、Logstash采集 -> Elasticsearch存储/查询 -> Kibana可视化。可用于:
- 业务日志:分析用户行为
- 状态日志:异常检测
- 系统日志…
2. What is the common scenario and use case?
- 日志:存储和分析应用和访问日志
- 指标:监控web程序的性能
- 站点查找:为存在的网站提供站点查找
- 快速、可扩展的全文本搜索:帮用户在他们的应用程序、网站或数据湖目录中找到正确的信息
- 应用程序和架构监控:轻松实现日志数据的存储和分析,也可为低下的性能设置自动报警
- 安全和事件信息管理:将日志中心化管理以实现实时安全监控和分析
- 健康追踪:使用可视化的日志、指标来实施监控用户的应用程序
3. What is Index, Type, Document in Elasticsearch?
数据库=ES实例,数据库表=ES索引,数据库schema=mapping
- Index:索引,相当于关系型数据库中的表
- Document:文档,指某一行数据
- Type:类型,相当于表的逻辑类型,比如购物网站里,各种不同型号的手机,都可以被归为phone类型
说”索引库里有两个文档”,意思就是数据源中有两行数据
4. How to achieve CRUD in Elasticsearch with REST APIs?
CRUD:create、read、update、delete(增删改查)
- 增:
curl -X POST \
http://10.100.172.111:9200/test-2017.08.28/testlog/ \
-d '{
"date" : "2017-07-28",
"user" : "xiaoke",
"mesg" : "这是第一条数据."
}
- 删:
curl -XDELETE http://10.100.172.111:9200/test-2017.08.28/testlog/AV2H9ikTjAqppDoQq45o?pretty
- 改:
curl -X POST http://10.100.172.111:9200/test-2017.08.28/testlog/AV2IIkPKjAqppDoQrA7n/ \
> -d '{
> "date" : "2017-07-28",
> "user" : "xiaoke",
> "mesg" : "这是第2条数据."
> }'
>
- 查:
curl -XGET http://10.100.172.111:9200/test-2017.08.28/testlog/AV2IIkPKjAqppDoQrA7n?pretty
5. What is ELK stack?
由三个内容组成的一个stack,可以将系统和应用程序中的日志集中起来,加以分析,并提供可视化监控,以更好的进行troubleshooting,安全分析等
ELK:Elasticsearch, Logstash, Kibana
- Elasticsearch:分布式的搜索和分析引擎
- Logstash:一个data ingestion工具,为Elasticsearch提供一个input流,将收集到的数据发送过来
- Kibana:一个数据可视化工具,用于查看日志和事件。
流程:Log data -> Logstash -> Elasticsearch -> kibana
6. Why OpenSearch? What’s the differences between Elasticsearch?
由于Elastic NV不再提供开源许可证,为了保证客户继续拥有安全高质量的完全开源的搜索和分析套件,才推出了 OpenSearch 项目,该项目是 ElasticSearch 和Kibana 的社区驱动、Alv2许可的分支。
Amazon OpenSearch Service 是 Amazon Elasticsearch Service 的后继者,支持 OpenSearch 和旧式 Elasticsearch OSS(最高 7.10,该软件的最终开源版本)。两者在功能支持上几乎一致
7. Why Amazon Opensearch? the key differences between On-Premise and Hosting
- 通常来讲,设计和管理一个Opensearch 集群是很复杂的,因此AWS提供了 Amazon Opensearch 服务
- Amazon好处:Amazon Opensearch 会让集群的管理更加简便。比如domain运行起来后,OpenSearch 服务会自动处理一些管理任务(如备份(比如每天会自动找照快照并存在S3,让客户可以根据快照还原数据)、监控实例(替换故障节点)、修补软件等)
- 还提供扩展性:客户可根据自己的需求选择实例类型,或CPU、内容、存储优化型的实例。使得OpenSearch集群的存储性能从10 gigabytes到 3 petabytes
- 和其他AWS服务可以集成,更加方便
8. What other search services AWS have? (Optional)
CloudSearch:一般来讲,都更推荐Opensearch而不是Cloudsearch,因为前者提供更好的性能、更多的功能和更低的开销。
- 什么时候CloudSearch是一个更好的选择呢:1)当搜索静态文档时,或ingestion速率很低时;2)客户偏向于hands-off operations(而不是更高的性能和更多的功能);3)最主要的目的是搜索,而不需要可视化