Kibana TSVB 注解的使用

昨天介绍了 Kibana 的里程碑插件,举了个用里程碑来展示数据的注解,写完之后,还是觉得这个例子有点不是太好,

第一,里程碑时间轴还是比较独立,和其他时序图形的时间轴对不上,所以看起来,很不好进行参考,虽然可以首先对时间过滤到出现异常的范围,然后再看里程碑图表的信息,不过,这个实在是体验太差了,用里程碑显示独立的里程信息应该是很好的,如果要做数据的注解,有没有更好的办法呢?

答案是有的,以上一个图形展示的 TSVB 来说,TSVB 本来就自带了数据注解的功能,今天我来给大家介绍一下怎么使用。

  1. 打开 TSVB 的编辑,转到 Annotations 选项卡

  2. 在 Index Patterns 里面设置你要引用的数据,然后设置一个时间字段,此处为 @timestamp

  3. 设置要显示的 Tag 字段,支持多个,用逗号分隔

  4. 设置显示的标签,支持模板, {{字段名}}

最后的效果及设置的截图,如下所示:

Snip20180513_12.png

是不是很简单。

继续阅读 »

昨天介绍了 Kibana 的里程碑插件,举了个用里程碑来展示数据的注解,写完之后,还是觉得这个例子有点不是太好,

第一,里程碑时间轴还是比较独立,和其他时序图形的时间轴对不上,所以看起来,很不好进行参考,虽然可以首先对时间过滤到出现异常的范围,然后再看里程碑图表的信息,不过,这个实在是体验太差了,用里程碑显示独立的里程信息应该是很好的,如果要做数据的注解,有没有更好的办法呢?

答案是有的,以上一个图形展示的 TSVB 来说,TSVB 本来就自带了数据注解的功能,今天我来给大家介绍一下怎么使用。

  1. 打开 TSVB 的编辑,转到 Annotations 选项卡

  2. 在 Index Patterns 里面设置你要引用的数据,然后设置一个时间字段,此处为 @timestamp

  3. 设置要显示的 Tag 字段,支持多个,用逗号分隔

  4. 设置显示的标签,支持模板, {{字段名}}

最后的效果及设置的截图,如下所示:

Snip20180513_12.png

是不是很简单。

收起阅读 »

Kibana 里程碑插件的使用

今天介绍一下 Kibana 的里程碑插件的使用,这个是一个相对还比较新的可视化插件,可以用来对具有时间上下文相关的数据,以里程碑的方式来展现这些数据点在时间轴上的关联性。

这样说可能比较抽象,举个荔枝,你在 Elasticsearch 里面存的是服务器日志信息,然后有一天,老板说网站很慢,帮忙重启一下,(老板听说重启可以解决问题,反正他说他的笔记本重启之后就老快了),这个是一个已知的维护动作,所以你默默的在后台记录了重启的时间和是谁叫你重启的(这里是老板),到了月底的时候,老板让你把这个月的服务器运行数据给他看,然后问你为什么某一个时间服务器请求都为0,你打开 Kibana,指着其中一个时间点说,诺,这里,你让我重启了服务器。

是的,你可以对数据进行注解,用来解释数据和异常,这个是一个很好的场景,另外,还可以关联持续集成工具,每次谁代码提交了,你把这个作为一个事件,存到 es 里面,然后用里程碑可视化显示,那么这个提交造成的服务运行指标的变化,比如性能提升和下降,就会非常直观的关联到这次代码提交,同理,软件版本的发布也是一个里程碑事件,也可以展示并关联起来。然后,在使用的时候,还可以根据时间定位到感兴趣的地方,查看该段时间都发生了哪些自定义的事件和日志,方便分析。做安全方面的分析也可以用来跟踪和做入侵事后复盘的注解。

是不是,很多地方都能使用这个插件呢。

插件地址:https://github.com/walterra/kibana-milestones-vis/

演示截图:

kibana-milestones-vis.png

关于如何使用,其实在该项目的 README 里面已经比较详细了。

