统一Linux服务器利用率监控

我使用了大量的工具来监视不同types的服务器负载(Linux / Apache / MySQL / PHP) – top,iostat和netstat,以及我自己的脚本测量。 我使用脚本和电子表格收集和总结数据,以全面了解我的服务器正忙于什么。

有一个简单的工具/守护进程,我可以安装在Linux下,安静地坐在后台,收集所有这些信息在适当的时间间隔,然后提供简单的每日/每周/每月摘要让我阅读?

有人提到sar (系统活动记者),我不得不第二推荐!

这听起来像是你用各种工具自己完成了一大堆工作。 但是,您可能已经发现,只要您的系统上安装了sysstat软件包,您感兴趣的大部分集合系统数据就已经由sadc (系统活动数据收集器)cron作业收集。 “奇怪的是,这些不作为守护进程运行。

sadc脚本(名为sa1和sa2)从各个内核计数器收集信息…其中一些与vmstat查询的相同,另一些则从ifconfig用于报告传输和接收的数据量的相同源在每个接口上,等等。 默认情况下, sa1每10分钟运行一次。

然后可以使用sar命令从收集的数据中提取该信息的各种子集。 要熟悉所有可用的表,运行sar -A并将输出redirect到一些方便的文件。 然后在你最喜欢的编辑器中,在一个窗口中打开文件,在另一个窗口中显示sar手册页。 现在只需遍历整个文件,在手册页中search各种列标题标识符。

我也喜欢使用sar -A作为解决不明原因的性能和稳定性的早期步骤。 (通常这些问题已经升级到我的系统已经重新启动或问题是间歇性的)。 由于用户(包括大多数初级和中级系统pipe理员)在重新引导之前不知道要收集什么types的数据,因此这些数据通常是最好的。

使用这些数据进行事后故障排除的技巧是扫描所有那些寻找峰值的数字列。 (是的,如果你喜欢GNUplot这样的工具,你可以从中生成一堆图表,但是说实话,你可以经常发现尖峰,就像扫描原始数据一样)。 看看一些没有出现问题的类似系统,或者在事情似乎没有问题的时间间隔内查看这个系统上的数据。 一旦你发现“尖峰”(networkingstream量,分页活动,磁盘I / O)尝试关联它们(我通常只是复制数据并删除所有“名义”数据,只留下可能的东西certificate)。 要寻找的第一个关联是在不同的资源高峰时间…运行队列在分页失控之前突然激增了吗? 在磁盘I / O数量超过屋顶之前,是否有大量增加的networkingstream量? 然后,将它与最后一个命令的输出相关联(谁在当时login),如果启用了进程记帐,则可以查看lastcomm命令。 当然,你也可以看看/ var / log / *来关注相同的时间间隔(当然,从那里向后扫描)。

你会惊讶于你能从这个练习中找出多less。

“几分钟后,Tom帐号login了,这个帐号正在逐渐增加数据stream量到eth0和sdb3磁盘上;也许他正在拷贝一个数据集,可能是来自Lan B上的Netapps …然后我们看到一个巨大的秒杀在内存页分配,但进程创build保持名义,直到这个分页开始,这是当中断和运行队列通过房间,并把系统进入OOM thrashing。汤姆,你无知!你有一个内存泄漏foobar.pl! “ 🙂

但是,为了您的目的,您可以使用sar -A作为起点。 您可以find需要的位,然后使用各种参数调用sar来捕获要分别parsing,过滤和绘制的每个表。 还有一些选项可以以更加机器友好的格式呈现输出。

有几种工具可以让您自动收集服务器的性能指标,例如Nagios , Cacti和Munin 。

大多数监控解决scheme都提供基于Web的前端,您可以从中轻松查看与特定时间段相对应的性能数据。 此外,由于他们通常将收集的信息存储在数据库中,如果需要进一步分析,还可以利用这些信息。

sar是系统活动报告命令。 它可以提供实时数据(类似于vmstat),并将数据保存在后台以供稍后报告。

Debian在仓库中有几个不同的版本,查看atsarsysstat软件包。

您也可能会发现有趣的stream程会计。 当任何进程结束时,将使用信息写入可从中进行报告的文件。 看看acct软件包。

你可以使用:

SeaLion。它是一个重量轻的工具。 既然你最喜欢使用SAR,这对我来说将会更具吸引力,因为它好像是SAR的延伸; 所有输出都在时间线上(有助于debugging时间),同时支持所有可能的shell命令。 顶部,iostat,netstat,正常运行时间等是提供的默认命令,它还允许您添加自己的命令并configuration收集输出的时间间隔。 但是,它尚未提供警报。

2. New Relic :提供服务器监控工具列表,并以图表的forms提供报告,并提供警报。 设置起来有点沉重和难度。

这些是我用过的唯一两个可以担保的。

我最近发现Glances和ssh是相当不错的,比top和htop还多。 这是一台机器。

为了监视所有的服务器(虚拟或物理)是NewRelic是相当不错的,最近Monitis作为备份的select。 Pingdom付费帐户也是一套完整的工具。

我使用Zabbix 。 您可以为硬件types或使用types定义模板。 您可以通过邮件,短信或短信(如果您有GSM或CDMA调制解调器)等不同媒体发送报告,提醒。 数据由SNMP或其自己的zabbix-agent收集。

你尝试下面的链接它有很多事情来监测..

http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html