Answers:
我将为您提供一小部分工具-虽然我会像我已经习惯的那样亲自推荐Nagios。它具有庞大的用户群,大量的插件等-但我也听说过有关Icinga的好消息。
请注意,设置Nagios或Icinga会花费一些时间,直到您拥有一个可以正常工作的设置来覆盖/监视所有现有服务。开始很可能不是那么容易,但是一旦它开始工作,它是一个可爱的设置,如果状态发生变化,它将通知您所有已定义的服务,因此可以报告/定义为关键的事情
首先-快速概述:
其他有趣的软件
维基百科写道
Nagios,现在被称为Nagios Core,是一个免费的开源计算机软件应用程序,用于监视系统,网络和基础结构。Nagios为服务器,交换机,应用程序和服务提供监视和警报服务。它在出现问题时向用户发出警报,并在问题解决后再次向用户发出警报。
示例图片-显示您拥有的几种视图之一:
这是一个有关如何安装Nagios的好AskUbuntu帖子。 Nagios Exchange提供了大量的插件,附加组件,文档,扩展等等。
维基百科写道
Munin是一个免费的开源计算机系统监视,网络监视和基础结构监视软件应用程序。它为服务器,交换机,应用程序,服务等提供监视和警报服务。当出现问题时向用户发出警报,并在问题解决后再次向用户发出警报。
范例图片
维基百科写道
Icinga是一个开源计算机系统和网络监视应用程序。它最初是作为Nagios系统监控应用程序的分支于2009年创建的。
Icinga试图克服Nagios开发过程中的缺点,并添加新功能,例如现代的Web 2.0风格的用户界面,附加的数据库连接器(用于MySQL,Oracle和PostgreSQL)以及一种REST API,使管理员可以集成众多扩展,而无需对Icinga核心进行复杂的修改。
示例图像显示了几个视图之一:
维基百科写道:
Spiceworks是面向信息技术(IT)行业的专业网络,总部位于德克萨斯州奥斯汀。该公司由Scott Abel,Jay Hallberg,Greg Kattawar和Francis Sullivan于2006年1月成立,旨在开发IT管理软件。
Spiceworks是一个在线社区,用户可以在此相互协作并相互寻求建议,还可以参与市场购买与IT相关的服务和产品。估计有600万以上的IT专业人员和3,000家技术供应商使用该网络。
维基百科写道
Monit是针对Unix和Linux的免费,开源过程监控工具。使用Monit,可以直接从命令行或通过本机HTTP(S)Web服务器查看系统状态。Monit在Ruby on Rails和Mongrel Web服务器上变得越来越流行,[需要引用],因为需要一种工具来管理许多相同的Mongrel流程,而这些流程需要运行以支持可扩展的Ruby on Rails站点,Monit非常独特适合Ruby on Rails社区的需求。许多流行的Rails网站都使用过Monit,包括Twitter和scribd。
维基百科写道:
Cacti是一个基于开放源代码的,基于Web的网络监视和制图工具,旨在作为开放源代码的行业标准数据记录工具RRDtool的前端应用程序。Cacti允许用户以预定的时间间隔轮询服务并绘制结果数据图。它通常用于绘制指标的时间序列数据,例如CPU负载和网络带宽利用率。一种常见用法是通过简单网络管理协议(SNMP)通过轮询网络交换机或路由器接口来监视网络流量。
前端可以处理多个用户,每个用户都有自己的图集,因此有时Web托管提供商(尤其是专用服务器,虚拟专用服务器和并置提供商)会使用它来为其客户显示带宽统计信息。它可用于配置数据收集本身,从而无需任何RRDtool的手动配置即可监视某些设置。可以将Cacti扩展为通过Shell脚本和可执行文件监视任何源。
维基百科写道:
Zabbix是由Alexei Vladishev创建的用于网络和应用程序的企业开源监视软件。它旨在监视和跟踪各种网络服务,服务器和其他网络硬件的状态。
Zabbix使用MySQL,PostgreSQL,SQLite,Oracle或IBM DB2来存储数据。它的后端用C编写,Web前端用PHP编写。Zabbix提供了几种监视选项
您可以使用几种解决方案。其中之一是monit
。
在命令行中,只需运行以下命令:
sudo apt-get install monit
现在应该安装Monit,并可以通过以下URL之一访问它:
http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)
监控配置
在开始Monit
用于服务器自动监视之前,必须进行一些基本配置。首先Monit
使用以下命令备份现有的默认配置:
sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak
接下来,monitrc
使用以下命令创建一个新文件
sudo /etc/monit/monitrc
并将以下内容复制到其中。
# How often in seconds should monit check your services.
set daemon 120
set logfile /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state
# Configure your SMTP out server.
set mailserver smtp-server.columbus.rr.com port 25,localhost
set eventqueue
basedir /var/lib/monit/events # set the base directory where events will be stored
# optionally limit the queue size
slots 100
# Use one of the following 2 lines. The second line alerts on every little change and can be annoying.
set alert admin@domain.com but not on { instance, pid, ppid } #does not send alert on pid changes
#set alert admin@domain.com
set httpd port 2812 and
#Change username and password
allow Username:Password
# To enable SSL for WebUI uncomment the next 2 lines
#ssl enable
#pemfile /path/to/unified/certificate.pem
# To restrict access to localhost only uncomment the following line
#allow localhost
include /etc/monit/conf.d/*
以#开头的行是注释,可帮助您自定义配置。确保至少已正确配置了管理电子邮件,SMTP服务器和SMTP端口。您还应该考虑更改Monit WebUI用户名和密码。如果您拥有SSL证书,则也可以启用该证书以进行HTTPS访问
现在,使用以下命令确保Monit正常运行。
要测试Monit
配置是否存在语法错误:
sudo monit -t
要启动Monit:
sudo monit
要检查监视状态:
sudo monit status
使用Monit监视系统负载
要求您的Monit实例正常且/etc/monit/monitrc
文件正确。各种服务的监控配置从/etc/monit/conf.d
文件夹加载。要使用监视服务器负载Monit
,请Monit
使用以下命令创建配置文件:
sudo /etc/monit/conf.d/systemload
将以下内容复制到其中,然后保存并退出
# domain.com could be IP, hostname, or localhost
check System domain.com
if loadavg (1min) > 4 then alert
if loadavg (5min) > 2 then alert
if memory usage > 75% then alert
if swap usage > 25% then alert
if cpu usage (user) > 80% then alert
if cpu usage (system) > 30% then alert
if cpu usage (wait) > 20% then alert
Monit
当满足上述条件之一(例如,平均负载>4
至少1分钟或超过75% RAM
满负荷)时,此代码将向您发送电子邮件警报。您可以根据需要自定义上述规则。以下是发送的示例电子邮件警报,Monit
以及造成警报的原因的描述。
测试并重新加载Monit
进行任何更改后,您必须测试Monit
配置:
sudo monit -t
您应该看到以下消息: Control File Syntax OK.
然后,Monit
使用以下命令检查是否已在运行:
sudo /etc/init.d/monit status
如果Monit
正在运行,请Monit
使用以下命令重新加载配置:
sudo /etc/init.d/monit reload
现在,启动您的Web浏览器,并根据Monit的配置访问以下URL之一(请确保使用正确的端口号):
http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)
您应该看到系统状态,负载,CPU负载,内存负载和交换负载
使用Monit进行存储监视
接下来,要求您的工作Monit
实例具有正确的/etc/monit/monitrc
文件。Monit
从/etc/monit/conf.d
文件夹加载各种服务的配置。Monit, create a
使用以下命令通过Monit`配置文件监视驱动器空间:
sudo /etc/monit/conf.d/storagespace
将以下内容复制到其中,然后保存并退出
# add each drive you want to monitor below
check filesystem Ubuntu with path /dev/sda1
if space usage > 90% then alert
check filesystem Home with path /dev/sda3
if space usage > 90% then alert
check filesystem Media with path /dev/sdb1
if space usage > 90% then alert
上面的代码将监视2个驱动器中3个分区中的硬盘驱动器空间。如果它们中的任何一个超过90%已满,您将收到警报。
您还可以监视特定的服务。
使用Monit监视Apache服务器
Monit
使用Monit’s
预制的配置模板来设置Apache服务器监视。您所要做的就是将现有模板从复制/etc/monit/monitrc.d
到/etc/monit/conf.d
文件夹。
sudo cp /etc/monit/monitrc.d/apache2 /etc/monit/conf.d/
除了复制,您还可以创建一个符号链接。Apache Web服务器进程创建apache2.pid
。上面的代码监控apache2.pid
文件,如果不存在,Monit
将尝试重新启动Apache。重新启动将触发电子邮件警报。如果重启多次失败,则Monit将停止监视Apache服务器。
...
上面的工具都非常适合生成电子邮件。由于我不想整天坐着看仪表板,因此我更喜欢通过电子邮件进行日常监控。问题是您被电子邮件淹没,并且只对出现问题时感兴趣。另外,您怎么知道是否由于某种原因从未发送过电子邮件,并且您认为一切正常。
我搜索了很长时间,发现有2种产品可以读取您的报告电子邮件并在需要采取措施时向您发出警告。
在我学校,我们的老师给了我们Pandora FMS培训,这是一个涵盖服务器监控,应用程序甚至网络的监控解决方案!
那时我只了解Zabbix和Nagios,我以前从未听说过这种解决方案,但是现在由于它提供了额外的功能,我将其立足于此。服务器监视部分确实很成熟,我认为,配置和获取性能统计信息更为简单:http://pandorafms.com/monitoring-solutions/server-monitoring/