跟很多朋友在聊 elk stack 的时候,都会不知不觉的开始跟 Splunk 做对比。最常见的两个抱怨就是:Splunk 的搜索构建语法 比 Kibana 方便,以及 Splunk 搜索出来的消息可以通过点击 Source
按钮查看其原始日志中的前后几条日志。
继续阅读……
29 Aug 2014 Posted in logstash
跟很多朋友在聊 elk stack 的时候,都会不知不觉的开始跟 Splunk 做对比。最常见的两个抱怨就是:Splunk 的搜索构建语法 比 Kibana 方便,以及 Splunk 搜索出来的消息可以通过点击 Source
按钮查看其原始日志中的前后几条日志。
继续阅读……
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。
继续阅读……
28 Jul 2014 Posted in logstash
半年前,Kibana3.4 版刚出来的时候,曾经在官方博客上描述了一个新功能,当时我的翻译见:【翻译】Kibana3 里程碑 4。 继续阅读……
27 Jul 2014 Posted in perl
之前在 Linux 服务器上使用 PDL,主要是一些矩阵函数,这次准备在个人电脑上使用 PDL,尤其是本身的绘图功能,其一目的就是导出 zabbix 中存储的监控数据,通过 PDL 绘图观察其季节性分布情况。 继续阅读……
08 Jul 2014 Posted in perl
上篇说了 serverspec 工具,我一直对 Rspec 的语法蛮有好感的,于是昨晚花了点时间模仿这个给 Rex 写了个类似的工具,叫 Rex::Test::Spec,源代码地址见:https://github.com/chenryn/Rex--Test--Spec。 继续阅读……
13 Jun 2014 Posted in devops
去年曾经写过一篇文章里提到做 puppet 的测试,用的是 rspec-puppet 工具。不过这个工具的作用只是能确保在 Puppet Master 上你撰写的 .pp 文件可以按照你的预期正常编译完毕,并不代表真实的节点就是按照这个状态维护的。所以今天介绍另一个工具,Serverspec,它拥有和 rspec-puppet 类似的语法(都是 Rspec 衍生品),同时又是真的 SSH 到远程主机上去做测试!官网见:http://serverspec.org。 继续阅读……
13 Jun 2014 Posted in perl
一年前搞的一套小脚本,今天翻博客发现没发过,现在发上来好了。主要背景是这样:考虑到有 DNS 和 HTTP 劫持需要监控,但是很多 DNS 服务器对非本区域本运营商的来源请求是拒绝做出响应的,所以得把监控点分散到各地去。其实做这个事情用 nagios 的分布式就足够了,不过如果想做即时触发的紧急任务,就算在 nagios 页面上点击立刻执行,到返回全部结果也得有一阵子。所以选择了自己写一套分布式的异步系统。 继续阅读……
12 Jun 2014 Posted in devops
Rex 是 Perl 编写的基于 SSH 链接的集群配置管理系统,语法上类似 Puppet DSL。官网中文版见 http://rex.perl-china.com 。本文仅为本人在部门 Wiki 上编写的简介性文档。 继续阅读……
12 Jun 2014 Posted in perl
Dancer 是 Perl 的 web 开发框架,在 metacpan 上有 100 多个 like。其语法结构都起源自 Ruby 的 sinatra 框架,sinatra 曾经在自己官网上悬挂“perldancer is good”标语以示对 perldancer 的支持。Dancer 官网见: http://perldancer.org/ 本文系本人在部门 Wiki 上稍微写的几行介绍性质的笔记。 继续阅读……
12 Jun 2014 Posted in perl
Perl 代码规范可以参考著名的《Perl 最佳实践》一书。当然,PBP 上的规定比较严格,实际生活中绝对多数 Perl 程序都无法通过以 PBP 规范编写的 Perl::Critic 模块的校验。本文仅为本人在部门 Wiki 上以部分常见用法作为示例的介绍性文档。 继续阅读……
11 Jun 2014 Posted in logstash
Tengine 支持通过 syslog 方式发送日志(现在 Nginx 官方也支持了),所以可以通过 syslog 发送访问日志到 logstash 平台上,这种做法相对来说对线上服务器影响最小。最近折腾这件事情,一路碰到几个难点,把解决和优化思路记录一下。 继续阅读……
08 Jun 2014 Posted in perl
前两天博客里介绍了 avbot,其中提到 avbot 提供了 HTTP 接口可以收发信息。那么,我们就可以自己写脚本来实现比原先的 .qqbot help
更详细的自动应答啦。今晚有空就写了几行 Perl ,实现了一个简单的扩展:
继续阅读……
04 Jun 2014 Posted in monitor
一直以来都知道 Perl5 里也有类似 numpy 的库叫 PDL,但是因为上手资料比较少,官网文档比较烂,就没认真看过。这次因为要了解 skyline 里用到的 9 种异常检测算法的具体原理,正好一一对照重写一下,当做是学习 PDL 了。 继续阅读……
04 Jun 2014 Posted in devops
04 Jun 2014 Posted in monitor
这几天搭建 elasticsearch 集群做日志分析,终于有机会可以实际跑一下 skyline 的效果。不过比较麻烦的事情是,skyline 是一个比较完备的系统而不是插件,要求我们把数据通过 msgpack 发过去存到 redis 里。这是个很没有道理的做法,早在去年刚看到这个项目的时候我就在博客里写下了愿景是应该用 elasticsearch 替换掉 redis。等了这么久没等到,干脆就自己动手实现。修改后,skyline 其余的程序完全可以直接扔掉,只留下这一个脚本定时运行就够了: 继续阅读……
28 May 2014 Posted in devops
这几天上线机器给 Elasticsearch 集群扩容,开始撰写 Puppet 的 elasticsearch 类来规范化管理。这里碰到一个小问题,相信在很多大容量集群的机器上都会有。那就是每台机器上都挂载有十几二十块磁盘,怎么用 Puppet 给快速方便的创建各磁盘上的工作目录呢? 继续阅读……
17 May 2014 Posted in logstash
kibana 图表类型中有个 stats 类型,返回对应请求的某指定数值字段的数学统计值,包括最大值、最小值、平均值、方差和标准差(当前通过 logstash-1.4.1 分发的 kibana 版本还只支持单列显示,前天,即 5 月 15 日刚更新了 Kibana 3.1 版,支持多列同时显示)。这个 stats 图表是利用 Elasticsearch 的 facets 功能来实现的。而在 Elasticsearch 1.0 版本以后,新出现了一个更细致的功能叫 aggregation,按照官方文档所说,会慢慢的彻底替代掉 facets。具体到 1.1 版本的时候, aggregation 里多了一项 percentile,可以具体返回某指定数值字段的区间分布情况。这对日志分析可是大有帮助。对这项功能,Elasticsearch 官方也很得意的专门在博客上写了一篇报道:Averages can be misleading: try a percentile。 继续阅读……
10 May 2014 Posted in monitor
我们都知道 nagios 上可以用 pnp4nagios 来转换 perfdata 成 rrd 图。不过 graphite 以其扩展性及更好的 HTTP 接口目前越来越受欢迎,加上最近刚出来的 grafana 项目(从 LEK 的 Kibana 转化来的),更是让 graphite 的可视化效果也上了一个台阶。 继续阅读……
04 May 2014 Posted in perl
前几天翻 Perl6 模块清单,发现没有用作 SSH 的。虽说 Perl6 里可以很方便的用 NativeCall 包装 C/C++ 库,但是 libssh2 本身就不支持我的 kerberos5 认证环境,所以还是只能通过调用系统命令的方式来完成。 继续阅读……
24 Apr 2014 Posted in perl
07 Apr 2014 Posted in perl
见到教主真身真的很让人兴奋。在 OSTC 会场外的茶座抓住机会完成了签名跟合影。 继续阅读……
30 Mar 2014 Posted in cloud
昨天去车库咖啡听了 InfoQ 办的腾讯云图技术沙龙,今天又听了 CSDN 办的开源技术大会上腾讯云的宣讲(没错,就是那个发明了”内部开源”概念的意思),总的来说,幸亏去了昨天的! 继续阅读……