记一次 kiban 出现页面账号锁定处理
一, 问题出现:
今天配置了 elk, 准备做个日志分析平台, 由于第一次搭建, 不是很熟悉, 所以遇到的问题就多了, 然而就在启动的时候出现错误.
log [08:16:48.906] [error][status][plugin:ml@6.3.0] Status changed from red to red - Red
一直说服务 Service Unavailable, 服务的状态问 red.
但是 kinaba 是已经启动的了
接着我们访问一下 kinaba, 我们发现出现以下的情况:
账号与密码填不进去.
二, 问题分析
分析一: 出现这个情况, 我百度找找了, 很多人没有遇到过, 遇到的都是重启 kibana, 或说没用安装 x-pack 插件
分析二: kibana 配置有问题, 或者 es 的配置出了问题, 导致启动 kibana 连接不上 es.
三, 解决思路以及办法
思路一:
把 kibana kill 掉, 重新启动
找到 kibana 启动的端口
- [root@node2 ~]# netstat -ntpl | grep 5601
- tcp 0 0 172.25.0.30:5601 0.0.0.0:* LISTEN 12180/./bin/../node
重新 kill 点 kibana 的进程
[root@node2 ~]#ps -ef | grep node | awk '{print $2}'| xargs kill -9
切换用户启动, 重新启动 kibana
- [root@node2 kibana-6.3.0]# su - www
- Last login: Sat Sep 29 16:14:07 CST 2018 on pts/3
- [www@node2 ~]$ cd /usr/local/src/kibana-6.3.0
- [www@node2 kibana-6.3.0]$ ./bin/kibana &
重启完, 发现, 还是同样的错误.
思路二: 安装 x-pack 插件
- [root@node2 kibana-6.3.0]# bin/kibana-plugin install x-pack
- Kibana now contains X-Pack by default, there is no longer any need to install it as it is already present.
发现 x-pack 是已经装的了, 找了一下官网, 发现在 kibana 的 6.3 版本以上的, x-pack 是已经安装的了.
所以这个已经是排除的了.
思路三:
检查 kibana 与 es 的配置;
kibana 的配置, 发现只是配置了几个项包括服务 ip,es 的密码配置:
- server.host: "172.25.0.30"
- xpack.security.enabled: true
- Elasticsearch.username: "elastic"
- Elasticsearch.password: "changeme"
可以很明确的发现, 这个不太影响的.
Es 的配置:
- cluster.name: es-log
- node.name: node2
- path.data: /data/Elasticsearch/data
- path.logs: /data/Elasticsearch/logs
- network.host: 172.25.0.30
- discovery.zen.ping.unicast.hosts: ["172.25.0.30", "172.25.0.33"]
- discovery.zen.minimum_master_nodes: 2
- xpack.security.enabled: false
可以发现, 好像配置都正常, 日志路径, 日志路径, 集群配置, 还真找不出啥问题.
思路四:
判断是否是集群影响的问题
取消集群的配置
把 discovery.zen.ping.unicast.hosts: ["172.25.0.30", "172.25.0.33"] 去掉
把
discovery.zen.minimum_master_nodes: 2
改为
discovery.zen.minimum_master_nodes: 1
启动 es
- #su - www
- #./bin/Elasticsearch &
启动 kibana
#./bin/kibana
启动发现, kibana 启动正常啦.
访问一下 kibana.
发现可以进去了啊, 可以发现 kibana 已经是可以正常登陆了. 到这里我们已经是可以知道, 是什么原因导致 kibana 出现这种情况的了.
思路五:
查看集群情况:
可以发现, 我们的集群, 主要是通过 ip 与默认端口来建立集群关系, 导致集群出现这种情况的原因有 cluster.name 配置与 discovery.zen.ping 配置与主集群的配置不对应.
更改从 es 配置:
- #VIM cong/Elasticsearch
- cluster.name: es-log
- discovery.zen.ping.unicast.hosts: ["172.25.0.33", "172.25.0.30"]
重新启动集群
- #su - www
- #./bin/Elasticsearch &
在主 es 启动 head 插件
#grunt server &
访问 head 然后访问 web 的 ip 与端口
http://172.25.0.30:9100
可以发现集群已经正常了, 接下就可以愉快的玩耍了.
四, 总结
经过一步步的分析, 问题总算是解决了, 总之获益良多.
来源: http://blog.51cto.com/xiaozhagn/2300559