系统监控 Munin
2010-06-10 09:44
[sysadmin]
在系统监控方面,有很多选择,如 ganglia, nagios, cacti, monit等等,各有所长。
ganglia 在集群监控上优势很大,对系统管理员非常有价值,但是对于服务开发者-程序员来说远远不够,监控项目太少了,二次开发,定制比较困难。
munin 对内存的监控项目如下
应该是非常详尽了的。
munin 的特点
- 扩展
munin 的 plugin 编写比 ganglia 简单很多
ganglia 需要实现约定接口,最麻烦的是需要配置文件对输出结果进行自定义。统计項复杂时,几乎不可接受。
并且一个Plugin只能汇报一个值(统计项),如果要在 rrdtool 中汇聚了多个值,出图又成问题。
munin 的扩展编写只需要脚本即可,如下:
``` echo a.value 100 ``` 并且一个独立的脚本就可以控制:出图,出值,配置信息
其调试过程也很容易,运行 munin-run load, munin-run load config 就能看到脚本是否正确
远程使用 telnet host 4949 也能进行测试对于程序员,可以把程序内部的计数器,如函数调用次数,内部状态等汇报至监控系统。
- 性能
ganglia 本身轻量级很多,应该是主机向集群节点主动推送的机制 ?
munin 是中心节点定时去主机那里获取信息
munin-node 的执行开销比 gmond 的执行开销要大。可以通过禁用掉不太有价值的 plugin 来降低 load
- 系统容量
munin 能监控的主机数目完全受中心节点系统资源限制,如果 5 分钟内没有办法遍历一次所有主机就成问题了,munin 支持并发更新
其 Web 支持静态文件和 CGI 方式
静态方式每次都要产生 png 和 html - 还有,munin 能使用 nagios 报警
``` [dag] name=Dag RPM Repository for Red Hat Enterprise Linux baseurl=http://apt.sw.be/redhat/el5/en/$basearch/dag gpgcheck=1 gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt enabled=1 ``` 其他系统安装见这儿