1.首先找到对应的 Kibana 插件的版本,如果没有可能需要手动编译插件,有的话,直接找到下载地址。 https://github.com/walterra/kibana-milestones-vis/releases

2.使用 Kibana 的插件安装命令下载安装

➜  kibana-6.2.4-darwin-x86_64 bin/kibana-plugin install https://github.com/walterra/kibana-milestones-vis/releases/download/v6.2.4/kibana-milestones-vis-6.2.4.zip
Found previous install attempt. Deleting...
Attempting to transfer from https://github.com/walterra/kibana-milestones-vis/releases/download/v6.2.4/kibana-milestones-vis-6.2.4.zip
Transferring 1353656 bytes....................
Transfer complete
Retrieving metadata from plugin archive
Extracting plugin archive
Extraction complete
Optimizing and caching browser bundles...

3.启动 Kibana,然后进入 Visualize 面板,应该就能找到这个新的 Milestone 类型的可视化组件了。

Snip20180512_1.png

Snip20180512_2.png

加两个维护日志

Snip20180512_3.png

Snip20180512_4.png

Snip20180512_5.png

和日志关联分析

Snip20180512_6.png

4.还有一个隐藏的秘籍,就是可以支持图片作为标注

Snip20180512_8.png

Snip20180512_10.png

用图片代替文字,是不是更直观,如果你的数据是电影相关的,你可以放一个电影海报替代,如果你的是历史人物相关的,比如,可以换成人物头像,地点等等。

好了,是不是很炫,快去自己试试吧。

继续阅读 »

今天介绍一下 Kibana 的里程碑插件的使用,这个是一个相对还比较新的可视化插件,可以用来对具有时间上下文相关的数据,以里程碑的方式来展现这些数据点在时间轴上的关联性。

这样说可能比较抽象,举个荔枝,你在 Elasticsearch 里面存的是服务器日志信息,然后有一天,老板说网站很慢,帮忙重启一下,(老板听说重启可以解决问题,反正他说他的笔记本重启之后就老快了),这个是一个已知的维护动作,所以你默默的在后台记录了重启的时间和是谁叫你重启的(这里是老板),到了月底的时候,老板让你把这个月的服务器运行数据给他看,然后问你为什么某一个时间服务器请求都为0,你打开 Kibana,指着其中一个时间点说,诺,这里,你让我重启了服务器。

是的,你可以对数据进行注解,用来解释数据和异常,这个是一个很好的场景,另外,还可以关联持续集成工具,每次谁代码提交了,你把这个作为一个事件,存到 es 里面,然后用里程碑可视化显示,那么这个提交造成的服务运行指标的变化,比如性能提升和下降,就会非常直观的关联到这次代码提交,同理,软件版本的发布也是一个里程碑事件,也可以展示并关联起来。然后,在使用的时候,还可以根据时间定位到感兴趣的地方,查看该段时间都发生了哪些自定义的事件和日志,方便分析。做安全方面的分析也可以用来跟踪和做入侵事后复盘的注解。

是不是,很多地方都能使用这个插件呢。

插件地址:https://github.com/walterra/kibana-milestones-vis/

演示截图:

kibana-milestones-vis.png

关于如何使用,其实在该项目的 README 里面已经比较详细了。

1.首先找到对应的 Kibana 插件的版本,如果没有可能需要手动编译插件,有的话,直接找到下载地址。 https://github.com/walterra/kibana-milestones-vis/releases

2.使用 Kibana 的插件安装命令下载安装

➜  kibana-6.2.4-darwin-x86_64 bin/kibana-plugin install https://github.com/walterra/kibana-milestones-vis/releases/download/v6.2.4/kibana-milestones-vis-6.2.4.zip
Found previous install attempt. Deleting...
Attempting to transfer from https://github.com/walterra/kibana-milestones-vis/releases/download/v6.2.4/kibana-milestones-vis-6.2.4.zip
Transferring 1353656 bytes....................
Transfer complete
Retrieving metadata from plugin archive
Extracting plugin archive
Extraction complete
Optimizing and caching browser bundles...

3.启动 Kibana,然后进入 Visualize 面板,应该就能找到这个新的 Milestone 类型的可视化组件了。

