在前面两节的文章中,我们介绍了Elasticsearch的搭建和基本常用插件的安装,今天我们介绍一下官方文档中推荐的Kibana和X-Pack组件集合。
Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。
简单的理解可以把Kibana当成一个BI,通过使用它使得理解大容量的数据变得非常容易。它非常简单,基于浏览器的接口使我们能够快速的创建和分享显示Elasticsearch查询结果实时变化的仪表盘。也就是说Kibana在Elasticsearch技术栈中,它不是必须的,可以根据业务的具体情况来选择是否部署安装使用。
注意:Kibana的版本需要和 Elasticsearch 的版本一致。这是官方支持的配置。
运行不同主版本号的 Kibana 和 Elasticsearch 是不支持的(例如 Kibana 5.x 和 Elasticsearch 2.x),若主版本号相同,运行 Kibana 子版本号比 Elasticsearch 子版本号新的版本也是不支持的(例如 Kibana 5.1 和 Elasticsearch 5.0)
运行一个 Elasticsearch 子版本号大于 Kibana 的版本基本不会有问题,这种情况一般是便于先将 Elasticsearch 升级(例如 Kibana 5.0 和 Elasticsearch 5.1)。在这种配置下,Kibana 启动日志中会出现一个警告,所以一般只是使用于 Kibana 即将要升级到和 Elasticsearch 相同版本的场景。
Kibana从6.0.0版本开始,Kibana只支持64位系统了。
Kibana 提供以下格式的安装包:
tar.gz/zip: tar.gz包用来在 Linux 和 Darwin 系统下安装,也是最方便的一种选择。 zip 包是唯一支持 Windows 系统的安装包。
deb:deb 包用来在 Debian、Ubuntu 和其他基于 Debian 的系统下安装,Debian 包可以从 Elastic 官网或者我们的 Debian 仓库中下载。
rpm: rpm 包用来在 Red Hat、Centos、SLES、OpenSuSe 以及其他基于 RPM 的系统下安装。RPM 包可以从 Elastic 官网或者我们的 RPM 仓库下载。
docker: Elastic Docker 仓库中有现有的可以运行 Kibana 的 Docker 镜像,并预装了 X-Pack 。
由于笔者的系统为Mac OS,所以选择第一种方式tar.gz来进行安装,具体情况可根据自己情况选择。
在这里可以下载过去的各个版本(https://www.elastic.co/downloads/past-releases/)。
因为Elasticsearch为7.0.0版本,所以下载的Kibana也为7.0.0版本。
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.0.0-darwin-x86_64.tar.gz
shasum kibana-7.0.0-darwin-x86_64.tar.gz
tar -xzf kibana-7.0.0-darwin-x86_64.tar.gz
cd kibana/
Kibana的启动命令:
./bin/kibana
默认 Kibana 在前台启动,打印日志到标准输出 (stdout),可以通过 Ctrl-C 命令终止运行。
Kibana server 启动时从 kibana.yml (在config目录下)文件中读取配置属性。Kibana 默认配置 localhost:5601 。改变主机和端口号,或者连接其他机器上的 Elasticsearch,需要更新 kibana.yml 文件。也可以启用 SSL 和设置其他选项。具体的详细配置可查看官方文档。
Kibana 是一个 web 应用,可以通过5601端口访问。只需要在浏览器中指定 Kibana 运行的机器,然后指定端口号即可。
默认启动时不能其他外网IP进行访问Kibana的,所以我们配置kibnan.yml的IP地址为0.0.0.0
,使得外网能够访问。
server.host: "0.0.0.0"
开始访问Kibana后会出现让我们访问sample数据,这里我们添加demo的数据。
然后我们在页面可以浏览数据界面如下,选择了第一个sample的样例数据。
我们还可以通过ip:5601/status 来访问 Kibana 的服务器状态页,状态页展示了服务器资源使用情况和已安装插件列表。
Kibana提供了很多插件,有些功能是免费的,有些是官方收费的,我们可以根据需要选择。
使用以下命令安装插件:
bin/kibana-plugin install
当您指定的插件名没有带 URL,插件工具将会尝试去下载 Elastic 官方插件。例如:
bin/kibana-plugin install x-pack
也通过具体URL链接安装插件。
bin/kibana-plugin install https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-7.0.0.zip
同时也支持指定目录安装插件:
在 install 命令后面通过 -d 或者 --plugin-dir 选项指定插件安装目录,例如:
bin/kibana-plugin install file:///some/local/path/x-pack.zip -d path/to/directory
Kibana的默认插件目录在plugins下面。
注意:如果目录不存在,这条命令会创建这个目录。
通过 remove 命令来删除插件
bin/kibana-plugin remove x-pack
也可以通过手动删除 plugins/ 目录下的插件子目录来手动删除插件。
如果要关闭某个插件,可以使用如下命令:
bin/kibana --.enabled=false
官方列出来的Kibana的插件列表。
X-Pack是一种Elastic Stack扩展,可提供安全性,警报,监控,报告,机器学习和许多其他功能。默认情况下,安装Elasticsearch时会安装X-Pack。
X-Pack的安全性,警报,监控,报告,机器学习等功能是收费的,默认可以提供30天的免费使用,如果继续使用是需要付费的。
关于收费与开源版本的区别,可以查看文档。
新版本的Elasticsearch和Kibana都已经支持自带支持x-pack了,不需要进行安装。老版本的需要进行安装。
注意:Plugin installation was unsuccessful due to error “Kibana now contains X-Pack by default, there is no longer any need to install it as it is already present.”
老版本安装命令:
Elasticsearh:bin/elasticsearch-plugin install x-pack
Kibana:bin/kibana-plugin install x-pack
首先在elasticsearch配置文件中开启安全配置,默认为false,关闭状态。
xpack.security.enabled: true
然后执行如下命令,手动执行更改各个系统的密码,会让你输入一些列用户对于的密码,最好先输入一样的,后面再通过Kibana更改,这里笔者默认为elastic
。
bin/elasticsearch-setup-passwords interactive
还可以配置加密的字符串和session改变的有效时间。
xpack.security.encryptionKey: "6074c6aa3488f3c2dddff2a7ca821aab"
xpack.security.sessionTimeout: 600000
xpack.security.encryptionKey要求一个32位或更长的字符串。
最后在kibana.yml文件中配置登录用户信息:
elasticsearch.username: "elastic"
elasticsearch.password: "elastic"
这里配置为先前更改的密码即可。
由于使用的安全是收费功能,所以我们需要去Kibana更新版权信息,免费使用30天。
当我们更新了license后,就可以监控查看Elasticsearch、Kibana的状态了。
除了监控功能,还有机器学习等额外功能。
接着我们重启Kibana后,发现需要登录认证了。
在这里可以自己分配用户、角色和权限。
同时当我们直接访问elasticsearch地址9200端口,也会要求认证。
自此,我们的x-pack插件的基本认证功能完成。更多功能可以查看官方文档。