kibana

简介

kibana使用指南:https://www.elastic.co/guide/cn/kibana/current/setup.html 镜像仓库

docker pull docker.elastic.co/kibana/kibana:6.0.0

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和Elasticsearch补丁版本一般是支持的(例如:Kibana 5.0.0和Elasticsearch 5.0.1),尽管我们鼓励用户去运行最新的补丁更新版本。

安装kibana

从6.0.0开始,Kibana只支持64位操作系统。

Kibana提供以下格式的安装包:

tar.gz/zip

tar.gz 包用来在Linux和Darwin系统下安装,也是最方便的一种选择。

使用.tar.gz安装Kibana或者在Windows上安装Kibana

deb

deb 包用来在Debian,Ubuntu和其他基于Debian的系统下安装,Debian包可以从Elastic官网或者我们的Debian仓库中下载。

使用Debian包安装Kibana

rpm

rpm 包用来在Red Hat,Centos,SLES,OpenSuSe以及其他基于RPM的系统下安装.RPM包可以从Elastic官网或者我们的RPM仓库下载。

使用RPM包安装Kibana

docker

Elastic Docker仓库中有现有的可以运行Kibana的Docker镜像,并预装了X-Pack

Docker容器中运行Kibana

为 了方便本文以rpm安装演示

rpm安装kibana

下载并安装签名公钥:

Kibana v6.0.0 的 RPM 包可以使用如下命令从网站下载安装 :

比较 sha1sumshasum 产生的 SHA 跟 发布的 SHA

Kibana 启动和停止命令如下:

这些命令不会提供任何关于 Kibana 是否成功启动的反馈信息。而是将这些信息写入日志文件中,日志文件的位置在 /var/log/kibana/

更多安装详情见:rpm安装

配置kibana

Kibana server 启动时从 kibana.yml 文件中读取配置属性。Kibana 默认配置 localhost:5601 。改变主机和端口号,或者连接其他机器上的 Elasticsearch,需要更新 kibana.yml 文件。也可以启用 SSL 和设置其他选项

Kibana 配置项

访问kibana

Kibana是一个web应用,可以通过5601端口访问。只需要在浏览器中指定Kibana运行的机器,然后指定端口号即可。例如,localhost:5601或者http://YOURDOMAIN.com:5601

当访问Kibana时,发现页面默认会加载默认的索引模式。时间过滤器设置的时间为过去15分钟,查询设置为匹配所有(\ *)。

如果看不到任何文档,试着把时间过滤器的范围调大。如果还是看不到任何结果,可能很根本的英文就没有任何文档。

检查Kibana状态编辑

您可以通过localhost:5601/status来访问Kibana的服务器状态页,状态页展示了服务器资源使用情况和已安装插件列表。

图片/ kibana状态,page.png

连接 Kibana 和 Elasticsearch

开始使用 Kibana 前,需要告诉 Kibana 您想要探索的 Elasticsearch 索引。第一次访问 Kibana 时,会提示您定义一个 index pattern(索引模式) 匹配一个或多个索引。这就是初次使用 Kibana 时所有需要配置的。任何时候都可以在 Management 页面增加索引模式。

默认情况下,Kibana 会连接运行在 localhost 上的 Elasticsearch 实例。如果需要连接不同的 Elasticsearch实例,可以修改 kibana.yml 配置文件中的 Elasticsearch URL 配置项并重启 Kibana。如果在生产环境节点上使用 Kibana,请参考 生产环境中使用 Kibana

设置您想通过 Kibana 访问的 Elasticsearch 索引:

  1. 浏览器中指定端口号5601来访问 Kibana UI 页面。例如, localhost:5601 或者 http://YOURDOMAIN.com:5601

2.指定一个索引模式来匹配一个或多个 Elasticsearch 索引名称。默认情况下,Kibana 会认为数据是通过 Logstash 解析送进 Elasticsearch 的。这种情况可以使用默认的 logstash-* 作为索引模式。星号 (*) 匹配0或多个索引名称中的字符。如果 Elasticsearch 索引遵循其他命名约定,请输入一个恰当的模式。该模式也可以直接用单个索引的名称。

