利用脚本灵活定制 Elasticsearch 中的聚合效果

27 Nov 2014 Posted in  logstash

这几天阅读 Splunk 书,发现 Splunk 作为一个不需要提前结构化数据的处理工具,在自动发现的 “interesting fields” 以外,也提供了在页面通过正则临时产生新字段的能力。类似下面这样: 继续阅读……


利用动态仪表板实现kibana单图表导出功能

23 Nov 2014 Posted in  logstash

昨天和朋友聊天,说监控报表的话题,他们认为 kibana 的仪表板形式,还是偏重技术人员做监控的 screen 思路,对 erp 之类的报表不是很友好。要想跟其他系统结合,或者说嵌入到其他系统中,就必须得有单个图表的导出,或者 URL 引用方式。当时我直觉上的反应,就是这个没问题,可以通过 javascript 动态仪表板这个高级功能完成。回来试了一下,比我想的稍微复杂一点点,还是可以很轻松完成的。 继续阅读……


用 phantomjs 截图

20 Nov 2014 Posted in 

昨儿给 kibana 加上了 table 面板数据导出成 CSV 的功能。朋友们就问了,那其他面板的图表怎么导出保存呢?其实直接截图就好了嘛…… 继续阅读……


在 kibana 里实现去重计数

19 Nov 2014 Posted in  logstash

如何在 elk 里统计或者展示去重计数,是一个持续很久的需求了。几乎每个月都会有新手提问题说:“我怎么在 kibana 里统计网站 UV 啊?”可惜这个问题的回答总是:做不到…… 继续阅读……



用 perl6-bench 做 perl6 性能对比

28 Oct 2014 Posted in  perl

Perl6 成员上周在奥地利大会上做了一次大聚集,写了不少博客讲过去几个月的优化以及未来几个月的优化。但是我发现似乎从8月以来就一直没有正式的 perl6-bench 的图表报告了。于是想:干脆自己跑一把吧。 继续阅读……


ESCC 参会笔记

27 Oct 2014 Posted in  elasticsearch

10 月 25 号举办了 ESCC(ElasticSearch China Conference)。作为个人习惯,稍作记录。 继续阅读……


在终端命令行上调试 grok 表达式

18 Oct 2014 Posted in  logstash

用 logstash 的人都知道在 http://grokdebug.herokuapp.com 上面调试 grok 正则表达式。现在问题来了:翻墙技术哪家强? 页面中用到了来自 google 域名的 js 文件,所以访问经常性失败。所以,在终端上通过命令行方式快速调试成了必需品。 继续阅读……


Rsyslog 性能数据 impstats 直接写入 Elasticsearch

18 Oct 2014 Posted in  logstash

Rsyslog 的性能数据,可以通过自带的 impstats 插件输出。但是在用的比较复杂的场景下,每次输出都会有好几十个 action 的各种状态,肉眼观察变得比较困难,这时候,我们可以直接输出给 Elasticsearch ,然后利用 Kibana 做快速搜索和分析。 继续阅读……


LogStash::Inputs::Syslog 性能测试与优化

18 Oct 2014 Posted in  logstash

最近因为项目需要,必须想办法提高 logstash indexer 接收 rsyslog 转发数据的性能。首先,就是要了解 logstash 到底能收多快? 继续阅读……


在 JRuby 上用 netty 模拟 eventmachine

17 Oct 2014 Posted in  ruby

上一篇说到在 JRuby 上利用 netty 库实现事件驱动。事实上,为了让 Ruby 程序员更习惯,foxbat 模块是把 netty 库封装成 eventmachine 的接口来提供给用户使用的。所以,我们可以把程序写得更通用一些: 继续阅读……


PerlAPI 里的 Magic 简介

11 Oct 2014 Posted in  perl

前几天看到 cindylinz 发了一个新 CPAN 模块叫 Scalar::Watcher,有朋友问我这个是怎么实现的,在无限循环啊,多线程啊,IO 阻塞啊等情况下,还能被触发么? 继续阅读……


从源代码运行 Kibana 4

