第4章:Kibana基础与可视化——从界面到第一个仪表板
Kibana是什么?说白了就是ELK全家桶的门面。你的日志进来了,Elasticsearch存好了,但不把它可视化出来,谁看得懂?
我当年第一次接触Kibana时,对着满屏幕的图表发懵——到底该点哪里?后来踩了不少坑,才真正理解它的设计逻辑。这一章我就带你把Kibana的基本操作捋一遍,重点是界面导航、数据探索(Discover)以及创建你的第一个仪表板。
4.1 Kibana界面导航:别迷路
打开Kibana,左侧那个深色侧边栏就是你的指挥中心。我个人习惯先扫一遍所有菜单项,搞清楚每个菜单是干什么的。
| 菜单项 | 作用 | 常用指数 |
|---|---|---|
| Discover | 原始数据搜索与浏览 | ⭐⭐⭐⭐⭐ |
| Dashboard | 可视化面板集合 | ⭐⭐⭐⭐⭐ |
| Visualize Library | 创建单个图表 | ⭐⭐⭐⭐ |
| Canvas | 像素级自定义报表 | ⭐⭐ |
| Maps | 地理数据分析 | ⭐⭐⭐ |
| Stack Management | 索引管理、保存搜索等 | ⭐⭐⭐⭐ |
Kibana的菜单设计其实挺合理的——从上到下,从左到右,依次是数据查看(Discover)、数据可视化(Visualize)、仪表板组装(Dashboard)。嗯,这条路我建议你按顺序走一遍。
4.2 数据探索(Discover):和日志直接对话
Discover是Kibana里我最爱用的模块。为什么?因为它让你直接面对原始数据,没有任何花哨的图表干扰。
我记得刚开始做审计日志巡检时,需要快速定位某个IP在过去一天的访问次数。如果先去建图表,太慢了。直接在Discover里用KQL(Kibana Query Language)写一句搜索,几秒钟搞定。
4.2.1 基本搜索与过滤
- 时间选择器:右上角那个时钟图标,默认是过去15分钟。审计日志通常看过去24小时或过去7天,记得改它。
- 搜索框:输入
src_ip:192.168.1.1就能过滤出该IP的所有日志。 - 字段过滤:点击左侧字段名,可以快速添加过滤条件。比如只显示
event_type为login_failed的日志。
hostname: "web-01" AND event_type: "login_failed" AND user: NOT "admin"
一秒定位到了异常IP。这就是Discover的威力——先查数据,再决定要不要做图表。
4.2.2 保存搜索与导出
你经常用到的过滤条件,比如 event_type: error AND severity: critical,可以点搜索框旁边的“Save”按钮保存下来。下次直接在Saved Objects里调用,不用再写一遍。
我曾经踩过一个坑:保存搜索时忘了起一个好记的名字,结果后来有几十个“测试1”、“测试2”、“111”这样的保存项……那场面,惨不忍睹。建议你用 用途_数据类型_时间范围 这种命名方式,比如 告警日志_错误类_近7天。
4.3 创建第一个仪表板:把数据变成视图
仪表板是Kibana的终极武器。你要做的不是孤立的图表,而是在一张画布上把多个图表组合起来,让审计日志的各个维度一目了然。
audit-*,这里直接用它就行。如果你的Kibana还没看到任何数据,检查一下索引模式有没有匹配错误。
4.3.1 从Visualize开始
我会先创建几个可视化组件,然后再拼成仪表板。
- 侧边栏选择 Visualize Library → 点击“Create visualization”。
- 选择数据源:比如
audit-*。 - 选择一个图表类型。对于审计日志,我个人常用的是:
- 条形图:展示按小时统计的错误次数。
- 数据表(Data Table):列出Top 5的源IP。
- 计数器(Metric):显示总日志量、失败登录总数等。
- 配置聚合:比如
Date Histogram以小时为单位,再加上一个Terms聚合按event_type分组。 - 保存这个图表,名字建议带上前缀
【Audit】以区别于其他用途。
4.3.2 拼接仪表板
回到侧边栏 → 点击 Dashboard → “Create dashboard”。这时候你会看到一个空白画布。
- 点击 Add → 从已有可视化列表中选择刚才保存的图表。
- 用鼠标拖拽调整每个图表的大小和位置。
- 右上角的 时间选择器 同样会影响整个仪表板的数据范围,记得设成你需要的时间窗口。
我通常会放三个图表:一个趋势线图看时间维度,一个饼图看事件类型分布,一个数据表看具体的异常IP。这样一眼就能发现问题。
4.3.3 保存与分享
点右上角的“Save”按钮,给仪表板起个正式的名字,比如“审计日志巡检面板_日视图”。
还需要注意一点:仪表板默认只有创建者能编辑。如果你要分享给团队,可以在仪表板页面顶部的“Share”按钮里生成一个短链接,或者直接将仪表板嵌入到其他页面。
知识结构一览
下面这张SVG图总结了从数据到仪表板的完整流程,你可以对照着回顾一下本章的核心逻辑。
这个流程图中,你可以看到数据从Elasticsearch流入,经过索引模式,在Discover中被检索和验证,然后通过Visualize变成图表,最后汇聚到仪表板。我建议你按照这个顺序操作,别跳步——跳步容易漏掉数据验证环节,等到仪表板建好才发现数据不对,那就要花更多时间排查。
本章小结
Kibana的核心就三件事:找到数据(Discover)、做图表(Visualize)、拼面板(Dashboard)。没有花哨的技巧,但每一个环节都有它存在的意义。
我个人觉得,最关键的还是第一步——在Discover里多花点时间把数据摸透。数据理解了,后面的图表自然就有了方向。好了,先把本章提到的操作在实验环境里跑一遍吧。