开源日志分析系统建设(二)
字数 1185 2025-08-18 11:37:27

Kibana日志分析系统建设指南

一、Kibana简介

Kibana是一个与Elasticsearch协同工作的开源分析和可视化平台,主要用于:

  • 查询、查看并与Elasticsearch索引数据进行交互
  • 执行高级数据分析
  • 以图表、表格和地图形式可视化数据
  • 创建实时更新的仪表盘

版本演进:

  • Elasticsearch 5版本之前:需安装Kibana后添加各种功能插件(如marvel、hand等)
  • Elasticsearch 5版本之后:推荐安装x-pack扩展包即可

二、Kibana安装

1. Linux系统安装(deb/rpm)

curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-6.3.1-linux-x86_64.tar.gz
tar xzvf kibana-6.3.1-linux-x86_64.tar.gz
cd kibana-6.3.1-linux-x86_64/
./bin/kibana

2. Mac OS X安装

curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-6.3.1-darwin-x86_64.tar.gz
tar xzvf kibana-6.3.1-darwin-x86_64.tar.gz
cd kibana-6.3.1-darwin-x86_64/
./bin/kibana

3. Windows安装

  1. 从Kibana下载页面下载Windows zip文件
  2. 解压到指定目录(如C:\Program Files)
  3. 以管理员身份打开命令提示符并切换到安装目录:
    cd C:\Program Files\kibana-6.3.1-windows
    
  4. 启动Kibana:
    bin\kibana.bat
    

三、运行测试

启动后,在浏览器访问:

http://localhost:5601

四、检查Kibana状态

访问状态页面查看服务器资源使用情况和已安装插件:

http://localhost:5601/status

五、配置外部访问

默认配置(127.0.0.1)仅允许本地访问,修改kibana.yml文件实现外部访问:

  1. 找到配置文件(通常位于/etc/kibana或使用find / -name kibana.yml查找)
  2. 修改以下参数:
    server.port: 5601  # Kibana运行端口
    server.host: "服务器IP"  # 改为服务器实际IP
    elasticsearch.url: "http://elasticsearch服务器IP:9200"  # Elasticsearch连接地址
    
  3. 重启Kibana服务

六、Kibana常用配置与功能

6.1 加载示例数据

莎士比亚数据集加载

  1. 创建映射:

    curl -X PUT "localhost:9200/shakespeare" -H 'Content-Type: application/json' -d'
    {
      "mappings": {
        "doc": {
          "properties": {
            "speaker": {"type": "keyword"},
            "play_name": {"type": "keyword"},
            "line_id": {"type": "integer"},
            "speech_number": {"type": "integer"}
          }
        }
      }
    }'
    
  2. 加载数据:

    curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/shakespeare/doc/_bulk?pretty' --data-binary @shakespeare_6.0.json
    

日志数据集加载

  1. 创建映射(以2015.05.18为例):

    curl -X PUT "localhost:9200/logstash-2015.05.18" -H 'Content-Type: application/json' -d'
    {
      "mappings": {
        "log": {
          "properties": {
            "geo": {
              "properties": {
                "coordinates": {
                  "type": "geo_point"
                }
              }
            }
          }
        }
      }
    }'
    
  2. 加载数据:

    curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/_bulk?pretty' --data-binary @logs.jsonl
    
  3. 验证加载:

    http://[服务器IP]:9200/_cat/indices?v
    

6.2 Discovery页面

功能特点:

  • 查看当前存储的所有日志信息
  • 提交搜索请求和过滤搜索结果
  • 查看文档数据
  • 查看匹配搜索查询的文档树
  • 获取字段值统计信息
  • 如果配置了时间字段,可看到基于时间分布的文档数量柱状图

注意:使用前需在管理页面创建索引模式

6.3 可视化功能

支持创建多种可视化控件:

  • 线形图
  • 区域图
  • 条形图
  • 数据表
  • Markdown控件
  • 指标
  • 饼图
  • Tile地图
  • 标签云
  • 热点图

示例:创建饼图展示各时间段IP访问请求状态

6.4 仪表盘

功能:

  • 整合多个可视化控件
  • 集中展示分析结果
  • 支持自定义布局和交互

6.5 时序控件(Timelion)

特点:

  • 时间序列数据可视化工具
  • 合并多个独立数据源到单一视图
  • 使用表达式控制展示数据

示例表达式位置:界面中标红输入框处

七、最佳实践建议

  1. 索引管理:

    • 合理规划索引生命周期
    • 设置适当的索引模板
  2. 性能优化:

    • 控制仪表盘中可视化控件的数量
    • 对常用查询字段建立合适的映射
  3. 安全配置:

    • 配置适当的访问控制
    • 考虑使用x-pack的安全功能
  4. 数据更新:

    • 设置合理的刷新间隔
    • 对大数据集考虑使用滚动索引
  5. 备份策略:

    • 定期备份Kibana对象(可视化、仪表盘等)
    • 备份Elasticsearch索引数据
Kibana日志分析系统建设指南 一、Kibana简介 Kibana是一个与Elasticsearch协同工作的开源分析和可视化平台,主要用于: 查询、查看并与Elasticsearch索引数据进行交互 执行高级数据分析 以图表、表格和地图形式可视化数据 创建实时更新的仪表盘 版本演进: Elasticsearch 5版本之前:需安装Kibana后添加各种功能插件(如marvel、hand等) Elasticsearch 5版本之后:推荐安装x-pack扩展包即可 二、Kibana安装 1. Linux系统安装(deb/rpm) 2. Mac OS X安装 3. Windows安装 从Kibana下载页面下载Windows zip文件 解压到指定目录(如C:\Program Files) 以管理员身份打开命令提示符并切换到安装目录: 启动Kibana: 三、运行测试 启动后,在浏览器访问: 四、检查Kibana状态 访问状态页面查看服务器资源使用情况和已安装插件: 五、配置外部访问 默认配置(127.0.0.1)仅允许本地访问,修改 kibana.yml 文件实现外部访问: 找到配置文件(通常位于 /etc/kibana 或使用 find / -name kibana.yml 查找) 修改以下参数: 重启Kibana服务 六、Kibana常用配置与功能 6.1 加载示例数据 莎士比亚数据集加载 创建映射: 加载数据: 日志数据集加载 创建映射(以2015.05.18为例): 加载数据: 验证加载: 6.2 Discovery页面 功能特点: 查看当前存储的所有日志信息 提交搜索请求和过滤搜索结果 查看文档数据 查看匹配搜索查询的文档树 获取字段值统计信息 如果配置了时间字段,可看到基于时间分布的文档数量柱状图 注意:使用前需在管理页面创建索引模式 6.3 可视化功能 支持创建多种可视化控件: 线形图 区域图 条形图 数据表 Markdown控件 指标 饼图 Tile地图 标签云 热点图 示例:创建饼图展示各时间段IP访问请求状态 6.4 仪表盘 功能: 整合多个可视化控件 集中展示分析结果 支持自定义布局和交互 6.5 时序控件(Timelion) 特点: 时间序列数据可视化工具 合并多个独立数据源到单一视图 使用表达式控制展示数据 示例表达式位置:界面中标红输入框处 七、最佳实践建议 索引管理: 合理规划索引生命周期 设置适当的索引模板 性能优化: 控制仪表盘中可视化控件的数量 对常用查询字段建立合适的映射 安全配置: 配置适当的访问控制 考虑使用x-pack的安全功能 数据更新: 设置合理的刷新间隔 对大数据集考虑使用滚动索引 备份策略: 定期备份Kibana对象(可视化、仪表盘等) 备份Elasticsearch索引数据