图18.1:作为NagVis模板的一个系统环境示意图。
除了主机和服务之外,主机和服务组也可以整合到NagVis展示中,以及其它的图。因此一个地理概况图可以用在开始页,它用一个图标表示被监控的位置,并将图标链接到一个详细的专门描述该位置的NagVis图。
如果一个图标包含几个状态,比如主机和服务组,NagVis会显示最高优先级的状态。CRITICAL比WARNING优先级高,而WARNING比UNKNOWN高,UNKNOWN比欢迎信息更受关注,而OK是所有状态中优先级最低的。如果一个主机组中的任意主机出现CRITICAL状况,这会相应地显示在整个主机组上。
对于主机和主机组,NagVis允许你选择只用主机状况来确定显示的状态,或者同时包括这些主机上的服务状态(见394页)。当选择后一种时,即使某个主机的一个服务处于CRITICAL状态,它都会显示一个红色的停止图标。
非常有趣的是NagVis只能评估硬状态(见394页)。对于使用Web接口的日常工作,如果不是每一个临时软CRITICAL状态都立刻产生一个红色信号,那会很有用。
图18.2:显示系统环境
特别对于面向对象程序设计有好处的是NagVis利用了一些面向对象的概念。例如,系统继承针对单个图和图上设置的全局配置,并将这些配置传递给单个对象,其中本地设置选项总是可以被覆载。这可以很大范围内简化配置,同时NagVis还在图形化的编辑器上(也称为Web用户接口,WUI)指出哪些设置是基于对象本身的,以及哪些是继承来的(见399页图18.8)。
NagVis是根据GNU Public License Version 2 (GPLv2)授权的;下面的介绍基于1.3版本。
一、安装
NagVis使用了NDOUtils并使用PHP实现。因此,NagVis除了需要运行NDO数据库,还需要量一个支持PHP 4.2或以上的Web服务器,以及访问NDO数据库所需要的库php-mysql和支持划线的库php-gd。根据使用的发行版和PHP版本不同,库的名称可能有所不同。对于Debian “Etch”和PHP5,需要以下库libapache2-mod-php5、php5、php5-common、php5-gd和php-mysql。
NagVis并不一定需要与Nagios和NDOUtils安装在同一台计算机上,虽然在许多情况下它们是都是安装在同一个主机上。NDO数据库的配置——NagVis文档上称为后台(Backend)——可以根据你的需要指向任何系统。NagVis甚至允许分别为每一个单独的对象选择后台,这样就可以生成在同一个图形中包含几个Nagios安装的图。
1.安装源代码
NagVis源代码可以从http://www.nagvis.org/downloads下载,要先解压到一个目录:
linux:~ # tar xvzf /pfad/zu/nagvis-1.3.tar.gz
...
如果之前有安装过NagVis,你应该先备份。然后你拷贝解压时创建的目录(这里是nagvis-1.3)到/usr/local/nagios/share的nagvis:
linux:~ # mv nagvis-1.3 /usr/local/nagios/share/nagvis
linux:~ # ls -F /usr/local/nagios/share/nagvis
INSTALL LICENCE README config.php etc/ index.php nagvis/ var/ wui/
重复的目录名nagvis可能看起来会有些奇怪,但这是正确的:
/usr/local/nagios/share/nagvis
/usr/local/nagios/share/nagvis/nagvis
/usr/local/nagios/share/nagvis/wui
/usr/local/nagios/share/nagvis表示NagVis的安装主目录,而子目录nagvis包含了NagVis应用,及其配置。最后子目录wui包含了图形化编辑器,它使我们可以通过浏览器编辑NagVis图。
目前,正确的目录和文件访问权限必须手动设置。首先你需要确定Web服务器运行的用户权限(参见39页,第1.2节):
linux:~ # grep "^User" /etc/apache2/apache2.conf
User www-data
linux:~ # id www-data
uid=33(www-data) gid=33(www-data) Groups=33(www-data),9001(nagcmd)
第一个grep命令查找Web服务器配置文件的相应用户——这里是Apache2,然后是使用id命令搜索这个用户的主组。这就是在gid部分的值。现在就可以相应地设置访问权限:
linux:~ # chown www-data.www-data -R /usr/local/nagios/share/nagvis
linux:~ # chmod 664 /usr/local/nagios/share/nagvis/etc/nagvis.ini.php
linux:~ # chmod 775 /usr/local/nagios/share/nagvis/nagvis/images/maps
linux:~ # chmod 664 /usr/local/nagios/share/nagvis/nagvis/images/maps/*
linux:~ # chmod 775 /usr/local/nagios/share/nagvis/etc/maps
linux:~ # chmod 664 /usr/local/nagios/share/nagvis/etc/maps/*
linux:~ # chmod 775 /usr/local/nagios/share/nagvis/var
linux:~ # chmod 664 /usr/local/nagios/share/nagvis/var/*
为了使用Web用户接口,必须创建中央配置文件并确保只有成功认证后才可以访问NagVis。