最近因为工作需要,要对ElasticSearch(简称ES)中的一批数据做数据分析挖掘,找出数据中潜在的关系,以及部分数据的分布及趋势等,总的来说就是一个数据分析的任务。分析ES中的数据,首先想到的就是Kibana了,使用Kibana来协助数据分析,能根据自己需要(定制/配置)快速的可视化展示数据的分布趋势。
因为是将Kibana作为协助分析的工具,工位电脑又是Windows系统,故选择Windows
版本的Kibana进行安装使用。如果需要将Kibana作为产品的一部分,亦或是想部署linux服务器中供团队使用,可以选择Kibana的linux版本,具体安装使用可以参考 《Kibana安装(Linux)及使用说明》
环境准备
- ES访问路径,例如:http://192.168.252.100:9200
- Node.js环境
下载
- Kibana下载地址:https://www.elastic.co/cn/downloads/past-releases#kibana,根据ES的版本号选择Kibana(最好是相对应或更高版本)的版本Windows 系统的安装包,下载安装包,例如:kibana-7.5.2-windows-x86_64.zip,示例选的7.5.2版本window 64位的安装包
- Node下载地址:https://nodejs.org/en/download/,Node的版本可以根据Kibana中依赖说明来选择对应或更高的版本,依赖在kibana下载包内根目录的package.json中"node"项记录,例如:
"node": "10.15.2"
安装配置
- 检查并安装Node
a. win + R 键打开‘运行’窗口
b. 在‘运行’窗口中输入‘cmd’打开windows的dos命令窗口
c. 在‘dos’窗口中输入‘node -v’查看node 的版本号
d. 如果输出提示‘node’不是内部或外部命令,则说明没有安装node,需要先安装node,安装node直接双击下载的node安装文件,根据提示选项默认安装就行
e. 如果输出了node的版本号,则说明已安装node(注意核对版本号) - 安装配置Kibana
a. 解压下载的Kibana 安装包到安装目录
b. 进入解压后Kibana目录,使用文本文件打开config/kibana.yml 配置文件
c. 再找到elasticsearch.hosts配置项,去掉‘#’,并配置ES访问路径,保存。示例:
# The URLs of the Elasticsearch instances to use for all your queries.
elasticsearch.hosts: ["http://192.168.1.22:9200/"]
其他配置项根据需要进行配置,后续会补充详细配置项说明《Kibana结构说明及配置详解》
d. Kibana主要文件目录说明
目录 | 说明 |
---|---|
bin | 二进制脚本,包括 kibana 启动 Kibana 服务和 kibana-plugin 安装插件。 |
config | 配置文件包括 kibana.yml 。 |
data | Kibana 和其插件写入磁盘的数据文件位置。 |
optimize | 编译过的源码。某些管理操作(如,插件安装)导致运行时重新编译源码。 |
plugins | 插件文件位置。每一个插件都一个单独的二级目录。 |
启停/卸载
-
启动
选择直接双击bin/kibana.bat 文件即可,kibana会启动一个运行窗口,如图:
-
停止
在Kibana窗口中,按Ctrl + C 来停止 Kibana(或者直接关闭Kibana窗口强行关闭该程序(不推荐)) -
卸载
停止Kibana运行后,直接删除Kibana整个安装目录,即可完成卸载
五、 访问
Kibana默认访问地址为:http://localhost:5601
问题
- 如果Kibana在启动过程中,卡在了”Another Kibana instance appears to be migrating the index”
Kibana在ES中会创建一个索引(默认名为‘.kibana’),用来保存Kibana配置信息或使用中保存的一些配置检索信息。在Kibana每次启动的时候会去检查ES中检测该索引,如果该索引不存在,就会创建该索引,并把该Kibana的配置信息存入到该索引中,如果该索引已经存在会,会有一定逻辑(目前还未确定具体逻辑)判断该索引是不是该Kibana创建的,如果不是就会出现上述报错。(说明已经有Kibana连着该ES,并使用占用了Kibana在ES中的默认索引)
解决办法就是去Kibana的核心配置文件config/kibana.yml中,修改kibana.index 配置项,改一个ES中不存在的索引名。
# Kibana uses an index in Elasticsearch to store saved searches, visualizations and
# dashboards. Kibana creates a new index if the index doesn't already exist.
kibana.index: ".kibana_study"
- Kibana正常启动后,访问Kibana主页,一直处在Loading界面,并且频繁刷新闪过一个报红的界面,而且Kibana日志无任何输出。如果出现该现象,可以优先检查node安装情况及版本情况
检查方式:
a. win + R 进入“运行"窗口,输入‘cmd’,打开windows 的dos命令窗口
b. 再输入 ’node -v’ 查看windows中node的版本
如果出现node的版本号,说明安装正常,如果出现”node不是内部或外部命令“,说明未安装或安装失败
关于node的版本,查看Kibana目录下的package.json 文件,里面记录了当前kibana版本使用的node的版本,安装node时,尽量选择与该版本一致或高与该版本的node安装