Kibana是什么?elk
ELK介绍
ELK其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,Elasticsearch,Logstash 和 Kibana。这三款软件都是开源软件,通常是配合使用,而且又先后归于 Elastic.co 公司名下,故被简称为ELK协议栈
它是一个建立在全文搜索引擎 Apache Lucene基础上的搜索引擎,使用Java语言编写
ELK起源
日常工作中会面临很多问题,处理问题时候。怎么解决问题?
通过工作经验,迅速判断问题出在哪。
通过日志
系统日志:/var/log 目录下的问题的文件
程序日志: 代码日志(项目代码输出的日志)
服务应用日志
nginx、HAproxy、lvs
tomcat、php-fpm
redis、mysql、mongo
RabbitMq、kafka
Glusterfs、HDFS、NFS等等
通过日志排除,发现问题根源解决问题
如果1台或者几台服务器,我们可以通过 linux命令,tail、cat,通过grep、awk等过滤去查询定位日志查问题
但是如果几十台、甚至几百台。通过这种方式肯定不现实。
怎么办?
一些聪明人就提出了建立一套集中式的方法,把不同来源的数据集中整合到一个地方。
一个完整的集中式日志系统,是离不开以下几个主要特点的。
收集-能够采集多种来源的日志数据
传输-能够稳定的把日志数据传输到中央系统
存储-如何存储日志数据
分析-可以支持 UI 分析
警告-能够提供错误报告,监控机制
Elasticsearch的功能:
1.搜索
2.全文检索
3.分析数据
4.处理海量数据PB,对海量数据进行近实时的处理(ES可以自动将海量数据分散到多台服务器上去存储和检索)
5.高可用高性能分布式搜索引擎数据库
Elasticsearch的应用场景:
1.网页搜索
2.新闻搜索
3.商品标签
4.日志收集分析展示
Logstash
Logstash 是一个具有实时渠道能力的数据收集引擎。使用 JRuby 语言编写。其作者是世界著名的运维工程师乔丹西塞 (JordanSissel)
主要特点
几乎可以访问任何数据
可以和多种外部应用结合
支持弹性扩展
它由三个主要部分组成,见图 4:
Shipper-发送日志数据
Broker-收集数据,缺省内置 Redis
Indexer-数据写入
Kibana
Kibana是世界上最流行的开源日志分析平台ELK Stack 中的“K” ,它为用户提供了一个工具,用于在存储在 Elasticsearch 集群中的日志数据之上探索、可视化和构建仪表板。
Kibana是一款基于 Apache开源协议,使用 JavaScript语言编写,为 Elasticsearch提供分析和可视化的 Web 平台。它可以在Elasticsearch的索引中查找,交互数据,并生成各种维度的表图.
Kibana 的核心功能是数据查询和分析。使用各种方法,用户可以在 Elasticsearch 索引的数据中搜索其数据中的特定事件或字符串,以进行根本原因分析和诊断。基于这些查询,用户可以使用 Kibana 的可视化功能,该功能允许用户以各种不同的方式可视化数据,使用图表、表格、地理地图和其他类型的可视化。