我使用Nagios(一款企业级网络与服务器监控系统)已经将近10年了,还没有发现其他免费、开源的监控系统可以与其媲美。 本教程将介绍如何在Solaris 10上进行Nagios基本安装。示例中,我使用运行在32位Vmware虚拟机中的Solaris 10 update 6(发布于2008年10月)系统。主机名为“sol10vm”,可以根据自己的需求修改主机名。
在其他可替代Solaris的操作系统与Apache web服务器应该也能正常使用,我曾在从Redhat 7.3到Mac OS X等许多种系统中成功安装Nagios。 Nagios安装预先准备 本教程假设,系统中已经安装了GCC……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
我使用Nagios(一款企业级网络与服务器监控系统)已经将近10年了,还没有发现其他免费、开源的监控系统可以与其媲美。
本教程将介绍如何在Solaris 10上进行Nagios基本安装。示例中,我使用运行在32位Vmware虚拟机中的Solaris 10 update 6(发布于2008年10月)系统。主机名为“sol10vm”,可以根据自己的需求修改主机名。在其他可替代Solaris的操作系统与Apache web服务器应该也能正常使用,我曾在从Redhat 7.3到Mac OS X等许多种系统中成功安装Nagios。
Nagios安装预先准备
本教程假设,系统中已经安装了GCC(GNU Compiler Collection)与gmake(GNU Make)工具。安装包可以在Solaris 10的安装光盘中找到,并确保编译器可以正常使用,在大多数情况下,只要简单地将“/usr/sfw/bin”加入环境变量配置即可。如果在执行“gcc”与“gmake”命令并获得以下输出,则可以确定编译器已正确安装:
root@sol10vm:/> gcc
gcc: no input files
root@sol10vm:/> gmake
gmake: *** No targets specified and no makefile found. Stop.
示例中,我采用由Steve Christensen所提供SunFreeware项目的Apache web服务器,具体包括Apache 2.0.59版本与相关依赖包。这些安装包将被安装在/usr/local目录下,所以需要确保/usr/local/bin目录在环境变量中,并且/usr/local/lib与/usr/local/ssl/lib在系统库搜索路径里(使用“crle”命令,使用"man crle"命令可获得详细介绍)。
检查apache配置文件/usr/local/apache2/conf/httpd.conf,并用命令/usr/local/apache2/bin/apachectl start启动web服务,可以通过在浏览器中打开http://yourhostname(你的主机地址)进行访问。应该会显示如下:
下载、编译与安装Nagios
安装Nagios的第一步是创建Nagios用户与组。按照以下命令,我们将可以在一个新安装的Solaris系统中建立这些用户与组。在你的测试环境中,用户ID可能不为100,但我建议保持Nagios的组ID与其用户ID一致。
root@sol10vm:/> useradd -c "nagios user" -d /usr/local/nagios nagios
root@sol10vm:/> grep nagios /etc/passwd
nagios:x:100:1::/home/nagios:/bin/sh
root@sol10vm:/> groupadd -g 100 nagios
root@sol10vm:/> grep nagios /etc/group
nagios::100:
root@sol10vm:/> usermod -g nagios nagios
我们通过Nagios下载页面下载所需软件。接着便是将压缩文件解压到指定目录,我比较喜欢将其放在/usr/local/src目录下。
建议将Nagios安装在单独目录中,我们将往配置脚本中传递一个变量,告诉系统,将Nagios安装至/usr/local/nagios目录中。
root@sol10vm:/usr/local/src/nagios-3.0.6> ./configure --prefix=/usr/local/nagios
只要配置完成,并且没有报错提示,便可输入"gmake all"编译Nagios核心软件与Web CGI。接着输入“gmake install”进行软件安装。一旦安装结束,输入“gmake install-init”与“gmake install-config”,可以安装示例配置文件并让Nagios在系统启动时自动运行。
在Nagios自行编译与安装完成后,下一步要做的便是重复以上方法,进行Nagios-Plugins安装,插件可以增强系统与服务检测。解压安装包,配置方法与之前类似:
root@sol10vm:/usr/local/src/nagios-plugins-1.4.13> ./configure --prefix=/usr/local/nagios
待配置脚本运行结束,输入“gmake”与“gmake install”将相关插件安装在Nagios的安装目录下。此外,必须将/usr/local/nagios/lib加入系统库搜索路径中,使用命令“crle”,就像之前添加/usr/local/lib目录一样。如果这一步遗漏了,某些插件可能会报错。
配置Apache
在此示例中,我们不考虑为Nagios设置HTTP用户授权验证。因此,配置会更加简单,但不要在生产环境中这样做。在学习并了解了这些软件是如何运作后,请参考Nagios官方文档并修改配置文件,启用用户验证。
配置Nagios所需的Apache服务器,需要将以下内容加入Apache配置文件中。配置文件位于/usr/local/apache2/conf/httpd.conf。
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin Alias /nagios /usr/local/nagios/share
<Directory "/usr/local/nagios/sbin">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/usr/local/nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
完成Apache配置后,使用命令 /usr/local/apache2/bin/apachectl graceful或/usr/local/apache2/bin/apachectl stop && /usr/local/apache2/bin/apachectl start,重启Web服务。
即使Nagios现在还没有完全配置与启动,你因该可以通过浏览器访问http://yourhostname/nagios,并看到类似如下显示:
配置Nagios
Nagios有很多配置文件,位于/usr/local/nagios/etc与/usr/local/nagios/etc/objects目录。
首先,我们需要编辑文件/usr/local/nagios/etc/cgi.cfg,将“use_authentication”值调整为0。若在生产环境中,建议在阅读了相关HTTP用户授权的文档后,启用此功能。
第二个需要编辑的文件是/usr/local/nagios/etc/nagios.cfg。将其中"check_extenal_command"与"usr_syslog"值调整为0。这样可避免某些人利用扩展命令对Nagios系统日志进行垃圾信息攻击。
修改Nagios的默认“contact group”配置。编辑/usr/local/nagios/etc/objects/contact.cfg,在nagiosadmin联系人定义中,将"nagios@localhost"修改为你的email地址。如果要让邮件告警通知可用,还需要一个可用的邮件服务器或在Solaris系统中架设邮件中继服务(本文暂不对这些配置进行介绍)。
你会发现contacts.cfg中关于generic-contact模板配置与使用方法的介绍。该模板在/usr/local/nagios/etc/objects/templates.cfg中定义,时段在/usr/local/nagios/etc/objects/timepreiods.cfg中定义。通常情况下,不会对这些文件进行修改,但它们拥有极高的可定制性,可以实现轮班与多联系人,或根据问题发生的时间段,通知不同联系人。
如果在编译于安装Nagios后执行了gmake install-config命令,会在本地生成一个localhost.cfg文件,用于检测运行着Nagios服务的系统版本。可以直接忽略文件中“linux-server”的参数;那是在Linux下才会用到的内容。需要修整配置文件,实现只监控网络连接,Web服务与SSH守护进程。将文件中的Root_Partion,Current Users,Total Processes,Current Load与Swap Usage服务注释掉。确保如下内容没有被注释:“check_http”,“check_ssh”与“PING”。用于服务检查的命令在commands.cfg文件中定义。可以通过编辑该文件添加自己所需内容并在自己的服务定义中使用。
printer.cfg文件和windows.cfg文件包含了许多关于如何使用Nagios plug-ins实现监控打印机、交换机与Windows服务器的方法。此文中就不多做介绍了,这些资料值得一读,让我们了解Nagios如何实现对这些设备进行监控。
在所有的配置文件已经调整差不多后,该启动Nagios服务,验证文件是否配置正确、没有遗漏了。启动Nagios,输入命令 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg。如果配置无误,输出内容将如下显示:
若Nagios配置验证失败,系统会提示你可能出现问题的配置文件所在。只需检查与修改对应配置文件,接着再次进行启动验证,直到最后提示“Things look okay”就可以了。
运行Nagios
一旦配置文件正确,接下来就该运行Nagios了。假设先前运行了“gmake install-init”,将在/etc/inid.d目录下新增一个脚本,该脚本可以自动启动Nagios服务。输入 /etc/init.d/nagios start命令启动Nagios。Nagios启动后,你可以通过浏览器访问http://yourhostname/nagios,点击Tactical Overview查看全局状况。在下图中,可以发现一台主机正被监控,包括三项服务,其中两项服务通知被禁用。
点击Service Detail,可得到每项独立服务的状况详细报告与其最新记录:
Host Deatil将主机以每行一台的排版,详细展示主机具体状况:
Hostgroup与Hostgroup Summary展示不同组中服务器运行状况(组与服务器需要在配置文件中定义)。在此快速入门教程中,我们只有一台主机(和一个主机组),就不截图展示了。
默认情况下,Nagios会每5分钟检测主机与服务状态。若出现异常状况,页面显示会将宕机或中断的服务器或服务由绿色变为红色,并将告警通知邮件发往在主机模板 templates.cfg中定义的联系人组(需要修改通讯录配置)。一旦服务器或服务恢复正常运作,系统也会自动发送邮件通知相关联系人。
希望这篇基础教程对您初步了解与学习使用Nagios进行网络与系统资源监控有所帮助。
Nagios最新版本下载请点击:http://www.searchdatacenter.com.cn/software/content_10170.htm
相关推荐
-
服务器管理和监控策略优化技巧
有效的服务器管理需要监控、文档化,并且有时需要进行内部迁移。本文将帮助您发现顶级服务器管理技巧以及如何将其应用于您的数据中心。
-
免费、监控数据随心看 OpManager就是这么任性
企业软件供应商通常会面向预算有限的小型企业提供免费工具,比如ManageEngine的OpManager。ManageEngine OpManager同时提供了免费与付费版本。
-
如何安全高效地使用服务器?
对于中小企业来说,选购一台合适的服务器是至关重要的。然而更重要的在于,如何合理高效地使用服务器,让服务器的性能发挥到最大,充分为企业业务服务。
-
4款强大的Linux服务器监控工具
你可能知道在机器上查看实时进程的标准工具top。htop是top的扩展版本,有更丰富的概貌。除了htop,本文还将介绍其他三款Linux服务器监控工具。