用 ElasticSearch 支持 Rexify 网站的搜索功能

14 Sep 2013 Posted in 

最近给 Rexify 官网做中文化工作,除了文字翻译之外,还要负责把服务正常跑起来。网站本身就是一个 Mojolicious 写的小东西,用 morbo html/website.pl 命令直接运行就可以监听在 3000 端口,然后通过 nginx 代理发布即可。 继续阅读……


Perl 和 Python 的 pack 函数格式字符的区别

10 Sep 2013 Posted in  perl

MooseFS 是运用很广泛的一个分布式文件系统,其自带有一个 python 写的 CGI 页面,可以查看集群状态。不过对于运维来说,这就不太方便纳入 nagios 等其他现有的监控体系中。好在既然它的 CGI 是 python 写的,那么自己照样临摹出一个监控脚本也不是太复杂。 继续阅读……


编译最新 3.10 内核在 RHEL6 上支持 Docker

27 Aug 2013 Posted in  cloud

之前在 Fedora19 上试图自己通过编译 3.10 内核的方式来完成 aufs 的支持,但是一直有问题,哪怕同样的步骤,github 上其他人都可以,只能怀疑是我个人电脑问题了。不过后来通过 SPEC 方式完成了最终测试,感谢 sciurus 童鞋的项目继续阅读……


在 Docker 上运行 PerlDancer 示例

26 Aug 2013 Posted in  cloud

搭建好了 docker 环境后,就可以来试试用 docker 跑一个应用实例来看看了。和 Vagrant 比较类似,docker 也是用一个配置文件来规划其基础镜像内的部署,不过值得注意的是,在 Dockerfile 里的每一个指令成功执行后,docker 默认都会 commit 一次,这样就节省了一些空间和时间。 继续阅读……


快速在 CentOS6 上运行 docker

24 Aug 2013 Posted in  cloud

docker 是由著名 PAAS 公司 dotcloud 开源的 linux 容器项目,在此之前,只有 cloudfoundry 下属的 warden 半死不活的慢慢前进着。 继续阅读……


BeiJing Perl Workshop 2013 参会总结

14 Aug 2013 Posted in  perl

上周六在万通会议中心参加了 BeiJing Perl Workshop 2013 ,并做了 40 分钟长的关于 ElasticSearch 的演讲。上届 2011 作为一个看客,两年后作为一个积极参与和演讲者,真的有必要记录一下。 继续阅读……


Selenium 测试框架介绍

22 Jul 2013 Posted in  perl monitor

Selenium 是一个自动化网站测试框架,包括 IDE、WebDriver 和 Grid 三个套件。其官网地址见:http://docs.seleniumhq.org/projects/。其中 Grid 用以跨主机的集群测试,今天就不讲了。而 WebDriver 则是用以控制 Selenium Server(Server 上可以接受并启动的浏览器包括Firefox、IE、Chrome、Safari、Android、IPhone、PhantomJS 等等)进行具体测试动作的客户端,其早期版本叫做 Remote Control。 继续阅读……


【Logstash 系列】根据事件统计值报警

11 Jul 2013 Posted in  logstash

之前已经用很多博文说过了 logstash 如何配合 elasticsearch 以及 kibana 来做日子分析和实时搜索。其实 logstash 上百个插件还有很多其他的玩法,绝不是局限在日志搜索统计方面的。今天就展示另一个做法。根据日志中的异常值出现频率报警。 继续阅读……


获取 Perl 程序中 GET 请求发向的具体 IP

28 Jun 2013 Posted in  perl

在运维工作中我们经常需要检测用户访问是否正常,一般来说,直接通过 DNS 客户端获取 A 记录就可以满足需要。不过如果我们可以获得具体连接的 IP 地址,那么就可以缩小问题的判断范围,因为 DNS 的 A 记录通常是有多个的。 继续阅读……


计算两个时间点之间隔了几天

24 Jun 2013 Posted in  perl

两个时间点字符串,像这样:2013-06-21,怎么计算相距多少天呢? 继续阅读……


如何去除 rpmbuild 自动发现的依赖关系

21 Jun 2013 Posted in  linux

同事在用简单的 SPEC 配置打包 nagios 套件的时候,发现最后生成的 RPM 包附加了很多依赖关系。其中 perl-Net-SNMP 这个包,是服务器默认安装中没有的。这也不是什么大问题。不过这个出现还是蛮奇怪的。值得研究一下。 继续阅读……


通过 Rex 命令行参数向动态服务器组发起任务

20 Jun 2013 Posted in  devops

