独家解析 Web界面的服务器监测工具
企业服务器对于企业业务持续性意义重大,系统管理员需要密切关注企业服务器以确保一切正常运行。当发现问题的时候,他们需要知道问题开始出现时的状况,因此调查可以重点放在问题出现的时候,这就意味着定期记录信息以及快速分析信息数据是很必要的,本文将介绍几个web界面的服务器检测工具。
每个工具都略有不同的侧重点,所以我们将逐一分析这些工具以帮助你选出适合安装在你的机器上的工具。这些工具执行统计记录所使用的语言和设计模式都可能影响其效率,例如,collectd是用C语言写的并作为守护进程(daemon)在运行,因此collectd不需要创建任何新进程来收集系统信息。其他收集程序可能是用Perl写的,可能你的磁盘缓存中包含Perl翻译器以及收集程序使用的所有Perl模块,系统需要定期产生一个或者多个新程序来收集系统信息。
RRDtool
这些我们将要分析的工具经常会使用其他工具,例如RRDtool就包括存储时间序列数据工具以及图表工具。

RRDtool工具侧重于存储新的时间序列数据,因此不会对磁盘子系统有很大影响,你可能会觉得这没什么大不了的。如果你只是每隔5-10秒钟获取几个值,将它们附加在文件的末尾,在服务器上都不能够明显被察觉,然后你可能会开始监测CPU(负荷、值、核心――每个核心多达16个值)、内存(交换、缓存大小――另外5个值)、磁盘中的剩余空间(20个值?)以及从UPS收集的数据(10个值)。即使不考虑网络流量,每隔10秒钟你都可以从系统中记录50个值。
RRDtool能够将这些值以4KB的大小写入磁盘中,而不是4字节或者8字节,因此系统不需要在每个记录间隔都运行工作。如果其他工具想要所有的数据,可以进行刷新输出缓存,以确保RRDtool缓存的所有数据都被存储入磁盘中。由于数据每次都是以4KB大小写入,就不需要总是将数据置于缓存中,只有再次执行分析或者使用RRDtool图表命令时才会启用。
由于系统监测工具经常会写入文件,你可能会对存储这些文件的区域进行优化。对于常规spinning disk,文件系统搜寻比按顺序读取很多块更具效率,当Linux内核只需要读取一个块时其他序列块也会进入缓存区以供备用。因为RRDtool文件经常被写入单个磁盘块,你最好关闭readahead的分区进程,你也可以利用util-linux-ng的blockdev程序将区块readahead值缩小为两个磁盘块(使用这样的命令:setra 16 /dev/sdX)。关闭时间更新并对文件系统使用writeback模式,RAID同样也将有助于提高性能。
collectd
Colletd是专为反复收集系统信息而开发的,而tarball包含分析这些信息的web界面,开发者表示该界面是一个极小的界面示例,那些想要找寻能够分析collectd收集的信息的web界面的人可以考虑使用其他工具(如Cacti)。

Debian Etch和Fedora9都附有collectd安装包,openSUSE还提供一键安装collected。该程序是用C语言写入的,并且作为守护进程运行,这使该程序能够在短间隔内记录信息而不会对系统产生较大影响。
当你安装collectd包的时候你可能还会想尝试插件包,collectd的重要优势在于能够通过插件支持检测各种各样的系统信息,例如数据库、UPSes、一般系统参数、NFS和其他服务器性能参数。不过,安装插件安装包不是件易事。对于openSUSE,你只需要安装插件完整包即可,而Fedora9( 4.4.x版本)则没有PostgreSQL插件,Debian、 openSUSE和Fedora中都不包含网络USP工具(NUT)插件。
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
- 上一篇文章:虚拟化管理 企业改如何应对
- 下一篇文章:两手都要抓 服务器选购与数据库安全
