一、Kibana 是什么

Kibana 是 Elasticsearch 官方推出的 数据可视化与分析工具,是 ELK(Elasticsearch + Logstash + Kibana) 技术栈的重要组成部分。
它可以将海量日志、监控指标、搜索结果通过图表、仪表盘、地图等方式进行可视化展示。

一句话概括:

Kibana = Elasticsearch 的“可视化大脑”。


二、核心功能

功能模块 描述
Discover 数据实时查询与过滤
Visualize 创建图表、饼图、柱状图、折线图
Dashboard 仪表盘展示多个图表
Canvas 数据故事与可视化演示
Maps 地理信息可视化
Machine Learning 异常检测与预测分析
Alerting 告警与监控触发机制

三、安装与启动

1. 安装(Linux)

wget https://artifacts.elastic.co/downloads/kibana/kibana-8.13.0-amd64.deb sudo dpkg -i kibana-8.13.0-amd64.deb

2. 启动服务

sudo systemctl enable kibana sudo systemctl start kibana

3. 访问界面

打开浏览器访问:


http://localhost:5601

若看到 “Welcome to Kibana” 即代表启动成功。


四、Kibana 与 Elasticsearch 连接配置

编辑配置文件 /etc/kibana/kibana.yml


server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["http://localhost:9200"] elasticsearch.username: "elastic" elasticsearch.password: "your_password"

重启服务:


sudo systemctl restart kibana


五、导入数据

1. 从 Elasticsearch 导入

“Stack Management → Index Patterns” 中创建索引模式,如:


index pattern: nginx-logs-*

选择时间字段(如 @timestamp),Kibana 会自动识别并生成索引视图。

2. 上传文件导入

在 “Machine Learning → Data Visualizer” 中可上传 CSV、JSON、NDJSON 文件,
自动创建索引并导入 Elasticsearch。


六、Discover 模块

Discover 是 Kibana 的“数据浏览器”,可进行:

  • 实时搜索与过滤;

  • 字段统计与分布查看;

  • 保存查询视图。

示例查询:


status:200 AND extension:"jpg"

支持布尔逻辑、范围查询与正则匹配。


七、Visualize 模块

Visualize 用于创建数据图表。常见类型包括:

图表类型 用途
Area / Line / Bar 趋势分析
Pie / Donut 分类占比
Metric / Gauge 数值展示
Tag Cloud 关键词统计
Data Table 明细展示
Heatmap 热度分布
Time Series 时间序列监控

示例:
在 “Visualize → Create visualization → Bar chart” 中选择索引:

  • X 轴选择 @timestamp(时间)

  • Y 轴选择 count()

  • status.keyword 分组显示 HTTP 状态码统计。

参考案例:www.vkdjj.cn


八、Dashboard 仪表盘

Dashboard 是 Kibana 的核心展示模块,用于将多个可视化图表整合到一个界面。

操作步骤:

  1. 打开 Dashboard → Create new dashboard

  2. 点击 “Add existing” 选择已有图表;

  3. 调整布局与大小;

  4. 保存为 Website Traffic Monitor 等名称。

支持动态筛选与时间范围同步,常用于监控系统。


九、Canvas 数据演示

Canvas 适合制作美观的可视化报表与数据展示页面。
支持添加文本、图表、图像、Logo 等组件,
可将实时数据通过表达式引擎动态渲染。

示例表达式:


filters | esdocs index="sales-data" | pointseries x=month y=sales | plot defaultStyle={seriesStyle lines=2}


十、地图可视化(Kibana Maps)

Kibana 提供地理空间分析功能,可基于 GeoJSON、经纬度字段 展示数据。

配置示例:

  • 数据字段包含 "location": { "lat": 13.75, "lon": 100.5 }

  • 在 Maps 中添加图层:

    • 数据源:Elasticsearch 索引

    • 显示方式:圆点 / 热力图 / 边界地图


十一、时间序列分析(TSVB)

TSVB(Time Series Visual Builder)是 Kibana 内置的时间序列分析工具。

可实现:

  • CPU / 内存监控趋势;

  • 日志数量随时间变化;

  • 动态对比多指标。

表达式示例:


{ "metrics": [ { "field": "bytes", "type": "avg" } ], "time_field": "@timestamp" }


十二、搜索语法详解

操作符 示例 说明
: status:404 精确匹配
AND / OR / NOT method:GET AND status:200 逻辑条件
* url:*.jpg 通配符
> < bytes > 1024 范围查询
_exists_ _exists_:user 检查字段存在
正则匹配 url:/error.*/ 模糊匹配

十三、保存与分享

在 Kibana 中创建的图表与 Dashboard 可以:

  • 导出为 PDF / PNG 报表

  • 通过链接分享;

  • 嵌入到内网监控平台。

导出报表命令:


POST /api/reporting/generate/csv


十四、告警与监控(Alerting)

Kibana 的 Alerting 系统支持对数据变化自动发出通知。

配置步骤:

  1. Stack Management → Rules and Connectors 创建规则;

  2. 选择触发条件(如 “error > 100”);

  3. 配置通知方式(Email、Slack、Webhook);

  4. 启动规则后实时检测数据变化。

示例规则:


{ "rule": "CPU usage > 80%", "condition": "system.cpu.pct > 0.8", "action": "send to Slack" }


十五、机器学习(Machine Learning)

Kibana 的 ML 模块可以自动检测异常数据趋势。

常见用途:

  • 检测异常流量峰值;

  • 预测系统负载;

  • 分析用户行为模式。

示例:


Job type: Single metric Detector: avg(bytes) Time field: @timestamp


十六、安全管理(Spaces 与 Roles)

  • Spaces:多租户空间隔离,可按团队划分可见范围。

  • Roles & Users:控制不同用户的访问权限。

创建空间:


Stack Management → Spaces → Create space

分配角色权限:


Management → Security → Roles


十七、与 Logstash / Beats 集成

1. Filebeat 日志收集

安装并启用模块:


sudo apt install filebeat sudo filebeat modules enable nginx sudo systemctl start filebeat

日志会自动流入 Elasticsearch,Kibana 自动生成 Dashboard。

2. Logstash 数据处理

通过 Logstash pipeline 将数据清洗后导入 ES。
Kibana 可直接关联索引模式进行可视化。


十八、性能优化

  1. 限制可视化查询时间范围

  2. 减少图表刷新频率(默认 10s)

  3. 启用 Elasticsearch 聚合缓存

  4. 分层 Dashboard(按空间拆分)

  5. 关闭不必要的插件模块


十九、备份与迁移

导出仪表盘:


Stack Management → Saved Objects → Export

导入新实例:


Stack Management → Saved Objects → Import

可快速复制环境到新集群。


二十、企业级应用场景

场景 实践方式
运维监控中心 实时展示 CPU、内存、流量变化
日志审计平台 汇总系统与应用日志
安全预警系统 监测异常 IP、访问行为
电商交易可视化 展示销售趋势与用户画像
IoT 数据监控 实时展示传感器数据变化
运营决策分析 聚合各类业务指标可视化展示
Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