简单的力量 Sep01

Tags

Related Posts

简单的力量

简单,顾名思义,是相对于复杂而言的。在全球化和信息化两个强有力引擎推动下,我们的社会,我们自身都不由自主的向前狂奔。快速的变化使人们目迷五色,海量的信息汹涌而来,裹挟着人们向未知的未来前进。

为了应付复杂的环境,人们制造出了复杂的系统,制定了复杂的流程,确保一切可以按照自己的意愿发展。为了维护这样的系统和流程,人们又投入了大量的精力和资源,在这样的情况下,系统复杂性还是时常超出了人们的控制,以意想不到的形式给人们以“惊喜”。

现实使人反思,不少人开始尝试着把事情做得简单。当然这里的简单不是原始意义的重现,是在深刻思考复杂环境基础上的升华,是经过实践考验的经验教训的总结,所谓大音希声,大象无形是也。作为工程师的我们,大部分都喜欢玩游戏,这些年游戏的发展在硬件支持下一日千里,从早期的红白机到目前的大型3D游戏,游戏越做越复杂,对系统和硬件的支持要求越来越高,而带给人感官的愉悦却与十多年前相差无几,套用一个经济学的术语来说,边际效用基本上为0了。09年一个简单的小游戏——愤怒的小鸟,出现在人们的视野之内,没有炫丽的3D界面,没有复杂的剧情和操作,只有简洁的操作和轻松的节奏。这个卡通小游戏旋即在全球刮起一股小鸟旋风,超过50亿次下载量让我们见识到了这只小鸟的能量。

日前在工作中,我也亲自体验了一把“简单的力量”。在一位客户那里进行业务流程监控和业务分析时,需要将业务系统的日志数据进行统一的采集。而业务系统的日志在程序设计的时候是直接输出,以文件形式保存在磁盘上。一开始,我按照常规思维计划使用agent或者共享目录的方式获取数据,但部署下来感觉这样的采集方式配置和日后维护复杂,正在一筹莫展之际,我们的大拿Wizard及时伸出了援手,建议我使用linux基本的系统命令来实现数据的采集。设计的思路是通过命令实时监控文件,将更新的内容读出,写入syslog,syslog再将数据转发至远端的管理服务器。过程貌似有点小复杂,但是仔细想来,可以通过简单的命令组合实现。

具体的命令如上图所示,test.log是一个定期运行的脚本输出结果文件,使用tail –f命令监控该文件,将更新的内容发送至logger,logger将数据内容的日志类型定义为local3.info并发送至syslog。后面只需要在/etc/syslog.conf上配置转发地址即可。

为了测试配置的效果,我在系统上启用tcpdump侦听网卡的活动情况。很顺利,日志已经正常的发送出去啦。

之后只要将命令写入系统启动脚本既可以实现日志全天候的实时监控了。简单的命令,实现了不简单的效果,过程无需安装额外的插件,无需安全认证,无需复杂配置。这就是简单的力量。

Gavin