AWS 又一次重演了centos式样的搅局—Elasticsearch 开源发行版探秘

我一般很少写项目介绍, 有点硬推广的意思.  aws这个项目确实是解决了我们一直以来的痛点 —  一套简单的生产可用的开源es,  提供基本的用户认证和角色, 内置基本监控,内置报警.

这两年做elastic stack相关的事情比较多, 先后尝试了x-pack和一些开源方案. 不得不说x-pack在功能上确实是第一选择, 而且elastic.co现在的迭代速度很快,新功能层出不穷.可能主要是得益于elastic.co先后开放了elkstack的源代码的结果.

近日传出因为用户使用开源版本不当, 黑客发现了很多在公网上大开门户的es, 涉及大陆公民的海量个人数据.  我们知道开源的es是没有访问控制和链路加密的, 使用es至少要在前面加一层nginx做个简单的访问控制,并且开启https. 很遗憾由还是有很多用户并不了解, 确实开源es的实施成本稍微有点高, 安全,加密,监控都需要用户自己去补充. 那么有没有什么好方案能满足用户最基本的使用需求呢? 最近发现了一个非常棒的项目 open distro for elasticsearch !

项目站点:

https://opendistro.github.io/for-elasticsearch/

 

 

启动 docker 版本 看看

     docker run -p 9200:9200 -p 9600:9600 -e “discovery.type=single-node” amazon/opendistro-for-elasticsearch:0.7.0

镜像

     amazon/opendistro-for-elasticsearch:0.7.0

      amazon/opendistro-for-elasticsearch-kibana:0.7.0

 

用默认用户密码连接

    curl -XGET https://localhost:9200 -u admin:admin

    curl -XGET https://localhost:9200/_cat/nodes?v -u admin:admin

    curl -XGET https://localhost:9200/_cat/plugins?v -u admin:admin

 

直接用rancher 1.6启动

 

用户界面:

登陆 密码 admin/admin

完整的角色控制

可以看到其实和自己搞nginx是一个思路,通过控制api路径来分立不同角色.

支持多种认证,

elastic 的 space 隔离 在这个版本叫做 租户 tenants

报警功能

用户定义最后保存为yml文件

监控

Performance Analyzer

通过api来暴露性能数据,  aws提供了一个字符工具perftop

https://d3g5vo6xdbdb9a.cloudfront.net/downloads/perftop/perf-top-0.7.0.0-LINUX.zip

./perf-top-<operating_system> <dashboard>.json <endpoint>

内置的dashborad 组合了一些常用的数值, 纯字符的界面比较怀旧.

可以自行组合api集成到自己的监控系统中.

纯干货技术分享 : jiangjiang.space

aws这个版本提供了几乎es用户需要的所有基本功能.

  • 认证
  • 加密
  • 报警
  • 监控

 

 

推荐使用开源es的同学们切换到这个版本上.