Kibana 仪表板可视化配置教程

Kibana 是 ELK Stack 中的可视化组件,提供强大的日志搜索、分析和仪表板功能。通过 Kibana 你可以快速查找特定日志、分析访问趋势和构建运维监控大屏。本文将介绍 Kibana 的核心功能和仪表板配置方法。

一、访问与初始设置

Kibana 默认监听 5601 端口,通过浏览器访问 http://你的IP:5601。如果使用 ELK Docker Compose 部署,Kibana 应该已经自动连接到 Elasticsearch。

1.1 创建数据视图

在使用 Kibana 之前,需要先创建数据视图(Data View)来指定要查询的索引:

  • 进入「Management」→「Stack Management」→「Kibana」→「Data Views」。
  • 点击「Create data view」。
  • Name:设置名称,如「Filebeat Logs」。
  • Index pattern:输入 filebeat-* 匹配所有 Filebeat 索引。
  • Timestamp field:选择 @timestamp
  • 点击「Save data view to Kibana」。

二、Discover 日志搜索

Discover 是 Kibana 中最常用的功能,用于实时搜索和浏览日志。

2.1 基本搜索

在搜索栏中使用 KQL(Kibana Query Language):

# 搜索包含关键字的日志
message: "error"

# 精确匹配字段值
http.response.status_code: 404

# 范围查询
http.response.status_code >= 400 and http.response.status_code < 600

# 通配符搜索
source.ip: "192.168.*"

# 组合查询
log.level: "error" and host.name: "bwg-vps-01"

# 否定查询
not message: "health check"

2.2 时间范围筛选

点击右上角的时间选择器,可以选择预设时间范围(最近 15 分钟、1 小时、24 小时等),也可以自定义起止时间。

2.3 字段过滤

在左侧字段列表中,点击字段名旁的「+」号添加到显示列。常用字段:

  • message:日志原始内容。
  • log.level:日志级别。
  • host.name:来源主机名。
  • source.ip:来源 IP。

三、Lens 可视化

Lens 是 Kibana 推荐的可视化编辑器,支持拖拽式操作:

3.1 创建可视化

  • 进入「Visualize Library」→「Create visualization」→ 选择「Lens」。
  • 从左侧字段列表拖拽字段到工作区域。
  • Lens 会自动推荐合适的图表类型。

3.2 常用图表类型

  • 柱状图:展示日志按时间分布,如每小时的请求数或错误数。
  • 饼图:展示日志类型分布,如 HTTP 状态码占比。
  • 折线图:展示指标随时间的变化趋势。
  • 数据表:展示详细的统计数据。
  • 指标(Metric):展示单个数值,如总请求数、错误率。

四、创建仪表板

进入「Dashboard」→「Create dashboard」:

4.1 添加面板

  • 点击「Add panel」可以新建可视化或从已有的可视化库中添加。
  • 也可以添加 Saved Search(保存的搜索)直接展示日志流。

4.2 推荐的仪表板布局

  • 顶部概览:Metric 面板展示总请求数、错误率、平均响应时间。
  • 中部趋势:折线图展示请求量和错误数的时间趋势。
  • 下部详情:表格展示 Top 10 URL、Top 10 IP、最新错误日志。

4.3 添加筛选器

在仪表板顶部可以添加全局筛选器,所有面板会自动应用:

  • 点击「Add filter」选择字段和条件。
  • 也可以在搜索栏中输入 KQL 查询。

五、常用日志分析场景

5.1 Nginx 访问日志分析

启用 Filebeat 的 Nginx 模块后,Kibana 会自动创建对应的仪表板。也可以手动创建:

  • 请求量趋势图:按 @timestamp 分桶的柱状图。
  • 状态码分布:按 http.response.status_code 分组的饼图。
  • Top 10 请求路径:按 url.path 聚合的数据表。
  • 访客地理分布:使用 GeoIP 数据的地图可视化。

5.2 安全日志分析

  • SSH 登录失败统计:搜索 system.auth.ssh.event: "Failed"
  • 登录失败来源 IP 排行:按 source.ip 聚合。
  • 暴力破解检测:短时间内同一 IP 多次登录失败。

六、配置 Nginx 反向代理

server {
    listen 443 ssl http2;
    server_name kibana.your-domain.com;

    ssl_certificate /etc/letsencrypt/live/kibana.your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/kibana.your-domain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:5601;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_buffer_size 128k;
        proxy_buffers 4 256k;
    }
}

七、导出与分享

  • 分享链接:点击仪表板右上角的分享图标,生成快照链接或短链接。
  • 导出 PDF/PNG:需要安装 Reporting 插件后可导出仪表板为图片或 PDF。
  • 导出保存对象:在「Stack Management」→「Saved Objects」中导出仪表板的 JSON 定义。

八、Kibana 空间管理

Kibana Spaces 可以将仪表板和可视化按用途隔离:

  • 进入「Stack Management」→「Kibana」→「Spaces」。
  • 创建不同的空间,如「运维」「安全」「开发」。
  • 每个空间有独立的仪表板和数据视图。

九、常见问题

Kibana 加载缓慢

调整 Elasticsearch 的查询超时和 Kibana 的缓冲区大小:

# kibana.yml
elasticsearch.requestTimeout: 60000
elasticsearch.shardTimeout: 30000

仪表板图表无数据

确认数据视图的索引模式是否正确,时间范围是否覆盖了有数据的时段。在 Discover 中先验证能否搜索到数据。

总结

Kibana 的可视化和搜索能力是 ELK Stack 的核心价值所在。配合 Filebeat 收集日志,你可以构建强大的日志分析平台。如果资源有限,也可以考虑 Grafana Loki 作为轻量替代方案。选购搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。