Snip20180512_1.png

Snip20180512_2.png

加两个维护日志

Snip20180512_3.png

Snip20180512_4.png

Snip20180512_5.png

和日志关联分析

Snip20180512_6.png

4.还有一个隐藏的秘籍,就是可以支持图片作为标注

Snip20180512_8.png

Snip20180512_10.png

用图片代替文字,是不是更直观,如果你的数据是电影相关的,你可以放一个电影海报替代,如果你的是历史人物相关的,比如,可以换成人物头像,地点等等。

好了,是不是很炫,快去自己试试吧。

收起阅读 »

kibana如何添加添加server.xsrf.disableProtection节点

这是链接文章,其中文中提到的添加节点,具体如何操作?http://blog.csdn.net/qq_241296 ... 43845
这是链接文章,其中文中提到的添加节点,具体如何操作?http://blog.csdn.net/qq_241296 ... 43845

推荐indies_view 插件

indies_view

https://github.com/TrumanDu/indices_view

An awesome kibana plugin for view indies! 这个是一个可以查看indices 相关信息的kibana plugin ,欢迎大家使用,或者提出宝贵的经验


Screenshots

indices_view.gif

Reg pattern

1. /[^a-z] $/
2. /[\d]{4}[-|\.|/][\d]{1,2}[-|\.|/][\d]{1,2}/

Development

See the kibana contributing guide for instructions setting up your development environment. Once you have completed that, use the following npm tasks.

  • npm start

Start kibana and have it include this plugin

  • npm start -- --config kibana.yml

You can pass any argument that you would normally send to bin/kibana by putting them after -- when running npm start

  • npm run build

Build a distributable archive

  • npm run test:browser

Run the browser tests in a real web browser

  • npm run test:server

Run the server tests using mocha

For more information about any of these commands run npm run ${task} -- --help.

Deploy

important : edit this plugin version and kibana.version to you kibana version in package.json

  • npm install
  • npm run build

Build a distributable archive

Install

  1. cp to docker container

