Linux操作系统资源监控工具重点推荐 — collectl
Kaya 发表于 os2ora.com
对系统资源的监控,是系统管理者一个必备的任务。从OS角度讲,包括CPU/IO/Network/FS等等,从Database的角度讲,包括Active Sessions/ON CPU/Disks/Top Segments/Top SQL等等。而Database对资源的利用也反映在OS一级上,对OS计算资源的充分均衡利用是我们的目标。那么,如何有效的掌握OS的资源利用情况就成为了一个System Administrator,Database Administrator日常工作的一个重点。
Linux上的常规监控工具主要有top, vmstat, iostat, netstat, sar这些。对这些工具的熟练运用应该能解决大部分问题,不过,这些工具也太散了,学习周期是一个很大的问题。有没有一个包揽所有这些工具的一个超级命令呢?
这就是本文要推荐的一个工具了,collectl,一个开源的sourceforge上的项目,http://collectl.sourceforge.net。
先摆摆架构图

三种模式:
Interactive Mode: This is the default and in this mode data is read from /proc and passes through analyze.
Record Mode: Data passes from /proc the same way as Interactive Mode but instead of going through the Analyze function it written it to a file.
Playback Mode: Here collectl works virtually identical to Interactive Mode except instead of reading data from /proc it reads it from a file.
另一个摩登的,独此一家的,现成的特性是支持socket发送数据,这对于一个有几十台以上机器的cluster来说简直就是一个福音。可以通过另一个命令接收整个cluster里面所有机器实时发送过来的数据,通过一个屏幕显示出来,这对于掌握整个cluster的工作状态是极其方便的。
对于一般的机房来说,虽然机房里的所有机器不是一般意义上的cluster,但是也可以在所有机器上安装collectl,然后把性能信息实时发送到一个监控机器,实现grid control。当然,这里指的是安装了Linux操作系统的机器。
collectl支持的性能数据种类应该是最全的一个,包括IO/CPU/Network/NFS/Infiniband/Lustre/Process/Slabs等等。
最后贴一个collectl在Exadata上的一个应用,监控所有的8个数据库节点还有14个cell节点。
看起来Exadata V1的IO已经很强劲,对否?
collectl有一个工具colmux可以实现上面的类似功能,是collectl作者的另一个开源项目,叫Collectl Utilities(http://collectl-utils.sourceforge.net/)。
如果对上图监控方式感兴趣的朋友可以用邮件的方式和我进一步联系。

太帅了,我也去弄一个编译一下…
good,搞一个学习学习