1、Kibana简介
Kibana 是为 Elasticsearch设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图标的形式展现出来。
2、Kibana的使用场景
**1.**实时监控通过 histogram 面板,配合不同条件的多个 queries 可以对一个事件走很多个维度组合出不同的时间序列走势。时间序列数据是最常见的监控报警了。**2.**问题分析关于 elk 的用途,可以参照其对应的商业产品 splunk 的场景:使用 Splunk 的意义在于使信息收集和处理智能化。而其操作智能化表现在:搜索通过下钻数据排查问题,通过分析根本原因来解决问题;实时可见性可以将对系统的检测和警报结合在一起,便于跟踪 SLA 和性能问题;历史分析可以从中找出趋势和历史模式,行为基线和阈值,生成一致性报告。
3、支持的平台
Kibana 有 Linux、Darwin 和 Windows 版本的安装包。由于 Kibana 基于 Node.js 运行,我们在这些平台上包含了一些必要的 Node.js 二进制文件。Kibana 不支持在独立维护的 Node.js 版本上运行。
4、Kibana版本
Kibana 的版本需要和 Elasticsearch 的版本一致。这是官方支持的配置。
运行不同主版本号的 Kibana 和 Elasticsearch 是不支持的(例如 Kibana 5.x 和 Elasticsearch 2.x),若主版本号相同,运行 Kibana 子版本号比 Elasticsearch 子版本号新的版本也是不支持的(例如 Kibana 5.1 和 Elasticsearch 5.0)。
5、配置Kibana
Kibana服务在启动时从Kibana.yml
文件读取属性,这个文件的位置取决于你如何安装Kibana。例如,如果从归档发行版(.tar.gz
或.zip
)安装Kibana,默认情况下是$KIBANA_HOME/config
。默认情况下,对于包发行版(Debian或RPM),它在/etc/kibana
中。
默认设置将Kibana配置为在localhost:5601
上运行,要更改主机或端口号,或连接到运行在另一台机器上的Elasticsearch,你需要更新kibana.yml
文件。还可以启用SSL并设置各种其他选项,最后,可以使用${MY_ENV_VAR}
语法将环境变量注入配置。
6、安装Kibana
6.1解压
[root@elasticsearch-01 bin]# cd /opt/
[root@elasticsearch-01 opt]# ls
kibana-6.8.5-linux-x86_64.tar.gz
[root@elasticsearch-01 opt]# tar xf kibana-6.8.5-linux-x86_64.tar.gz -C /usr/local/
[root@elasticsearch-01 opt]# ln -s /usr/local/kibana-6.8.5-linux-x86_64/ /usr/local/kibana
6.2修改配置文件
[root@elasticsearch-01 config]# cd /usr/local/kibana/config/
[root@elasticsearch-01 config]# vim kibana.yml
7server.host: "172.17.120.11"
28elasticsearch.hosts: ["http://172.17.120.11:9200"]
-------------------------------------------------------------------
[root@elasticsearch-01 config]# grep -v "^#" kibana.yml | grep -v "^$"
server.host: "172.17.120.11"
elasticsearch.hosts: ["http://172.17.120.11:9200"]
6.3检查Kibana状态
http://172.17.120.11:5601
或者 http://172.17.120.11:5601/api/status 返回JSON格式状态信息
6.4创建索引模式
点击“Create index pattern”按钮来添加索引模式。第一个索引模式自动配置为默认的索引默认,以后当你有多个索引模式的时候,你就可以选择将哪一个设为默认。(提示:Management > Index Patterns)
现在,Kibana已经连接到你的Elasticsearch数据。Kibana展示了一个只读的字段列表,这些字段是匹配到的这个索引配置的字段。
6.5使用Discover探索你的数据
你可以从Discover页面交互式的探索你的数据。你可以访问与所选择的索引默认匹配的每个索引中的每个文档。你可以提交查询请求,过滤搜索结构,并查看文档数据。你也可以看到匹配查询请求的文档数量,以及字段值统计信息。如果你选择的索引模式配置了time字段,则文档随时间的分布将显示在页面顶部的直方图中。
6.6设置时间过滤
6.7搜索数据
你可以在搜索框中输入查询条件来查询当前索引模式匹配的索引。在查询的时候,你可以使用Kibana标准的查询语言(基于Lucene的查询语法)或者完全基于JSON的Elasticsearch查询语言DSL。Kibana查询语言可以使用自动完成和简化的查询语法作为实验特性,您可以在查询栏的“选项”菜单下进行选择。
当你提交一个查询请求时,直方图、文档表和字段列表都会更新,以反映搜索结果。命中(匹配到的文档)总数会显示在工具栏中。文档表格中显示了前500个命中。默认情况下,按时间倒序排列,首先显示最新的文档。你可以通过点击“Time”列来逆转排序顺序。
6.8Lucene查询语法
Kibana查询语言基于Lucene查询语法。下面是一些提示,可能会帮到你:
**1.**为了执行一个文本搜索,可以简单的输入一个文本字符串。例如,如果你想搜索web服务器的日志,你可以输入关键字"safari",这样你就可以搜索到所有有关"safari"的字段
**2.**为了搜索一个特定字段的特定值,可以用字段的名称作为前缀。例如,你输入"status:200",将会找到所有status字段的值是200的文档
3.为了搜索一个范围值,你可以用括号范围语法,[START_VALUE TO END_VALUE]。例如,为了找到状态码是4xx的文档,你可以输入status:[400 TO 499]
4.为了指定更改复杂的查询条件,你可以用布尔操作符 AND , OR , 和 NOT。例如,为了找到状态码是4xx并且extension字段是php或者html的文档,你可以输入status:[400 TO 499] AND (extension:php OR extension:html)
6.9查看文档数据
以上是控制列表显示哪些字段,在查看文档数据的时候点那个像书一样的小图标。
6.10查看字段数据统计
6.11查看文档上下文
这就是Kibana的基本用法,如果还有没有介绍清楚的可以参考官方文档https://www.elastic.co/guide/en/kibana/current/elasticsearch-metrics.html。ELK总结到此结束,谢谢大家的支持。