gitolite 是一个很常用的 git 仓库管理软件,可以通过命令行方式便捷操作自己拥有权限的项目仓库。不过不是所有的操作都可以通过命令完成,很多还是需要通知 gitolite 管理员来统一修改配置然后生效。比如通过 hook 发邮件这件事情。邮件收件人地址肯定每个项目就不一样,这个还要让管理员逐一来改,就不太好。所以这里实现了一个 mailinglist 的命令行操作子命令。 继续阅读……
09 Dec 2013 Posted in perl
gitolite 是一个很常用的 git 仓库管理软件,可以通过命令行方式便捷操作自己拥有权限的项目仓库。不过不是所有的操作都可以通过命令完成,很多还是需要通知 gitolite 管理员来统一修改配置然后生效。比如通过 hook 发邮件这件事情。邮件收件人地址肯定每个项目就不一样,这个还要让管理员逐一来改,就不太好。所以这里实现了一个 mailinglist 的命令行操作子命令。 继续阅读……
04 Nov 2013 Posted in puppet
之前使用 ENC 管理 puppet,尽量保持了输出 yaml 内容的简单,只提供了一个统一的全局参数定义 node 的 role。(题外话,puppetlabs 推荐了另一个通过继承关系实现 role 的示例,见:Designing Puppet - Roles and Profiles。) 继续阅读……
04 Nov 2013 Posted in perl
之前看 skyline 的报警机制的时候,为了寻找测试数据,曾经想到是不是可以用股价走势。其实股价走势分析也是一个很深的编程领域,有些选股软件一份就好几千的卖。当然我这里没兴趣和时间搞那么复杂了。简单的说一下如何从通达信的存档里读取日线数据,说到底还是 pack/unpack
的运用:
继续阅读……
26 Oct 2013 Posted in linux
SELinux 在国内是一个很少有人用的东西,一般来说,服务器上手第一件事情就是把 SELinux 关掉,以至于有问题的时候排查思路里都压根没检查 SELinux 这步。 继续阅读……
25 Oct 2013 Posted in perl
我们都知道有 virtualenv 啊,rvm 啊之类的工具来管理 python,ruby的多版本问题,后来台湾的朋友也引入到了 Perl 世界,这就是 perlbrew。 继续阅读……
09 Oct 2013 Posted in logstash
14 Sep 2013 Posted in
10 Sep 2013 Posted in perl
MooseFS 是运用很广泛的一个分布式文件系统,其自带有一个 python 写的 CGI 页面,可以查看集群状态。不过对于运维来说,这就不太方便纳入 nagios 等其他现有的监控体系中。好在既然它的 CGI 是 python 写的,那么自己照样临摹出一个监控脚本也不是太复杂。 继续阅读……
27 Aug 2013 Posted in cloud
26 Aug 2013 Posted in cloud
搭建好了 docker 环境后,就可以来试试用 docker 跑一个应用实例来看看了。和 Vagrant 比较类似,docker 也是用一个配置文件来规划其基础镜像内的部署,不过值得注意的是,在 Dockerfile
里的每一个指令成功执行后,docker 默认都会 commit 一次,这样就节省了一些空间和时间。
继续阅读……
24 Aug 2013 Posted in cloud
docker 是由著名 PAAS 公司 dotcloud 开源的 linux 容器项目,在此之前,只有 cloudfoundry 下属的 warden 半死不活的慢慢前进着。 继续阅读……
14 Aug 2013 Posted in perl
上周六在万通会议中心参加了 BeiJing Perl Workshop 2013 ,并做了 40 分钟长的关于 ElasticSearch 的演讲。上届 2011 作为一个看客,两年后作为一个积极参与和演讲者,真的有必要记录一下。 继续阅读……
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。 继续阅读……
11 Jul 2013 Posted in logstash
之前已经用很多博文说过了 logstash 如何配合 elasticsearch 以及 kibana 来做日子分析和实时搜索。其实 logstash 上百个插件还有很多其他的玩法,绝不是局限在日志搜索统计方面的。今天就展示另一个做法。根据日志中的异常值出现频率报警。 继续阅读……
28 Jun 2013 Posted in perl
在运维工作中我们经常需要检测用户访问是否正常,一般来说,直接通过 DNS 客户端获取 A 记录就可以满足需要。不过如果我们可以获得具体连接的 IP 地址,那么就可以缩小问题的判断范围,因为 DNS 的 A 记录通常是有多个的。 继续阅读……
21 Jun 2013 Posted in linux
同事在用简单的 SPEC 配置打包 nagios 套件的时候,发现最后生成的 RPM 包附加了很多依赖关系。其中 perl-Net-SNMP
这个包,是服务器默认安装中没有的。这也不是什么大问题。不过这个出现还是蛮奇怪的。值得研究一下。
继续阅读……
20 Jun 2013 Posted in devops
Rex 默认的服务器组定义方式有三种,直接写在 Rexfile
文件中;每行一个写成 IP 列表保存成文件,然后通过 lookup_file
读取;把组名和 IP 写成 .ini
格式文件,通过 groups_file "$name.ini"
一次性获取。
继续阅读……
19 Jun 2013 Posted in monitor
监控大户 Etsy 最近有公布了一个全新的监控分析系统,叫 Kale,博客地址:http://codeascraft.com/2013/06/11/introducing-kale/。 继续阅读……
18 Jun 2013 Posted in monitor
监控大户 Etsy 最近有公布了一个全新的监控分析系统,叫 Kale,博客地址:http://codeascraft.com/2013/06/11/introducing-kale/。 继续阅读……
12 Jun 2013 Posted in
2007 年,时任虚拟世界游戏公司 Vivaty 运维副总裁的 Jon Prall 在他的个人博客上发表过一篇《运维的85条规则》。2010 年他跳槽到视频电话公司 Tango 之初,做了两处更新,兹翻译如下: 继续阅读……
28 May 2013 Posted in devops
首先要申明,rex 和 puppet 本质上是不同的,puppet 追求的是状态,rex 追求的是操作。puppet 用户经常关心的是 agent 运行了没,而 rex 用户关心的是怎么写 Rexfile 能让中控运行 rex 时的命令参数更简洁漂亮(个人感受==!)。所以哪怕在本文中列举的这些资源写法很类似,也请读者们注意:rex 的资源关键词命名,都是带有动作性的,比如 create
,add
,install
,upload
,download
,sync
等等。甚至精确的说,rex 里这些不是资源(Puppet::Types::***
),他们是 Rex::Commands::***
。
继续阅读……
27 May 2013 Posted in devops
Vagrant 是近来 devops 界内非常流行和火爆的工具,它和 puppet/chef 的结合,成为运维开发和测试,甚至预热部署的重要手段。比如在 cloudfoundry 官方放弃使用 vcap_setup
脚本部署后,社区大多对其 BOSH
不买账,转而研究使用 vagrant 部署了。
继续阅读……
14 May 2013 Posted in perl
现在的网站越来越狡猾,连招聘网站的信息都懂的把公司的联系方式动态图片化了。还好为了观看方便,没加什么干扰。所以写个脚本来识别还是可以的。虽然到目前为止没发现比较好的 OCR 工具——我指的是可以直接apt-get安装的,有朋友知道哪个比较好的话,欢迎告诉我~ 继续阅读……