给ELK 添加Shield权限控制
背景
这两天整个项目(电商SAAS系统)上线后,由于系统变得很大,每天产生的业务日志、访问日志、数据库慢查询、php等语言日志,都分布在不同的机器上,所以需要统一收集并格式化存储,方便研发运维实时掌握整个系统的运行情况,所以搭建了MCAS日志收集分析系统。
系统搭建好后,由于部署在公网上,所以需要给整个系统加一套基于RBAC的权限控制,隔离大家对系统核心日志的访问,更是为了保护数据安全。
我从百度上找了N多教程,可是大部分版本都比较久,而且关于Shield的教程非常少,没办法,只能去ELK官网,一点一点按照教程来操作。说实话,官网教程很多地方没有细节,这也让我走了不少弯路。最后经过不停的实验,终于成功上线,伟哥在这里把整个过程写下来,分享给大家,让大家更愉快的工作!
本教程基于最新版的ELK
Shield 2.0+
Elasticsearch 2.3.3
Logstash 2.3.2
Kibana 4.5.1
第一步,安装Shield2.0+
可以说整个过程中,安装是最简单的。
- 从这里下载最新版
- 安装Shield到Elasticsearch。
我是通过代码包安装的,切换到elasticsearch目录
cd /usr/local/elastic/
这里面有个bin目录
执行两个命令:
- # bin/plugin install license (安装license)
- # bin/plugin install shield (安装shield)
- bin/elasticsearch (重启elastic)
- bin/shield/esusers useradd es_admin -r admin (添加一个管理员用户, 用户名es_admin,角色admin,这个时候会让你输入两次密码,大家都知道怎么做吧)
- curl -u es_admin -XGET ‘ http://localhost:9200/’ 测试一下权限是否设置成功哦,如果让你输入密码,
如果能看到下面这串字符,恭喜你elasticsearch shield安装成功。
[root@mosh-mcas-3 logs]# curl -u es_admin -XGET ‘ http://192.168.0.7:9200/’