kibana

96
旅行路上的吕行
2017.07.11 10:43* 字数 1668

kibana安装

kibana目录介绍

  • bin:
    程序的脚本文件,通过终端命令
./kabana   执行kibana
  • config:
    其中包括kibana.yml文件(kibana的配置文件)

修改elasticsearch.url的接受路径

image.png

接受路径的用户名以及密码

image.png

本地服务的端口号
注意:修改之后需要去掉 #号

//更多介绍
https://kibana.logstash.es/content/kibana/v5/production.html
  • data:

  • node:
    nodejs的服务程序

  • node_modules
    node文件的依赖包

  • optimize(充分利用):
    该文件夹里面存入所有被编译过的js文件,也就是说所有的前台文件在src中,但是在启动后会被编译到该文件夹下

  • src:
    源码,该文件是被编译到optimize里面的。(在平常中,修改了src里面相应的html文件,启动kibana后发现现实并没有改变,原因就是编译文件中并没有被改变,解决的办法就是把optimize里面的相应的js删除掉,如kibana.bundle.js 对应的是discover setting visualize等组件)

  • src/ui/index.js
    完成了更加细节的各类app的加载和路由app
    并且将app里面的内容打包进了bundle

所以我们只改变源码是不能够直接生效的,因为服务会优先的使用bundle中的内容执行。

image.png

从这句话可以看出,kibana支持设定config中的利用行为。完整的介绍见“src/server/config/schema.js”,这是在启动kbn_server 之前最先加载的内容。
在schema.js中可以加上

image.png
optimize.enabled: false
  • kibana 框架
    从4.5版本开始kibana框架与其他组件进行了分离路径在src/core_plugins/kibana中。
    kibana中目录为
    commom
    public
    server
    translations
    index.js
    package.json
    在index.js中可以看到
image.png

此文件将设定将组件注册成为一个 kibana.Plugin,id 叫什么,config 配置有什么,标题叫什么,入口文件是哪个,具体是什么类型的 uiExports,一般常见的选择有:app、visType。”

可以通过更改title来更改主页显示的标题名称。

image.png

uses 和 injectVars 是可选的方式,可以在 src/ui/ui_app.js 中看到起作用。分别是指明下列模块已经加载过,以后就不用再加载了;以及声明需要注入浏览器的 JSON 变量即:

image.png

因为一般应用不会使用links的类型uiExports因为kibana不用左侧边栏切换,而是要将自己内部的模块放上去,所以声明时将列表属性设定为了false

image.png

links具体可配置的属性见src/ui/ui_nav_link.js

image.png

在index.js中
preInit 也是一个可选属性,如果有需要创建目录之类的要预先准备的操作,可以在这步完成。

image.png

init是最后一步

image.png

Kibana 应用的最后一步是继续加载了一些服务器端的 route 设置。

  • src/core_plugins/kibana/public/kibana.js
    其中的
image.png

中即加载了 kibana 自定义的各种 angular module、directive 和 filter
例如:markdown、moment、auto_select、json_input、paginate、file_upload等常用插件。

  • src/ui/public/routes/route_manager.js
    文件设置 routes 的具体操作,其中会调用 sr/ui/public/index_patterns/route_setup/load_default.js 中提供的 addSetupWork 方法,在未设置 default index pattern 的时候跳转 URL 到 whenMissingRedirectTo 页面。

  • src/ui/public/courier/courier.js
    中定义了 Courier 类。Courier 是一个非常重要的东西,可以简单理解为 kibana 跟 ES 之间的一个 object mapper。控制器则会监听 application.load 事件,在页面加载完成的时候触发 courier.start()

kibana各个模块功能介绍以及使用方法

discover(探索)功能

discover标签主要用于交互的探索你的数据,可以通过你的索引模式来匹配每一条记录。

  • 设置时间过滤器
    时间过滤器得默认设置的时间为最近的15分钟,你可以使用顶部的时间选择器来修改时间过滤器,或者选定一个特定的时间间隔,或者时间范围。
image.png
  • 搜索数据
    在discover页面提交一个搜索,你就可以搜索匹配当前的索引模式的索引数据了,你可以之间输入简单的请求字符串,也就是用Lucene query syntax(Lucene查询语法)也可以用完整的基于JSON的 Elasticserach Query DSL。

Lucene query syntax(Lucene查询语法)
在搜索框内输入请求字符串:
简单的文本搜索,直接输入文本字符串。比如,如果你在搜索网站服务器日志,你可以输入 safari 来搜索各字段中的 safari 单词。
要搜索特定字段中的值,则在值前加上字段名。比如,你可以输入 status:200 来限制搜索结果都是在 status 字段里有 200 内容。
要搜索一个值的范围,你可以用范围查询语法,[START_VALUE TO END_VALUE]。比如,要查找 4xx 的状态码,你可以输入 status:[400 TO 499]。
要指定更复杂的搜索标准,你可以用布尔操作符 AND, OR, 和 NOT。比如,要查找 4xx 的状态码,还是 php 或 html 结尾的数据,你可以输入 status:[400 TO 499] AND (extension:php OR extension:html)。

  • 开始一个新的搜索
image.png
  • 保存搜索
    可以再Discover页加载已经保存的搜索,也可以用作visualizations的
    基础,保存一个搜索,意味着同时保存下了搜索请求的字符串和当前的索引模式。
    点击save按钮
image.png
  • 加载一个已经存储的搜索
image.png
  • 改变你的搜索的索引

  • 自动刷页面
    你也可以通过自己配置一个时间间隔
    来自动刷新Discover页面的最新的索引数据

image.png
  • 按字段过滤
    你可以过滤搜索结果,只显示某字段中包含了特定值的文档,同时也可以反向创建反向过滤器,排除掉包含特定字段值的文档。

  • 查看字段数据统计
    从字段列表,你可以看到文档表格里有多少数据包含了这个字段,排名前5的值是什么,以及包含各个值得文档的占比。

image.png

要基于这个字段创建可视化,点击字段统计下方的 Visualize 按钮。

kibana插件定制化

可以通过Elastic.co 公司的下载地址下载:
bin/kibana_plugin --install
目前已知的插件列表

https://www.elastic.co/guide/en/kibana/current/known-plugins.html

前端学习笔记