STF 更新到 2.0 版本,支持使用 redis 队列做任务分发,比原先的 Q4M 容易上手多了;新增了 cluster 概念,虽然目前看没什么用,不过估计以后肯定要在这方面做文章的。 继续阅读……
22 Feb 2013 Posted in perl
STF 更新到 2.0 版本,支持使用 redis 队列做任务分发,比原先的 Q4M 容易上手多了;新增了 cluster 概念,虽然目前看没什么用,不过估计以后肯定要在这方面做文章的。 继续阅读……
31 Jan 2013 Posted in devops
Puppet 除了原有 DSL 以外,还提供了不少接口方便大家开发插件来更简单的完成一些高级功能。 继续阅读……
11 Jan 2013 Posted in monitor
google 之前推出了一个 netoops 的 patch,可以让 linux kernel 在崩溃的时候通过 udp 协议把信息发送到远端主机上。我之前在 CentOS6.2 的内核上做过测试,详细做法可以参见淘宝内核组 wiki 的编译使用淘宝内核和 netoops 使用指南。唯一有区别的地方就是淘宝使用的 RedHat6 的内核在 CentOS6 上有签名问题,需要自己从 CentOS 官网 ftp 下载 src.rpm 来用 —— 当然如果要自己搞定编译那步,少不了就要自己修改 config-genaric 和 kernel.spc 文件了。 继续阅读……
10 Jan 2013 Posted in devops
今天把 puppet 从2.7 升级到了 3.0。同时放弃了之前通过 ENC 定义所有 top scope variable 的做法,改成只定义一个 role 变量,然后在各个 module 里根据 $role 加载不同的module::role ,把变量都写在 module::role 里。 继续阅读……
10 Jan 2013 Posted in devops
上文提到 github 给 puppet 开发的几个附件。其中有扩展 rspec 的 rubygems 模块叫做 rspec-puppet。官网见:http://rspec-puppet.com 继续阅读……
06 Jan 2013 Posted in linux
限制带宽简直就是系统管理员的永恒话题之一。当然我这里就不讨论端口限速什么的了,百度一下一大把。但如果要的是限制某个特定进程的带宽,事情就有趣多了。 继续阅读……
30 Dec 2012 Posted in perl
Perl 社区并不是所有的东西都发布在 CPAN 上。甚至专门有一个 Module::ThirdParty
模块记录这些非 CPAN 的 perl 项目列表。其中最有名的应该就属写博客的 Movable Type
和做监控的 SmokePing
了。
继续阅读……
22 Dec 2012 Posted in perl
一年一度的 advent 集合中,除了 perl 的部分,还有 sysadmin 的也很吸引我等运维的眼球。不过 sysadmin 的一直是发表在blogspot 上,光荣的被 GFW 认证了。虽然说翻墙应该是这年头越来越普及的技能,但是能提供免墙的办法,想来那真真是极好的。 继续阅读……
22 Dec 2012 Posted in dancer
Dancer 活跃的社区和强大又方便的插件开发导致出现了太多好玩的插件,有位新同学在刚上手的这两周内就已经往 CPAN 提交了四个插件了。 继续阅读……
22 Dec 2012 Posted in logstash
之前有一篇从 ElasticSearch 官网摘下来的博客《【翻译】用ElasticSearch和Protovis实现数据可视化》。不过一来 Protovis 已经过时,二来 不管是 Protovis 的进化品 D3 还是 Highchart 什么的,我觉得在多图方面都还不如 amcharts 好用。所以在最后依然选择了老牌的 amcharts 完成。 继续阅读……
21 Dec 2012 Posted in dancer
首先介绍一下 Dancer::Plugin::Auth::Extensible
模块。这是一个认证验证的框架,之前 Dancer 里这方面的框架是 RBAC ,不过 RBAC 是实现的 auth 对象,然后提供 ->asa
,->can
,->roles
等方法。在使用的时候,需要自己在每个 route 里写 if 或者 switch 代码,显得比较繁琐。而 Extensible 模块提供了另一个(或者说是两个)思路。同时借此深入了解 Dancer::Plugin
和 Dancer::Hook
的用法,外加熟悉 perl 的一些不常见的对象使用。收获良多,不可不记。
继续阅读……
19 Dec 2012 Posted in dancer
Dancer 框架自带有一个 Simple 模版,不过推荐使用 Template
模块作为替代品。不过从性能上来说,TT2 比之前博客里陆续介绍过的 HTML::Template
和 Text::MicroTemplate
都要差。而这方面最好的,就是 Text::XSlate
模块了。今天尝试将一个 Dancer 应用迁移到 Text::XSlate
上。踩进两个坑,特此记录。
继续阅读……
16 Dec 2012 Posted in perl
之所以写这么个内容,是今天突然发现之前有个脚本的效果完全不对。这个脚本是用 Furl 模块发 HTTP 请求。看 POD 的说明,以为这样写是生效的: 继续阅读……
11 Dec 2012 Posted in logstash
在今天以前,我一直认为perl的ElasticSearch.pm是除了原生java库以外封装最好的。不过今天踩进一个硕大的坑里,多亏 dancer-user 邮件列表里外国友人的帮助,才算爬了出来…… 继续阅读……
01 Dec 2012 Posted in
有些Word文档想搬到博客上来,而博客用的是markdown的格式。最简单的办法是在Word里转成html格式另存为,因为markdown和html是兼容的。不过word直接另存为的html里面带有“海量”的无聊样式,实在不方便之后我们再用vim的工具编辑。所以还是想办法整整。 继续阅读……
22 Nov 2012 Posted in logstash
Tatsumaki是Plack作者的一个小框架,亮点是很好的利用了psgi.streaming的接口可以async的完成响应。不过因为缺少周边支持,所以除了几个webchat的example,似乎没看到什么应用。笔者之前纯为练手,却用tatsumaki写了个sync响应的小demo,算是展示一下用tatsuamki做普通web应用的基础步骤吧: 继续阅读……
22 Nov 2012 Posted in monitor
以前已经提过多次gnuplot的简便快捷了。不过大多是最基本的单图上画条线之类的。这次碰到需求,稍微help了一下在一个图上画多个区域。主要需要注意的就是set size的定位点到底从什么角度算,说实话蛮麻烦的。 继续阅读……
18 Nov 2012 Posted in logstash
搜索引擎最重要的目的,嗯,不出意料就是搜索
。你传给它一个请求,然后它依照相关性返回你一串匹配的结果。我们可以根据自己的内容创造各种请求结构,试验各种不同的分析器,搜索引擎都会努力尝试提供最好的结果。
继续阅读……
09 Nov 2012 Posted in web
学习一下简单的chrome app写法。首先,chrome的ext和web app和packaged app就要分清楚。简单说,ext就是可以出现在地址栏右侧的,app是可以出现在任务栏右侧的。而web app其实就是用json描述了一个url地址,packaged app则是最接近普通桌面程序的,需要完整的带有html/css/js等内容。但同时,因为packaged app可以在关闭chrome浏览器后运行,所以有些浏览器上的API它也用不了。 继续阅读……
30 Oct 2012 Posted in logstash
今天在ES群中和medcl请教了一下index的性能问题。基本上在bulk的基础上,还有几点是可以做的。当然medcl说的是正常的全文索引的场景: 继续阅读……
26 Oct 2012 Posted in linux
在运行一些非root用户进程的时候,我们都习惯要在前面加上一个ulimit -HSn 65535的命令。而且我们还知道关于文件描述符的限制,不止这一个地方,还有limits.conf,sysctl -w fs.file-max等等。但是到底这些是什么个关系呢?而且,如果是一个已经在运行的程序,有没有可能在更改他的文件描述符限制呢? 继续阅读……