标签:查看 界面 进入 cts 动态 改变 metadata cto strong
Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。
kibana需要64位操作系统,并且需要先安装Elasticsearch,运行Elasticsearch又需要先安装java。
参考资料:
Elasticsearch guide
Kibana guide
下面以mac上安装部署kibana为例:
1.安装java。到java里面下载对应的最新java版本,并安装。
2.安装并运行elasticsearch。到download elasticsearch里面下载对应的最新elasticsearch版本,解压之后进入elasticsearch文件夹运行命令:./bin/elasticsearch。
3.查看elasticsearch是否运行成功。浏览器打开elasticsearch默认地址:http://localhost:9200/
,如果显示如下信息则表示运行成功:
{
"name" : "Cv0Qzv6",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "LFNZ-yjkRRW4dcVyuWlbug",
"version" : {
"number" : "6.5.3",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "159a78a",
"build_date" : "2018-12-06T20:11:28.826501Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
4.安装并运行kibana。到download kibana里面下载对应的最新kibana版本,解压之后进入kibana文件夹运行命令:./bin/kibana。
5.查看kibana是否运行成功。在浏览器打开kibana默认地址:http://localhost:5601
,如果能够打开kibana则表示kibana运行成功。
6.添加数据。首次打开kibana会提示导入数据,直接倒入demo data即可。然后就可以愉快的调教kibana了。
kibana是开源的,但是只能用于elastic公司的项目。从这里可以看到kibana的源码:elastic/kibana。
kibana的大致结构如下:
整体框架:React 和 Angular 结合使用(利用ngReact库在Angular里面内嵌React)。
ui框架:EUI。Elastic公司自己开发的一套UI,开源,但是不是MIT协议,只能用于Elastic公司开发的产品。https://github.com/elastic/eui。
使用的拖拽库:react-grid-layout。
word cloud用的d3-cloud。优点是能够自动把文本直接转化为word cloud。
实现angular里面使用react的库:ngreact。
主要研究kibana的visualize和dashboard两个板块。
说明:visualization指的是visualize板块里面那样的展示图表,saved searches指的是储存的数据,它在dashboard里面以表格的形式展示出来。
为了实现上面的主要功能,kibana有如下的数据结构:
通过一个index储存这三类数据:saved searches, visualizations and dashboards。
kibana把所有能放在dashboard上的数据都叫做embeddable,按我的理解就是visualization 和 saved searches的数据。
每个embeddable数据包含2类数据:
注意:embeddable state里面有没有具体查询出来的数据?我觉得应该有,还应该有相应的查询条件。
通过embeddable state,kibana实现了2个功能:
每个dashboard都有2类数据:
dashboard板块有这么一个功能:可以通过右飘窗实时查看panel里面的数据。
而从panel到右飘窗之间,kibana封装了一层inspecter,用来处理panel数据并显示到右飘窗上面。这之间的东西又叫做adapter。
目前kibana有2个adapter,一个用来处理visualization里面的数据,一个用来发送http请求(saved searches需要这种处理)。
由于从dashboard到es之间的数据获取是异步的,并且有等待时间。所以kibana封装了一层courier来处理requests,比如说设置?时间间距啊,中断requests,分发fetch事件来更新panels等。
其中把requests queued up的必要性没有看懂~
Discover Context App Implementation Notes
Discover Context App Implementation Notes
unify the way global context is passed down to visualize
[Meta] Improve support for custom embeddable configurations at the dashboard panel level
标签:查看 界面 进入 cts 动态 改变 metadata cto strong
原文地址:https://www.cnblogs.com/yangzhou33/p/10152231.html