3.如果您想做一些基于时间序列的数据比较,可以选择索引中包含时间戳的字段。Kibana 会读取索引映射,列出包含时间戳的所有字段。如果索引中没有基于时间序列的数据,则禁用 Index contains time-based events 选项。

使用事件时间来创建索引名称在这个版本的 Kibana 中会被标记成 deprecated 。这个功能将在下一个 Kibana 的主要版本中被彻移除。Elasticsearch 2.1 拥有强大的日期解析 API 用于分割日期信息,没必要在索引模式名称中指定日期。

4.点击 Create 增加索引模式。默认情况下,第一个模式被自动配置为默认的。当索引模式不止一个时,可以通过点击 Management > Index Patterns 索引模式题目上的星星图标来指定默认的索引模式。

全部设置完毕!Kibana 连接了 Elasticsearch 的数据。展示了一个匹配到的索引的字段只读列表。

Kibana 可视化控件中的字段以及 .kibana 索引管理依赖动态映射(dynamic mapping)功能,如果动态映射被关闭,您需要手动提供字段的映射以便于 Kibana 用于正确的创建可视化控件。更多信息,请参考 Kibana 和 Elasticsearch 动态映射

开始探索您的数据!

准备挖掘您的数据:

  • Discover 页搜索和浏览数据。

  • Visualize 页做数据图表映射。

  • Dashboard 页创建并查看自定义仪表板。

您可以通过查看 基础入门来获取 Kibana 的主要内容介绍。

Kibana 和 Elasticsearch 动态映射

默认情况下,Elasticsearch 启用了字段的 动态映射。Kibana 需要利用动态映射在可视化控件中正确使用字段,同时管理 .kibana 索引,这些索引存储了已保存的搜索、可视化图表和仪表板。

如果 Elasticsearch 使用场景需要禁止动态映射,这就需要手动提供创建可视化控件所需要字段的映射,并手动启用 .kibana 索引的动态映射。

下面的步骤假定 Elasticsearch 中不存在索引 .kibana ,且 elasticsearch.ymlindex.mapper.dynamic配置为 false

  1. 启动 Elasticsearch。

  2. 创建 .kibana 索引并只针对该索引打开动态映射:

  3. 启动 Kibana ,转到 web 页面,确认没有动态映射相关的错误。

生产环境中使用Kibana

在kibana中使用X-Pack

使用X-Pack安全模块控制用户通过Kibana可以访问哪些Elasticsearch数据。

当安装X-Pack时,Kibana用户必须登陆。这些用户需要用kibana_user角色来访问通过Kibana管理的索引库。

如果一个用户要通过Kibana仪表板访问某个索引库中的数据,但没有权限查看,他们会收到一个错误提示:索引不存在.X-Pack的安全机制目前还不能提供一种方法来控制不同的用户加载不同的仪表板。

关于设置Kibana用户和X-Pack信息,请参见X-Pack安全插件

多个Elasticsearch节点间的负载均衡编辑

如果Elasticsearch集群有多个节点,分发Kibana节点之间请求的最简单的方法就是在Kibana机器上运行一个Elasticsearch 协调(仅协调节点)的节点.Elasticsearch协调节点本质上是智能负载均衡器,也是集群的一部分,如果有需要,这些节点会处理传入HTTP请求,重定向操作给集群中其它节点,收集并返回结果。更多详细信息,请参考节点部分。

使用本地客户端节点负载均衡Kibana请求:

  1. 在安装Kibana的机器上安装Elasticsearch。

  2. 配置节点为协调节点。在配置文件 elasticsearch.yml 中,设置 node.datanode.masternode.ingestfalse

  3. 设置客户端节点接入Elasticsearch集群。在配置文件elasticsearch.yml中,通过cluster.name选项设定集群名字。

  4. 检查 elasticsearch.yml 中的 transport 和 HTTP 主机配置: network.hosttransport.hosttransport.host 需要为集群中其它成员网络可达, network.host 是访问 Kibana 的 HTTP 网络连接(默认为 localhost:9200 )。

  5. 请确认Kibana设置为指向本地客户端节点。在配置文件kibana.yml中,elasticsearch.url应设为localhost:9200

Last updated