10 Oct 2014 Posted in  logstash

Kibana 4 发布了,出人意料的是提供的居然是一个 jar 包的运行方式。好在有源码可看,根据源码可以分析得知,v4 版其实是一个 angularjs 写的 kibana 配上一个 sinatra 写的 proxyserver。这么一来,我们也就知道怎么来从源代码运行 Kibana 4,而不是用 Java 启动了。 继续阅读……





Mojolicious 应用的自定义子命令

01 Oct 2014 Posted in  perl

Mojolicious 框架开发应用的时候,可以跟 RoR 一样通过一系列子命令简化很多复杂操作。最简单的来说,就是快速生成整个 web 项目目录:mojo generate youapp。更多子命令见:http://cpan.php-oa.com/perldoc/Mojolicious/Commands 继续阅读……


在 logstash 里使用其他 RubyGems 模块

24 Sep 2014 Posted in  logstash

在开发和使用一些 logstash 自定义插件的时候,几乎不可避免会导入其他 RubyGems 模块 —— 因为都用不上模块的小型处理,直接写在 filters/ruby 插件配置里就够了 —— 这时候,运行 logstash 命令可能会发现一个问题:这个 gem 模块一直是 “no found” 状态。 继续阅读……


Kibana 认证鉴权方案

23 Sep 2014 Posted in  logstash

Kibana 作为一个纯 JS 项目,一直都没有提供完整的权限控制方面的功能。只是附带了一个 nginx.conf 做基本的 Basic Auth。社区另外有在 nodejs 上实现的方案,则使用了 CAS 方式做认证。 继续阅读……


用 Spark 处理数据导入 Elasticsearch

04 Sep 2014 Posted in  logstash

Logstash 说了这么多。其实运用 Kibana 和 Elasticsearch 不一定需要 logstash,其他各种工具导入的数据都可以。今天就演示一个特别的~用 Spark 来处理导入数据。 继续阅读……


山寨一个 Splunk 的 source 上下文查看功能

29 Aug 2014 Posted in  logstash

跟很多朋友在聊 elk stack 的时候,都会不知不觉的开始跟 Splunk 做对比。最常见的两个抱怨就是:Splunk 的搜索构建语法 比 Kibana 方便,以及 Splunk 搜索出来的消息可以通过点击 Source 按钮查看其原始日志中的前后几条日志。 继续阅读……


用 ES 的 RangeFacets 接口实现一个查看区间占比的 Kibana 面板

18 Aug 2014 Posted in  logstash

公司用 kibana 的同事提出一个需求,希望查看响应时间在不同区间内占比的饼图。第一想法是用 1.3.0 新加的 percentile rank aggregation 接口。不过仔细想想,其实并不合适 —— 这个接口目的是计算固定的 [0 TO $value] 的比例。不同的区间反而还得自己做减法来计算。稍微查了一下,更适合的做法是专门的 range aggregation。考虑到 kibana 内大多数还是用 facet 接口,这里也沿用:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-facets-range-facet.html继续阅读……


Kibana 动态仪表板的使用

28 Jul 2014 Posted in  logstash

半年前,Kibana3.4 版刚出来的时候,曾经在官方博客上描述了一个新功能,当时我的翻译见:【翻译】Kibana3 里程碑 4继续阅读……


在 MacBook 上使用 PDL 绘图

27 Jul 2014 Posted in  perl

之前在 Linux 服务器上使用 PDL,主要是一些矩阵函数,这次准备在个人电脑上使用 PDL,尤其是本身的绘图功能,其一目的就是导出 zabbix 中存储的监控数据,通过 PDL 绘图观察其季节性分布情况。 继续阅读……


Rex::Test::Spec 模块

08 Jul 2014 Posted in  perl

上篇说了 serverspec 工具,我一直对 Rspec 的语法蛮有好感的,于是昨晚花了点时间模仿这个给 Rex 写了个类似的工具,叫 Rex::Test::Spec,源代码地址见:https://github.com/chenryn/Rex--Test--Spec继续阅读……