Rex 默认的服务器组定义方式有三种,直接写在 Rexfile 文件中;每行一个写成 IP 列表保存成文件,然后通过 lookup_file 读取;把组名和 IP 写成 .ini 格式文件,通过 groups_file "$name.ini" 一次性获取。 继续阅读……


【Etsy 的 Kale 系统】skyline 的过滤算法

19 Jun 2013 Posted in  monitor

监控大户 Etsy 最近有公布了一个全新的监控分析系统,叫 Kale,博客地址:http://codeascraft.com/2013/06/11/introducing-kale/继续阅读……


【Etsy 的 Kale 系统】简介、部署和应用

18 Jun 2013 Posted in  monitor

监控大户 Etsy 最近有公布了一个全新的监控分析系统,叫 Kale,博客地址:http://codeascraft.com/2013/06/11/introducing-kale/继续阅读……


【翻译】运维的85条规则

12 Jun 2013 Posted in 

2007 年,时任虚拟世界游戏公司 Vivaty 运维副总裁的 Jon Prall 在他的个人博客上发表过一篇《运维的85条规则》。2010 年他跳槽到视频电话公司 Tango 之初,做了两处更新,兹翻译如下: 继续阅读……


puppet和rex的常用资源写法类比

28 May 2013 Posted in  devops

首先要申明,rex 和 puppet 本质上是不同的,puppet 追求的是状态,rex 追求的是操作。puppet 用户经常关心的是 agent 运行了没,而 rex 用户关心的是怎么写 Rexfile 能让中控运行 rex 时的命令参数更简洁漂亮(个人感受==!)。所以哪怕在本文中列举的这些资源写法很类似,也请读者们注意:rex 的资源关键词命名,都是带有动作性的,比如 createaddinstalluploaddownloadsync 等等。甚至精确的说,rex 里这些不是资源(Puppet::Types::***),他们是 Rex::Commands::***继续阅读……


使用 Rex::Box 代替 Vagrant 的工作

27 May 2013 Posted in  devops

Vagrant 是近来 devops 界内非常流行和火爆的工具,它和 puppet/chef 的结合,成为运维开发和测试,甚至预热部署的重要手段。比如在 cloudfoundry 官方放弃使用 vcap_setup 脚本部署后,社区大多对其 BOSH 不买账,转而研究使用 vagrant 部署了。 继续阅读……


用mojo抓取数据并gocr替换图片内容

14 May 2013 Posted in  perl

现在的网站越来越狡猾,连招聘网站的信息都懂的把公司的联系方式动态图片化了。还好为了观看方便,没加什么干扰。所以写个脚本来识别还是可以的。虽然到目前为止没发现比较好的 OCR 工具——我指的是可以直接apt-get安装的,有朋友知道哪个比较好的话,欢迎告诉我~ 继续阅读……


Newbie::Gift 所用知识总结

19 Apr 2013 Posted in  perl

通过 Newbie::Gift 项目的开发过程,学习和深入了解了不少 Perl 知识,虽然这个模块估计短期内不会再继续开发和更新了,不过还是值得记录一下这段过程中的心得。 继续阅读……


使用 Foreman 来监控统计 puppet 的 reports 信息

16 Apr 2013 Posted in  devops

foreman 是社区比较推荐的一款 puppet 辅助工具。可以用来实现 ENC 控制,class 编写,Facts 变量统计和 reports 分析查询等等。 继续阅读……


Graphite 安装

03 Apr 2013 Posted in 

Graphite 是近来比较流行的类 rrd tool 系统。不过官网的安装文档真的很烂,特记录一下自己的步骤。 继续阅读……


用 Perl6 解析 puppet 的配置语法

02 Apr 2013 Posted in  perl

前段时间看到报道说,puppet 的作者本来是用 perl 完成的原型设计,后来改用的 ruby。所以我想,目前这个 puppet 的 DSL 设计,用 perl 来完成的话,应该如何做。 继续阅读……


用 Mojo 命令行抓取数据完成自动更新 rpm 构建

01 Apr 2013 Posted in  perl

我一直很喜欢 Dancer 里的 keyword 方式,所以很少使用 Mojolicious 框架来写网站,不过 Mojo::UserAgentMojo::DOM 在一起作为爬虫工具使用,真是太方便了。这两天需要自己打包 tengine ,考虑自动化因素,需要从 tengine 和 其他第三方模块的 github 托管网页上定期查询其更新,都是一行代码就搞定了。整个 Build.PL 如下: 继续阅读……


Haml 简介

28 Mar 2013 Posted in 

Haml 是 Ruby 社区的一种 HTML 标记语言,它利用强制缩进和类似 jQuery 属性标签的风格,简化书写 HTML 的工作。文档见:http://haml.info/docs.html继续阅读……