在比较新的版本,logstash,kibana和filebeat都支持使用keystore保存关键信息,比如你的ES密码等
操作方法: 以logstash为例
1 创建keystore,调用脚本文件logstash-keystore
./bin/logstash-keystore create
默认创建在config目录下,可使用setup来修改安置未知。 此外logstash的keystore可以给它创个访问密码。 方式是 在创建keystore之前,新建变量LOGSTASH_KEYSTORE_PASS
LOGSTASH_KEYSTORE_PASS=xxxxxxx
那么如果别人拷贝了keystore这个文件,但是没正确定义这个变量与你设置的相同,他也是访问不了里面的参数的
2 往里面添加参数
./bin/logstash-keystore add ES_PWD
输入这串命令后等会就会要求你输入ES_PWD的值,比如输入123456,然后就可以了。
3 修改,同理
./bin/logstash-keystore update ES_PWD
4 删除,同理
./bin/logstash-keystore delete ES_PWD
创建后怎么用? 比如你创了个配置文件,logstash-test.conf
output{
elasticsearch {
hosts => ["***.***.**.**:8888"]
user => "elastic"
password => "${ES_PWD}"
index => "logstash-test-%{+YYYY.MM.dd}"
}
}
这样你就将123456输入进去了,作为es的密码。
filebeat以及kibana的操作和上面logstash的差不多,但是我好像没看到类似于LOGSTASH_KEYSTORE_PASS的设置项。 其它差不多。但,注意kibana的keystore只能识别已有的key。
啥意思?就是它的keystore不需要你主动调,它自动会给你装配,因此你在里面只能设置它已有的配置项。比如kibana有这么一个设置elasticsearch.username,设置访问es的用户名 那么你只要在kibana的keystore加上这个
./bin/kibana-keystore add elasticsearch.username
然后输入elastic。那么它就会在启动时自动在你的kibana.yml自动加上elasticsearch.username="elastic"这个配置项。实际使用,就能知道和另外两个的区别了。
|