$ sudo docker cp ****.zip id:/****.zip

  1. install to kibana

$bin/kibana-plugin install file:///****.zip

继续阅读 »

indies_view

https://github.com/TrumanDu/indices_view

An awesome kibana plugin for view indies! 这个是一个可以查看indices 相关信息的kibana plugin ,欢迎大家使用,或者提出宝贵的经验


Screenshots

indices_view.gif

Reg pattern

1. /[^a-z] $/
2. /[\d]{4}[-|\.|/][\d]{1,2}[-|\.|/][\d]{1,2}/

Development

See the kibana contributing guide for instructions setting up your development environment. Once you have completed that, use the following npm tasks.

  • npm start

Start kibana and have it include this plugin

  • npm start -- --config kibana.yml

You can pass any argument that you would normally send to bin/kibana by putting them after -- when running npm start

  • npm run build

Build a distributable archive

  • npm run test:browser

Run the browser tests in a real web browser

  • npm run test:server

Run the server tests using mocha

For more information about any of these commands run npm run ${task} -- --help.

Deploy

important : edit this plugin version and kibana.version to you kibana version in package.json

  • npm install
  • npm run build

Build a distributable archive

Install

  1. cp to docker container

$ sudo docker cp ****.zip id:/****.zip

  1. install to kibana

$bin/kibana-plugin install file:///****.zip

收起阅读 »

kibana使用geoip插件展示地图热力图

geoip1.png

上图是我们最终的地图效果。

总体步骤:

一、使用logstash geoip插件解析IP字段;

二、配置geoip.location字段为geo_point类型。

三、使用kibana的Coordinate map作图。

具体步骤:

一、解析IP字段

使用logstash的geoip插件 logstash-filter-geoip 解析IP字段,需要在logstash的配置文件中配置geoip的解析配置,配置如下:

geoip {
       source => "ip" //需要解析的IP地址
      }

解析出的效果如下:

"geoip": {
      "city_name": "Wuhan",
      "timezone": "Asia/Shanghai",
      "ip": "117.136.52.200",
      "latitude": 30.5801,
      "country_name": "China",
      "country_code2": "CN",
      "continent_code": "AS",
      "country_code3": "CN",
      "region_name": "Hubei",
      "location": {
        "lon": 114.2734,
        "lat": 30.5801
      },
      "region_code": "42",
      "longitude": 114.2734
    }

备注:这个只是geoip的配置,解析日志的时候需要先解析出ip字段

二、配置geoip字段类型

IP经过logstash解析后就可以使用IP的所有解析信息了,但是如果想要在kibana中作图,就必须把geoip里面的相应信息配置成相应的字段类型,才能够被kibana识别,然后经过聚合作图。 需要配置的字段:geoip.location 需要配置的类型:geo_point 在mapping中的配置为:

"geoip" : {
          "properties" : {
            "location" : {
              "type" : "geo_point",
              "ignore_malformed": "true"  
            }
          }
        }

备注1: ignore_malformed 如果true,格式错误的地理位置被忽略。如果false(默认),格式错误的地理位置引发异常并拒绝整个文档。 此字段需要配置成true,以防地理格式错误导致文档被拒绝。 也可以在所以级别进行设置: "settings": { "index.mapping.ignore_malformed": true }

备注2:需要先设置mapping,再导入数据mapping才会生效,如果先导入数据,再设置mapping,则第二天八点后才会生效(北京时间)。

三、kibana作图

1、在kibana中打开visualize->coordinate map

geoip2.png

2、选择相应的索引进行画图

geoip3.png

3、选择geoip.location作为聚合字段,然后设置Options,调整地图效果即可。

geoip4.png

继续阅读 »

geoip1.png

上图是我们最终的地图效果。

总体步骤:

一、使用logstash geoip插件解析IP字段;

二、配置geoip.location字段为geo_point类型。

三、使用kibana的Coordinate map作图。

具体步骤:

一、解析IP字段

使用logstash的geoip插件 logstash-filter-geoip 解析IP字段,需要在logstash的配置文件中配置geoip的解析配置,配置如下:

geoip {
       source => "ip" //需要解析的IP地址
      }

解析出的效果如下:

"geoip": {
      "city_name": "Wuhan",
      "timezone": "Asia/Shanghai",
      "ip": "117.136.52.200",
      "latitude": 30.5801,
      "country_name": "China",
      "country_code2": "CN",
      "continent_code": "AS",
      "country_code3": "CN",
      "region_name": "Hubei",
      "location": {
        "lon": 114.2734,
        "lat": 30.5801
      },
      "region_code": "42",
      "longitude": 114.2734
    }

备注:这个只是geoip的配置,解析日志的时候需要先解析出ip字段

二、配置geoip字段类型

IP经过logstash解析后就可以使用IP的所有解析信息了,但是如果想要在kibana中作图,就必须把geoip里面的相应信息配置成相应的字段类型,才能够被kibana识别,然后经过聚合作图。 需要配置的字段:geoip.location 需要配置的类型:geo_point 在mapping中的配置为:

"geoip" : {
          "properties" : {
            "location" : {
              "type" : "geo_point",
              "ignore_malformed": "true"  
            }
          }
        }

备注1: ignore_malformed 如果true,格式错误的地理位置被忽略。如果false(默认),格式错误的地理位置引发异常并拒绝整个文档。 此字段需要配置成true,以防地理格式错误导致文档被拒绝。 也可以在所以级别进行设置: "settings": { "index.mapping.ignore_malformed": true }

备注2:需要先设置mapping,再导入数据mapping才会生效,如果先导入数据,再设置mapping,则第二天八点后才会生效(北京时间)。

三、kibana作图

1、在kibana中打开visualize->coordinate map

geoip2.png

2、选择相应的索引进行画图

geoip3.png

3、选择geoip.location作为聚合字段,然后设置Options,调整地图效果即可。

geoip4.png

收起阅读 »

]kibana源码修改(一)webpack初始化爬坑

最近想研究kibana源码,看看他的可视化部分的实现,花了两天才把webpack初始化成功,其中的出现的问题就是在平常看来很正常的一步,导致我卡了很久




(一)选择master分支 下载到本地 https://github.com/elastic/kibana.git,不过貌似选不选分支都一样,我选了个5.2版本的下到本地还是最新版的7.0alpha版

(二) 切到kibana目录下 运行npm install.....

在这里我为了图快。。。用了淘宝镜像cnpm install.....然后坑爹的事情发生了~~~~~安装成功运行下一步 npm run elasticsearch的时候开始无尽的报

错。。。。都是依赖找不到。。然后安装对应依赖后又出现其他依赖找不到的情况。。。重复几次还是不行。。后来幸亏钉钉群里的大牛们告诉我要严格按照

CONTRIBUTING.md 这里的步骤来。。然后 我删掉来项目 重新 按照文档步骤来 果然 一步到位~~~~~直接npm install哦




微信图片_20171216221636.png









(三)然后就可以运行  npm run elasticsearch  是的不用去官网再下elasticsearch的可执行文件了,这时会出现以下cluster的下载信息,这个等待时间会很长。。可以先干点别的事情去:) 

微信图片_20171216221355.png


(四)node scripts/makelogs這步没啥好说的。。。。

(五)在config/kibana.yml中加上:optimize.enabled:false..加上这句的原因为了时时看到源码修改后页面的结果

     因为修改之前服务是优先使用bundle.js内容,而不会每次都进到各源码目录执行,这样的话每次该源码是不会看到kibana页面有变化的。。

(六)运行 npm run start 开始改代码吧
继续阅读 »
最近想研究kibana源码,看看他的可视化部分的实现,花了两天才把webpack初始化成功,其中的出现的问题就是在平常看来很正常的一步,导致我卡了很久




(一)选择master分支 下载到本地 https://github.com/elastic/kibana.git,不过貌似选不选分支都一样,我选了个5.2版本的下到本地还是最新版的7.0alpha版

(二) 切到kibana目录下 运行npm install.....

在这里我为了图快。。。用了淘宝镜像cnpm install.....然后坑爹的事情发生了~~~~~安装成功运行下一步 npm run elasticsearch的时候开始无尽的报

错。。。。都是依赖找不到。。然后安装对应依赖后又出现其他依赖找不到的情况。。。重复几次还是不行。。后来幸亏钉钉群里的大牛们告诉我要严格按照

CONTRIBUTING.md 这里的步骤来。。然后 我删掉来项目 重新 按照文档步骤来 果然 一步到位~~~~~直接npm install哦




微信图片_20171216221636.png









(三)然后就可以运行  npm run elasticsearch  是的不用去官网再下elasticsearch的可执行文件了,这时会出现以下cluster的下载信息,这个等待时间会很长。。可以先干点别的事情去:) 

微信图片_20171216221355.png


(四)node scripts/makelogs這步没啥好说的。。。。

(五)在config/kibana.yml中加上:optimize.enabled:false..加上这句的原因为了时时看到源码修改后页面的结果

     因为修改之前服务是优先使用bundle.js内容,而不会每次都进到各源码目录执行,这样的话每次该源码是不会看到kibana页面有变化的。。

(六)运行 npm run start 开始改代码吧 收起阅读 »

介绍一个新的 UI 框架:Elastic UI Framework

链接:https://elastic.github.io/eui/

源码:https://github.com/elastic/eui

NPM:https://www.npmjs.com/package/@elastic/kibana-ui-framework

FAQ:https://github.com/elastic/eui/blob/master/FAQ.md

Snip20171206_1.png

Elastic UI Framework 来自大家熟悉的开源前端可视化产品 Kibana,Kibana 使用这个 UI Framework 来构建所有的用户界面,Elastic UI Framework 的诞生基于以下几个目的:

EUI 高度可访问性

使用高对比度,视障友好的调色风格Use以及增加适当的 ARIA 标签。

EUI 可主题定制性

简短几行代码即可调整主题风格。

EUI 更好的响应式支持

目前我们的目标是移动设备、笔记本电脑、台式机和桌面端。

EUI 更具可玩性

持续使用动画可以给我们的设计带来生命。

EUI 文档完整和测试

确保代码对新手和专家都是友好的。

如果你正打算基于 Kibana 开发一些有趣的插件,借助 Elastic UI Framework 将变得更加轻松。

关于 Kibana 插件开发可以访问:

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

如果你开发了有趣的插件,记得要来社区分享哦~

继续阅读 »

链接:https://elastic.github.io/eui/

源码:https://github.com/elastic/eui

NPM:https://www.npmjs.com/package/@elastic/kibana-ui-framework

FAQ:https://github.com/elastic/eui/blob/master/FAQ.md

Snip20171206_1.png

Elastic UI Framework 来自大家熟悉的开源前端可视化产品 Kibana,Kibana 使用这个 UI Framework 来构建所有的用户界面,Elastic UI Framework 的诞生基于以下几个目的:

EUI 高度可访问性

使用高对比度,视障友好的调色风格Use以及增加适当的 ARIA 标签。

EUI 可主题定制性

简短几行代码即可调整主题风格。

EUI 更好的响应式支持

目前我们的目标是移动设备、笔记本电脑、台式机和桌面端。

EUI 更具可玩性

持续使用动画可以给我们的设计带来生命。

EUI 文档完整和测试

确保代码对新手和专家都是友好的。

如果你正打算基于 Kibana 开发一些有趣的插件,借助 Elastic UI Framework 将变得更加轻松。

关于 Kibana 插件开发可以访问:

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

如果你开发了有趣的插件,记得要来社区分享哦~

收起阅读 »

Kibana 插件开发教程

最近公司有开发kibana plugin 需求,正好有时间研究这块。现将自己学习过程及官方资源写成一个浅显易懂的kibana plugin 开发教程书籍
 
 
在线阅读地址
 
 
内容还在持续增加,欢迎有这方面经验的人加入我们。
 
 
 
案例一下 博客,欢迎follower,欢迎交流!
 
 
继续阅读 »
最近公司有开发kibana plugin 需求,正好有时间研究这块。现将自己学习过程及官方资源写成一个浅显易懂的kibana plugin 开发教程书籍
 
 
在线阅读地址
 
 
内容还在持续增加,欢迎有这方面经验的人加入我们。
 
 
 
案例一下 博客,欢迎follower,欢迎交流!
 
  收起阅读 »

求一个Kibana5能用的高德URL

kibana到5.0后可以直接在kibana.yml上面使用tilemap.url进行配置,
但是之前使用的url貌似都不行,有伙伴能提供个K5能用的url吗?
kibana到5.0后可以直接在kibana.yml上面使用tilemap.url进行配置,
但是之前使用的url貌似都不行,有伙伴能提供个K5能用的url吗?

kibana使用echarts

最近被催着要在kibana里加入关系图(社交网络类似的),然后百度的echarts支持关系图。之前一直以为修改kibana加入echarts会很难(因为node我不会,angularjs我也不会。。。),直到今天被逼要在几天之内加入关系图,我发现,加入echarts真的不太难!
我的做法是
①cd 进kibana的根目录,然后vim package.json,在dependencies中加入"echarts":"3.2.2"(key value结构,3.2.2是echarts最新版本)
②在kibana根目录使用npm update命令,会自动下载echats.
③npm start 开启debug模式
④在要修改的js 文件中加入let echarts=requrie("echarts");即可调用echarts进行开发了!
 
继续阅读 »
最近被催着要在kibana里加入关系图(社交网络类似的),然后百度的echarts支持关系图。之前一直以为修改kibana加入echarts会很难(因为node我不会,angularjs我也不会。。。),直到今天被逼要在几天之内加入关系图,我发现,加入echarts真的不太难!
我的做法是
①cd 进kibana的根目录,然后vim package.json,在dependencies中加入"echarts":"3.2.2"(key value结构,3.2.2是echarts最新版本)
②在kibana根目录使用npm update命令,会自动下载echats.
③npm start 开启debug模式
④在要修改的js 文件中加入let echarts=requrie("echarts");即可调用echarts进行开发了!
  收起阅读 »