Monthly Archives: May 2008

我为什么放弃使用cacti

本来想趁着把cacti从我的生产服务器中移除之前,把我之前的安装配置写成一篇文章,结果发现我已经无法理解cacti是怎么配置的,这也是我放弃使用它的其中一个原因。 在这里,我先说说cacti和mrtg、rrdtool之间的关系,或许还有一些朋友不是很了解。mrtg和rrdtool都是Tobi Oetiker的作品,rrdtool是一个循环式数据库工具,它只负责存储数据,而mrtg是一个采集和画图工具。经常我们能看到cacti和mrtg的对比,那是因为他们两者的功能是一致的,都是采集画图,其实cacti也是是用rrdtool来存储数据,甚至更多其他的网管软件,都是使用rrdtool来存储,我只想说,rrdtool是一个神物。绝大部分人都认为cacti比mrtg好,的确,mrtg比较久远了,功能也比较欠缺,cacti通过php和mysql的辅助提供更多的功能,也提供更直观的界面 但是,cacti太复杂了。需要php(还好),需要mysql(我真的没有的话怎的),还有那个烂鬼snmp协议(当然,mrtg也是通过snmp采集协议的)。我真的不明白,snmp是一个怎样的简单网络管理协议,我觉得一点也不简单,也不直观。或许可能是因为我没有受过正统的网管培训的缘故?说实在话,我真的不知道当初我是怎么把linux下面的snmpd的配置调出来的,基本上完全不明白每一个参数是什么意思,参数又是怎么跟网络流量,硬盘空间挂上关系。当然,如果你的对象是一些cisco设备就不一样,一般情况下他们都是预配置好暴露什么数据。但是如果你的设备是一台linux服务器,那使用snmp协议就变得很麻烦。 我需要一种agent模式的网管软件,而不是一个什么简单通用的网络协议,agent跟它的采集器之间跑什么协议我不关心,当然如果可以简单地做二次开发就更好了。其实,在linux下使用snmp来采集数据,某种程度都可以说是一种agent模式,因为我需要在linux机器上安装snmpd这个agent,只是这个agent很难配置。反正我都要在linux上面安装软件的,何不选择一个很直观的agent模式的软件呢,而且是可以直接调用shell之类的实现监控script的功能,说实在话,怎么通过snmpd然后调用script或许我需要的数据,我真的不知道。 于是,我选择了nagios,很简单明了的使用方法,和plugins编写方法,我甚至还用ruby写了一个script来监视某个进程是否还在运行的plugin。可惜nagios并不支持数据采集,它仅仅是一个监控,监视某些状态值是否正确,而没有把数据值的历史记录下来,nagios并不使用rrdtool。其实,nagios并不是跟cacti/mrtg等同的工具,我还需要一个采集画图的工具。再搜索nagios资料的时候,我发现twitter也是是用nagios的,另外他们还是用了munin。munin正是我也需要的东西,agent模式,不需要mysql,方便的插件编写。我只花了半天时间就把它使用起来了,迟点还打算写一些munin的插件。 我是没有打算把cacti的安装配置使用写下来了,迟点我把nagios和munin的一些心得写下来吧。

Posted in 互联网 | Tagged , , | 7 Comments