“会发生什么?”服务器性能监视器

在回顾关于服务器监控软件的一些线程后,我最终得到一个简单的问题:

我应该使用哪种服务器监控工具来自动检测“exception”情况,并提出如何解决这些问题的build议?

我查找安装后检查系统性能的软件,并计算一些平均负载值(内存,CPU等)。 而当发生什么事情(CPU负载增加到20%),然后试图找出一个原因。 如果是apache,则应该检查访问日志。 如果mysql,它应该检查mysql日志,并告诉我会发生什么。 这是因为一些用户解码了很多图像,我想知道哪个命令被执行,何时和用户名。 对于磁盘使用情况,内存,进程数量,线程数量等也是如此。

理想情况下,该软件应定期检查系统并报告问题:PHP错误日志中的错误,过期的软件包,安全漏洞。

换句话说,我正在寻找可以让我简单的使用Debian / Apache / PHP / MySQL服务器的软件,而不必每天都监视这些图表。

与麦克斯韦提到的Zabbix相比,它是古老的意大利风格 (它是相对较新的叉子, icinga )。 这个框架已经存在十多年了,并且非常稳定 – 唯一的缺点是安装和configuration比Zabbix这样的商业公司支持的系统更加耗时(特别是第一次)。

当然,两者在生态系统中都有自己的位置 – 所以我build议你们都试一试。 但是,正如我的评论中所提到的那样:您打算进行更深入的监控,您应该花费更多的时间,无论是实际编写自己的插件/脚本还是search/下载/修改其他人的工作。

祝你好运!

有很多这样的软件,需要注意的是,你应该在不同的主机上运行它,否则如果出现问题,你很可能不会收到通知。

作为一个例子,我们使用了nagios(处理所有监控和警报,换句话说,当需要操作员查看某个东西时,它负责唤醒某人)和cacti(也可以做警报,但是我们只是使用它来收集和汇总各种指标,从networkingstream量到系统负载到垃圾邮件统计)。

当时间到了,你得到一个警报(来自nagios cacti zabbix),有一些性能数据看(cacti,zabbix,其他人会这样做)通常会帮助你诊断问题的位置。

在通常的LAMP堆栈中,您描述了两种最常见的问题情况(以我的经验,至less)是HTTP或SQL服务器根本没有响应或在合理的时间内(一个nagios探针将检查)或平均系统非常高。

这两个检查可能会抓住你的问题的95%,但还有很多你应该寻找的东西 – 例子:

  1. apache经常使用您configuration的最大进程/线程数,意味着您的服务器无法跟上负载
  2. 系统工作正常,但在RAID中出现故障驱动器(您不知道这种事情多less时间会被忽视几个月 – 或至less到下一个磁盘故障;)

几乎所有你会发现的产品都能够监控/绘制你可以扔给他们的所有东西,你通常可以通过简单的shell脚本,简短的程序等来扩展它们,除了包含的仪器和无处不在的SNMP 。

Zabbix监控解决scheme可以监控任何你想要的操作,并可以相应地触发操作,举例来说,可以执行一个处理日志的脚本,并在需要时发回结果。 当满足一个或多个条件时(例如,输出的日志parsing脚本显示错误,并且CPU负载超过40%),您可能会触发一个操作。

Opsview是一个完全集成的监控工具,结合了stream行的开源软件,包括Nagios Core,Nagvis,Net-SNMP和RRDtool。

Catalyst Web框架提供了一个可扩展的监视和configuration用户界面。 Opsview服务器软件在Linux和Solaris 10上运行。它将监视所有常见操作系统,包括Linux,AIX,Solaris和Windows。

使用数千个可用的Nagios插件Opsview几乎可以监控任何设备,系统或软件组件。

Opview将全面考虑您的IT环境,包括他们与您的业务stream程一起工作的方式。

Nagios安装

Nagios是一种主机和服务监视器,旨在向客户,最终用户或pipe理人员提供networking问题信息。 它已被devise为在Linux操作系统下运行,但在大多数变体下也能正常工作。 监控守护进程会对使用外部插件指定的主机和服务运行间歇性检查,这些外部插件会将状态信息返回给Nagios。 遇到问题时,守护进程可以通过各种不同的方式(电子邮件,即时消息,SMS等)向pipe理联系人发送通知。在服务器上安装Nagios将有助于提高服务器的可靠性。

Nagios有很多function,使其成为一个非常强大的监控工具。 下面列出了一些主要function:监视networking服务(SMTP,POP3,HTTP,NNTP,PING等)监视主机资源(处理器负载,磁盘和内存使用情况,正在运行的进程,日志文件等)温度等环境因素的计划停机时间,用于在计划停机期间抑制主机和服务通知简单的插件devise,允许用户轻松开发自己的主机和服务检查能够定义networking主机层次结构,允许检测和区分主机down和那些无法访问支持实施冗余和分布式监控服务器能够通过Web界面确认问题当服务或主机问题发生并得到解决时(通过电子邮件,寻呼机或其他用户定义的方法),发出联系通知主机的可选升级并向不同的联系人组发送服务通知能够定义要在服务或主机期间运行的事件处理程序 主动解决问题的事件外部命令接口,允许通过使用事件处理程序,Web界面和第三方应用程序对监视和通知行为进行即时修改跨程序重启时保留主机和服务状态

看看Zenoss Core ,一个免费的,function非常强大的监控软件,许多公司用来监控他们的networking。 安装和开始很容易。

内置了许多types的监视和警报,包括历史图表。 所谓的ZenPacks可以被安装来扩展它。 另外,可以添加Nagios插件。

这可能正是你所需要的。