Kibana使用手册
Kibana 是一个开源的数据可视化工具,通常与 Elasticsearch 结合使用,用于搜索、分析和可视化存储在 Elasticsearch 中的数据。以下是 Kibana 的使用手册,涵盖基本功能、操作步骤和常见场景。
目录
-
Kibana 简介
-
安装与配置
-
主要功能模块
-
Discover
-
Visualize
-
Dashboard
-
Maps
-
Machine Learning
-
Dev Tools
-
Stack Management
-
-
常见操作
-
最佳实践
-
常见问题与解决
1. Kibana 简介
Kibana 是 Elastic Stack(ELK Stack)的一部分,主要用于:
-
数据探索:通过 Discover 模块搜索和过滤数据。
-
数据可视化:创建图表、仪表盘等可视化内容。
-
数据分析:使用 Lens 或 TSVB 进行高级数据分析。
-
地理数据展示:通过 Maps 模块展示地理信息。
-
机器学习:集成 Elasticsearch 的机器学习功能。
2. 安装与配置
安装 Kibana
-
下载:从 Elastic 官网 下载 Kibana。
-
解压:
tar -xzf kibana-<version>-linux-x86_64.tar.gz
-
启动:
cd kibana-<version>-linux-x86_64 ./bin/kibana
配置 Kibana
-
配置文件路径:
config/kibana.yml
-
主要配置项:
server.port: 5601 # Kibana 服务端口 server.host: "0.0.0.0" # 绑定 IP 地址 elasticsearch.hosts: ["http://localhost:9200"] # Elasticsearch 地址
3. 主要功能模块
1. Discover
-
用途:搜索和过滤 Elasticsearch 中的数据。
-
操作步骤:
-
选择索引模式(Index Pattern)。
-
使用搜索栏输入查询语句(支持 Lucene 语法)。
-
过滤字段或时间范围。
-
-
示例:
-
查询包含
error
的日志:message: "error"
-
2. Visualize
-
用途:创建图表和可视化内容。
-
支持的图表类型:
-
柱状图(Bar Chart)
-
折线图(Line Chart)
-
饼图(Pie Chart)
-
指标(Metric)
-
地图(Maps)
-
-
操作步骤:
-
选择可视化类型。
-
选择索引模式。
-
配置 X 轴、Y 轴、聚合方式等。
-
保存可视化。
-
3. Dashboard
-
用途:将多个可视化内容组合成一个仪表盘。
-
操作步骤:
-
创建或导入可视化内容。
-
将可视化添加到仪表盘。
-
调整布局和大小。
-
保存仪表盘。
-
4. Maps
-
用途:展示地理数据。
-
操作步骤:
-
选择地理字段(如经纬度)。
-
配置图层和数据源。
-
保存地图。
-
5. Machine Learning
-
用途:使用 Elasticsearch 的机器学习功能进行异常检测或预测。
-
操作步骤:
-
创建机器学习任务。
-
选择数据源和字段。
-
配置模型参数。
-
启动任务并查看结果。
-
6. Dev Tools
-
用途:直接与 Elasticsearch 交互,执行 REST API 请求。
-
操作步骤:
-
打开 Dev Tools。
-
输入 Elasticsearch 查询语句。
-
示例:
GET /_search { "query": { "match_all": {} } }
-
7. Stack Management
-
用途:管理 Kibana 和 Elasticsearch 的配置。
-
功能:
-
索引模式管理。
-
用户和角色管理。
-
告警和任务管理。
-
4. 常见操作
创建索引模式
-
进入 Stack Management > Index Patterns。
-
点击 Create Index Pattern。
-
输入索引名称(如
logstash-*
)。 -
选择时间字段(如
@timestamp
)。
搜索数据
-
进入 Discover。
-
选择索引模式。
-
在搜索栏输入查询语句(如
status: 200
)。
创建可视化
-
进入 Visualize Library。
-
点击 Create Visualization。
-
选择图表类型。
-
配置数据源和聚合方式。
5. 最佳实践
数据索引优化
-
使用合适的索引模式(如按天或按月分割索引)。
-
配置索引生命周期管理(ILM)。
可视化设计
-
避免在一个仪表盘中放置过多图表。
-
使用颜色和标签增强可读性。
安全性
-
启用身份验证和授权(如 Elasticsearch Security)。
-
限制 Kibana 的访问权限。
6. 常见问题与解决
问题 1:Kibana 无法连接 Elasticsearch
-
原因:Elasticsearch 服务未启动或配置错误。
-
解决:
-
检查 Elasticsearch 是否正常运行。
-
确认
elasticsearch.hosts
配置正确。
-
问题 2:无法创建索引模式
-
原因:索引不存在或字段映射错误。
-
解决:
-
确认索引已创建。
-
检查字段映射是否正确。
-
问题 3:可视化加载缓慢
-
原因:数据量过大或查询复杂。
-
解决:
-
优化查询语句。
-
增加 Elasticsearch 集群资源
-
一、Kibana是什么
Kibana 是为 Elasticsearch设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图表的形式展现出来。
使用前我们肯定需要先有Elasticsearch啦,安装使用Elasticsearch可以参考Elasticsearch构建全文搜索系统
下面分别演示一下Kibana的安装、自定义索引,搜索,控制台调用es的api和可视化等操作,特别需要注意的是,控制台可以非常方便的来调用es的api,强烈推荐使用
二、如何安装
直接下载对应平台的版本就可以,参考地址Installing Kibana
这里我直接下载了mac平台的kibana-7.6.1-darwin-x86_64.tar.gz
解压完画风如下
配置可以参考Configring Kibana
设置监听端口号、es地址、索引名
默认情况下,kibana启动时将生成随机密钥,这可能导致重新启动后失败,需要配置多个实例中有相同的密钥
设置
xpack.reporting.encryptionKey: "chenqionghe"
xpack.security.encryptionKey: "122333444455555666666777777788888888"
xpack.encryptedSavedObjects.encryptionKey: "122333444455555666666777777788888888"
启动
./bin/kibana
打开http://localhost:5601,画风如下
提示我们可以使用示例数据,也可以使用自己已有的数据,我把示例数据都下载了,单击侧面导航中的 Discover 进入 Kibana 的数据探索功能:
可以看到数据已经导入了,我们可以直接使用查询栏编写语句查询
三、如何加载自定义索引
接下来演示加载已经创建book索引
单击 Management 选项
然后单击 Index Patterns 选项。
点击Create index pattern定义一个新的索引模式。
点击Next step
点击Create index pattern
出来如下界面,列出了所有index中的字段
接下来,我们再来使用一下kibana查看已经导入的索引数据
可以看到,已经能展示和检索出我们之前导入的数据,奥利给!
四、如何搜索数据
可以看到,我们能很方便地搜索栏使用Llucene查询,查询语法可以参考Lucene查询语法汇总
五、如何切换中文
在config/kibana.yml
添加
i18n.locale: "zh-CN"
重新启动,即可生效
六、如何使用控制台
控制台插件提供一个用户界面来和 Elasticsearch 的 REST API 交互。控制台有两个主要部分: editor ,用来编写提交给 Elasticsearch 的请求; response 面板,用来展示请求结果的响应。在页面顶部的文本框中输入 Elasticsearch 服务器的地址。默认地址是:“localhost:9200”。
点击左侧栏的[Dev Tools],可以看到如下界面,可以很方便地执行命令
示例操作
# 查看所有节点
GET _cat/nodes
# 查看book索引数据
GET book/_search
{
"query": {
"match": {
"content": "chenqionghe"
}
}
}
# 添加一条数据
POST book/_doc
{
"page":8,
"content": "chenqionghe喜欢运动,绳命是如此的精彩,绳命是多么的辉煌"
}
# 更新数据
PUT book/_doc/iSAz4XABrERdg9Ao0QZI
{
"page":8,
"content":"chenqionghe喜欢运动,绳命是剁么的回晃;绳命是入刺的井猜"
}
# 删除数据
POST book/_delete_by_query
{
"query": {
"match": {
"page": 8
}
}
}
# 批量插入数据
POST book/_bulk
{ "index":{} }
{ "page":22 , "content": "Adversity, steeling will strengthen body.逆境磨练意志,锻炼增强体魄。"}
{ "index":{} }
{ "page":23 , "content": "Reading is to the mind, such as exercise is to the body.读书之于头脑,好比运动之于身体。"}
{ "index":{} }
{ "page":24 , "content": "Years make you old, anti-aging.岁月催人老,运动抗衰老。"}
{ "index":{} }
七、如何使用可视化
Kibana可视化控件基于 Elasticsearch 的查询。利用一系列的 Elasticsearch 查询聚合功能来提取和处理数据,再通过创建图表来呈现数据分布和趋势
点击Visualize菜单,进入可视化图表创建界面,Kibana自带有上10种图表,我们来创建一个自己的图表
我们来添加一个直方图
可以看到,默认已经有一个Y轴了,统计的是数量,我们添加一个X轴,点击Buckets下的Add
如下,我选择了customer_id字段作为x轴
执行后如下
保存一下
八、如何使用仪表盘
Kibana 仪表板(Dashboard) 展示保存的可视化结果集合。
就是可以把上面定义好的图表展示
创建一个Dashboard
添加已经存在的图表
添加完后保存即可,我们可以定制出非常丰富的面板,如下
Kibana的使用就是这么简单,是不是觉得超简单,建议自己去安装使用一下,加深印象,light weight baby !
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
2022-02-26 SpringCloud(2)---入门篇
2022-02-26 SpringCloud(1)---入门篇
2022-02-26 分库分表(2) --- ShardingSphere(理论)
2022-02-26 分库分表(1) --- ShardingSphere(理论)