x-pack是一个集安全,警报,监视,报告和图形功能为一体的软件包。在es5.0.0之前,必须安装各种插件才有x-pack所具有的功能,有了x-pack后,减少了很多不必要的麻烦。
如果是第一次安装x-pack,整个集群内的服务都需要重新启动(建议第一次装es等插件就把x-pack装上),并且每个节点上的es都要安装x-pack插件,不然不会成功组成一个集群。
安装x-pack的方式很简单,需要分别在elasticsearch和kibana中安装x-pack插件,安装方式如下:
/ESHOME/bin/elasticsearch-plugin install x-pack
/KIBANAHOME/bin/kibana-plugin install x-pack
卸载方式:
/ESHOME/bin/elasticsearch-plugin remove x-pack
/KIBANAHOME/bin/kibana-plugin remove x-pack
注:ESHOME即es的安装目录,KIBANAHOME即kibana的安装目录
安装x-pack后,访问kibana和用logstash导入数据到es中都没有权限了,kibana和logstash中需要设置es的账户和密码,
默认账户:elastic,默认密码:changeme
在kibana中设置es的账户和密码需要在kibnan.yml中设置,kibnan.yml文件位于/KIBANAHOME/config目录下
设置的内容如下:
server.host: "192.168.1.123"
elasticsearch.url: "http://192.168.1.123:9200" #es绑定的地址和端口
elasticsearch.username: "elastic" #es账户名
elasticsearch.password: "changeme" #es密码
tilemap.url: 'http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}' #这个配置是把kibana中的带的地图换成中文的地图
logstash中配置如下(这个配置不是logstash.yml文件,是配置logstash的input,filter,output插件的文件,我整个提出来):
配置如下:
input {
file {
# 确定需要检测的文件
path => [ "/var/log/*.log", "/var/log/messages", "/var/log/syslog", "/var/log/faillog"]
type => "log"
}
}
output {
# 输出到命令行
stdout {
codec => rubydebug
}
# 输出到 elasticsearch
elasticsearch {
hosts => "192.168.1.123:9200"
index => "system-log"
user => "elastic" #es账户名
password => "changeme" #es密码
}
}
注:
1.在安装x-pack后,一个集群内的es账户和密码是一致的,即在每个节点的logstash中,设置导入到es时,设置的es账户名和密码需要一致(如果不一致不会导入成功,出现下图所示的情况),参考上面的内容。
2.修改es密码有多种修改方式:可以在在kibana的management面板中修改(如果可以用的话);另外,也可以用在kibana输 入如下命令(第一行的”elastic”是用户名,不是elastic用户时需要修改):
PUT _xpack/security/user/elastic/_password
{
"password": "yourpassword"
}
也可以在命令行输入如下命令(第一行的”elastic”是用户名,不是elastic用户时需要修改):
curl -XPUT -u elastic 'http://localhost:9200/_xpack/security/user/elastic/_password' -d '{
"password" : "yourpassword"
}'
修改后你会发现kibana的命令窗中出现了红色的错误提示,你需要修改kibnan.yml和logstash中的配置文件的密码