昔我往矣

无比强大的shell之json解析工具jq

2016年01月27日

写脚本还是以shell为主,但是在调用api或者访问服务的时候,经常用到json,这时候会用python来解析json数据,所以是否需要解析json一直是我决定用python还是shell编写脚本的参考依据。某天遇到一个大神,他说你知道jq嘛,回去搜一搜,简直了。废话少说,上代码说话。

json工具

继续阅读全文

keepalived的简单配置

2015年12月22日

Keepalived是一款流行的高可用软件,通过为keepalived集群设置虚IP和健康检测脚本,当检查失败的时候,根据keepalived的策略使虚IP在服务器之间漂移。由于虚IP漂移过程中可能有交换机arp缓存导致请求失效,所以在切换到master之后,应立刻自动执行脚本刷新交换机的缓存。

继续阅读全文

乙未年广福禅寺小住记

2015年12月6日

禅寺全景照

临行前,我对朋友说,我已经做好剃发的准备了。然后头也不回一个向东,一个向西。假装洒脱,实则心中充满不安!

接下来一切都是未知的,29号下班了特意把朋友叫到家里来聊聊天,收拾好行李,我说我心中有太多的疑惑,需要安静思考,希望一段时间的打坐参禅能给我解答,对我来说,毕竟也是一种新的人生体验。如果顿悟,或许就待在山上不回来了!

继续阅读全文

Nginx记录用户请求Header到access log

2015年12月1日

为了统计和其它用途,经常有人需要自定义Nginx日志,把http请求中的某个字段记录到日志中,刚好在看lua+nginx的文章,第一想到的是用lua赋值来做,但是想想有点小恶心,于是Google了一番,发现Nginx自己就能够记录收到的HTTP请求的头部数据,测试如下方法可用。

继续阅读全文

利用strace做PHP故障排查

2015年11月24日

tools.jpg
收到报警线上运行PHP程序的8核服务器load average达到200多,这个太吓人了。赶紧登录系统运行top,看到好几个php-fpm进程CPU利用率达到100%,看到大多数CPU都消耗在内核态,即sys模式,运行状态良好的程序大多时候应该运行在用户态才对呀。

用strace看看进程内部的系统调用,为了方便重复查看,把输出重定向到临时文件/tmp/php.debug中:

# strace -p <PID> 2> /tmp/php.debug

继续阅读全文