Kibana相当于是elasticsearch的一个附属的可视化工具,其安装方式也和elasticsearch一样,直接将同版本的安装包解压到指定目录即可。本篇讲解怎么去配置kibana并对用户的配置进行具体分析
配置kibana的账户密码
在需要认证的elastic,是可以配置用户的,一般会有几个默认用户,主要的管理员是elastic,这个用户不能被kibana配置,所以必须要设置一个普通用户,一般选择配置文件中默认的kibana_system用户进行使用。
这个是已有用户,但是我们并不知道其密码,所以相当于是修改密码。
自己修改密码是POST /_security/user/_password
使用elastic账户修改别人密码是POST /_security/user//_password
请求体是类似于
{
"password":"sa123456"
}
POSTMAN中是这样使用的
右边的Python代码示例隐藏了elastic密码的转换,实际可以写为
import requests
from requests import auth
url = "https://127.0.0.1:9200/_security/user/kibana_system/_password"
json_data = {
"password" : "sa123456"
}
authenticate = auth.HTTPBasicAuth( 'elastic' , 'AWW0BN_+w+Ai_3eMbAg0' )
headers = {
'Content-Type' : 'application/json'
}
response = requests.request( "POST" , url, headers=headers, json=json_data, auth=authenticate, verify=False)
print(response.text)
基本配置项
kibana的端口与主机
用于访问kibana
server.port: 5601
server.host: "0.0.0.0"
配置elasticsearch地址
这是配置的列表,所以可以有多个地址,同一管理
elasticsearch.hosts: ["https://localhost:9200"]
elasticsearch的账号密码
这里配置的就是上一节的设置,这个账号和密码也可以用bin'下面的kibana-keystore工具设置到文件里加密保存,和elsaticsearch的工具一样,使用add +变量名称设置,比如:kibana-keystore.bat add elasticsearch.username。
elasticsearch.username: "kibana_system"
elasticsearch.password: "sa123456"
https证书验证跳过
在配置文件中注释掉的里面有提及ssl验证的密钥配置,但是自己做的p12文件没有签名信息,是个自签名文件,没法验证成功,所以这里将其设为none不验证。这也是上一篇文章里将的奇怪的问题。
elasticsearch.ssl.verificationMode: none
访问
浏览器输入上一节配置的host:port,进入登录页面,输入账号密码即可登录
在elasticsearch增加用户
在elasticsearch的bin文件夹,使用elasticsearch-setup-passwords.bat interactive命令,可以观察到有哪些默认的用户,并手动为他们设置密码
但如果想要增加用户,需要在elasticsearch-users.bat 执行命令
比如增加一个kibana的admin角色用户tom
elasticsearch-users.bat useradd tom -p sa123456 -r kibana_admin
创建后就可以用tom来登录kibana了
具体哪些默认的角色可以参考如下链接。
界面用户操作用户
使用elastic账户登录,在管理界面Security区域会有Users和roles设置。
路径类似于:http://127.0.0.1:5601/app/management/security/users/
可以在其中对预定义用户进行密码配置,权限是改不了的,预定义用户不能被修改属性,只能改密码。
右上角的创建用户可以对自定义用户创建。
这类用户是可以设置权限的。