Kibana(二):服务器端解码解读
来源:互联网 发布:大数据龙头股票 编辑:程序博客网 时间:2024/05/24 07:37
服务器端的入口为src\server\kbn_server.js,这也是系统启动的核心,这里采用了mixin方式,代码结构虽然清晰,但是代码分布在各处,配置信息的传递十分复杂,其关键代码如下:
this.ready = constant(this.mixin( configSetupMixin, httpMixin, loggingMixin, warningsMixin, statusMixin // 还有很多项,在此不一一列举 ));
追溯上面的mixin,我们可以看出,Kibana采用的WEB框架为hapi.js,其相关的配置信息尽在src\server\http\index.js中。
1. 进入调试模式
直接运行kibana,会进入生产模式,要进入调试模式,可采用–dev参数,如下:
# 请务必加上--no-base-path配置,能减少很多出错信息.\bin\kibana.bat --dev --no-base-path
2 静态文件路由配置
在这里,同样可以添加自己需要的静态资源,可参照如下的代码格式。
// ui/public的绝对位置为src\ui\publicserver.exposeStaticDir('/ui/fonts/{path*}', resolve(__dirname, '../../ui/public/assets/fonts'));server.exposeStaticDir('/ui/favicons/{path*}', resolve(__dirname, '../../ui/public/assets/favicons'));
3 插件扫描范围
默认的插件扫描地址有两个,分别为:
1. 系统根目录下plugins文件夹,从外部安装的插件都放入此目录下,比如官方强烈推荐sense;
2. src/core_plugins目录,系统内置的插件尽放入此处,自己定制开发的插件推荐放于此处。
4 插件注册机制
这是Kibana的核心机制,所有的视图与功能都是基于插件模式,kibnana也是其中的一个插件,包含了dashboard、discover、visualize等五个模块,其中links信息用于左侧菜单信息,uiExports属性用于注册插件信息,如下:
// 以下源代码引用至src\core_plugins\kibana\index.jsuiExports: { hacks: ['plugins/kibana/dev_tools/hacks/hide_empty_tools'], // 用于初始化UiApp app: { id: 'kibana', title: 'Kibana', listed: false, description: 'the kibana you know and love', main: 'plugins/kibana/kibana', uses: [ 'visTypes', 'spyModes', 'fieldFormats', 'navbarExtensions', 'managementSections', 'devTools', 'docViews' ]}
结论
只有理解了Kibana的插件机制,才能理解Kibana源代码的层次结构。
阅读全文
0 0
- Kibana(二):服务器端解码解读
- kibana
- kibana
- Kibana
- Kibana(六):数据映射错误二则
- ELK服务搭建(二)之Kibana使用说明
- js解码与编码和服务器端的解码与编码
- Mina 粘包断包解码 CumulativeProtocolDecoder 源码解读
- Ffmpeg框架结构解读与编码、解码流程
- 解读NTFS(二)
- 解读NTFS 二
- SEDA源码解读(二)
- Flume源代码解读二
- 解读QML之二
- 解读QML之二
- MINA源码解读(二)
- “二调”全解读
- 深入解读Tomcat(二)
- 后缀表达式求值
- python3基础学习(一)
- Android-数据存储方式(IO-SharedPreferences)
- idl编译生成头文件和失败问题记录
- java 分行读取
- Kibana(二):服务器端解码解读
- Unity3D VR推拉门
- springmvc的配置
- ***线程,GCD,runloop
- java开发系统内核:让内核从严重错误中恢复
- Java菜鸟学习日记3
- (4)系统基础操作
- Word Break
- ElasticSearch提供跨域访问的配置方法