当前位置: 首页 > news >正文

Elasticsearch Kibana 使用 原理

先概括 ElasticsearchKibana使用场景,再说说它们的 基本原理和关系


一、什么是 Elasticsearch 和 Kibana?

组件简介
Elasticsearch(ES)一个开源的、分布式的搜索和分析引擎,基于 Lucene,常用于日志分析、全文搜索、数据分析。
Kibana可视化工具,用于展示和分析存储在 Elasticsearch 中的数据。

二者常搭配使用,形成 ELK/Elastic Stack:

E(Elasticsearch)+ L(Logstash)+ K(Kibana)


二、使用场景

  • 系统日志分析(如结合 Filebeat)

  • 网站搜索引擎

  • 运维监控(如 ELK Stack)

  • 数据可视化报表

  • 安全审计日志平台(SIEM)


三、基本原理与架构

1. Elasticsearch 原理

Elasticsearch 是一个 面向文档(JSON)的搜索引擎,主要原理如下:

✅ 数据结构
  • 类似数据库的结构:

    • Index(索引):类似数据库

    • Document(文档):类似一行记录,格式为 JSON

    • Field(字段):JSON 的字段

✅ 核心功能
  • 全文搜索:倒排索引(Inverted Index)

  • 结构化查询:支持复杂的 bool 查询语法

  • 聚合分析:如 avg、sum、terms(类似 SQL 的 GROUP BY)

  • 分布式架构:数据可分片(Shard)和副本(Replica)

✅ 存储与搜索流程
  1. 数据以 JSON 格式写入(REST API 或 Beats 等)

  2. 被索引:建立倒排索引

  3. 查询时快速定位关键词或结构字段

  4. 返回结果(可带排序、分页、高亮)


2. Kibana 原理

Kibana 是连接到 Elasticsearch 的前端界面,其作用:

  • 数据查询(Query DSL 封装)

  • 图表报表:柱状图、饼图、表格、地图等

  • 实时仪表板(Dashboard)

  • Dev Tools:直接写 ES 查询语句

  • Index Pattern 管理:定义 ES 数据结构视图

工作方式:
  1. 用户在 Kibana 中配置 Index Pattern(比如 log-*

  2. 用 DSL 或 Lucene 查询语言查数据

  3. Kibana 发请求到 Elasticsearch 获取数据

  4. 可视化展示分析结果


四、你怎么用 Elasticsearch 和 Kibana?

一个典型流程如下:

  1. 收集数据:使用 Filebeat 或 Logstash 把日志发送到 Elasticsearch

  2. 存储索引:Elasticsearch 将数据按字段建立索引

  3. 分析搜索:通过 Kibana 查询、过滤、聚合

  4. 展示可视化:仪表盘中展示趋势图、统计图、异常告警等


五、简单例子

你可以用 CURL 或 Kibana DevTools 执行以下查询:

GET /weblogs/_search
{"query": {"match": {"status": 500}},"aggs": {"by_url": {"terms": {"field": "url.keyword"}}}
}

查询所有状态码为 500 的日志,并统计各 URL 的数量。


总结一句话

Elasticsearch 是强大的搜索和分析引擎,Kibana 是它的可视化前端。两者结合可实现强大的数据洞察能力。

http://www.dtcms.com/a/269818.html

相关文章:

  • 用基础模型构建应用(第七章)AI Engineering: Building Applications with Foundation Models学习笔记
  • Linux基础篇、第五章_01利用 Cobbler 实现 CentOS 7 与 Rocky 9.5 自动化安装全攻略
  • 记录一次在 centos 虚拟机 中 安装 Java环境
  • windows内核研究(系统调用 1)
  • 从传统项目管理到敏捷DevOps:如何转向使用DevOps看板工具进行工作流管理
  • 谁主沉浮:人工智能对未来信息技术发展路径的影响研究
  • 优化提示词提升VLLM准确率
  • K8s——配置管理(1)
  • 构建高效分布式系统:bRPC组合Channels与HTTP/H2访问指南
  • 从单体到微服务:Spring Cloud 开篇与微服务设计
  • 微前端框架对比
  • 无缝矩阵支持音频分离带画面分割功能的全面解析
  • ​AI赋能的自动驾驶革命:从安全架构到世界模型的系统性突破
  • 【操作系统】磁盘调度
  • hmall学习
  • 2025年模型与机器学习国际会议 (ICMML 2025)
  • BM9 删除链表的倒数第n个节点
  • 计算机网络4层架构怎么理解,分别把协议和对应的层用一些生活的例子形象说明一下
  • MyBatis完全学习指南
  • 算法题练习3-判定链表是否是回文串
  • 【踩坑随笔】PlatformIO导入Arduino项目出现的问题
  • STM32第十八天 ESP8266-01S和电脑实现串口通信
  • HTTP/3.x协议详解:基于QUIC的下一代Web传输协议
  • 小红书APP品牌升级,启用新品牌口号“你的生活兴趣社区”
  • 2025年社会学与安全科学国际会议 (ICSSS 2025)
  • 【AI News | 20250707】每日AI进展
  • C++ dijkstra 最短路径算法
  • c语言学习_函数递归
  • 数学建模:非线性规划:凸规划问题
  • 【AI智能体】智能音视频-基于乐鑫 ESP32 实现音视频通话