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继续阅读……


用 Mod_Gearman 实现 Nagios 分布式

27 Mar 2013 Posted in  monitor

在 2011 年年底,我曾经连续写过四篇介绍 OMD 的文章。 继续阅读……


logrotate 配置文件强制为 0644 属性

18 Mar 2013 Posted in  linux

在一次包更新后,发现 Nginx 服务器的每晚日志切割不再进行了。找遍了各种地方,最后在一次偶然的ls -l中发现: 继续阅读……


Puppet 自定义 Provider

15 Mar 2013 Posted in  devops

Puppet 默认提供了相当多的资源类型,不过我们还可以更进一步的扩展这个庞大的阵营。比如在 package 类型的资源里,我们看到 puppet 除了系统级别的yum,apt之类意外,还提供了 gem,pip 来管理 ruby 和 python 的 package。那么很自然的,我们就可以进一步扩充 package 来管理 perl 的 package 。只需要新加一个 provider 就可以了。 继续阅读……


极光推送demo

14 Mar 2013 Posted in  monitor

之前已经陆续写过很多种告警的方式。今天再稍微试验一种更新潮一些的 —— 手机推送通知。原先我的想法是移植 HTML5 的 websocket + notification 页面到手机上。但是发现手机上的浏览器都还没有 notification 功能。即便是用 PhoneGap 包装 HTML5 应用,PhoneGap 的 notification API 也不是我想象中的状态栏通知,而是类似 js 的 alert 对话框。 继续阅读……



STF 2.0 安装测试

22 Feb 2013 Posted in  perl

STF 更新到 2.0 版本,支持使用 redis 队列做任务分发,比原先的 Q4M 容易上手多了;新增了 cluster 概念,虽然目前看没什么用,不过估计以后肯定要在这方面做文章的。 继续阅读……


Puppet 自定义 type 和 function

31 Jan 2013 Posted in  devops

Puppet 除了原有 DSL 以外,还提供了不少接口方便大家开发插件来更简单的完成一些高级功能。 继续阅读……


用 systemtap 调试 kmsg dump

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 文件了。 继续阅读……


升级 Puppet 到 3.0 及其他附件简介

10 Jan 2013 Posted in  devops

今天把 puppet 从2.7 升级到了 3.0。同时放弃了之前通过 ENC 定义所有 top scope variable 的做法,改成只定义一个 role 变量,然后在各个 module 里根据 $role 加载不同的module::role ,把变量都写在 module::role 里。 继续阅读……


给 puppet 写 Rspec 测试用例

10 Jan 2013 Posted in  devops

上文提到 github 给 puppet 开发的几个附件。其中有扩展 rspec 的 rubygems 模块叫做 rspec-puppet。官网见:http://rspec-puppet.com 继续阅读……


限制单个进程的带宽

06 Jan 2013 Posted in  linux

限制带宽简直就是系统管理员的永恒话题之一。当然我这里就不讨论端口限速什么的了,百度一下一大把。但如果要的是限制某个特定进程的带宽,事情就有趣多了。 继续阅读……


2012 年个人总结

30 Dec 2012 Posted in 

2012 年还剩下最后 30 个小时。总结一下这一年。 继续阅读……


perl 模块打包加入外部依赖程序

30 Dec 2012 Posted in  perl

Perl 社区并不是所有的东西都发布在 CPAN 上。甚至专门有一个 Module::ThirdParty 模块记录这些非 CPAN 的 perl 项目列表。其中最有名的应该就属写博客的 Movable Type 和做监控的 SmokePing 了。 继续阅读……


给 Sysadmin Advent 快速搭建本地浏览网站

22 Dec 2012 Posted in  perl

一年一度的 advent 集合中,除了 perl 的部分,还有 sysadmin 的也很吸引我等运维的眼球。不过 sysadmin 的一直是发表在blogspot 上,光荣的被 GFW 认证了。虽然说翻墙应该是这年头越来越普及的技能,但是能提供免墙的办法,想来那真真是极好的。 继续阅读……


Dancer::Plugin::Adapter 模块介绍

22 Dec 2012 Posted in  dancer

Dancer 活跃的社区和强大又方便的插件开发导致出现了太多好玩的插件,有位新同学在刚上手的这两周内就已经往 CPAN 提交了四个插件了。 继续阅读……


用 Amcharts 和 ElasticSearch 做日志分析

22 Dec 2012 Posted in  logstash

之前有一篇从 ElasticSearch 官网摘下来的博客《【翻译】用ElasticSearch和Protovis实现数据可视化》。不过一来 Protovis 已经过时,二来 不管是 Protovis 的进化品 D3 还是 Highchart 什么的,我觉得在多图方面都还不如 amcharts 好用。所以在最后依然选择了老牌的 amcharts 完成。 继续阅读……