我正在使用hostextinfo
语句来在我的地图中显示图标。例如:
define hostextinfo {
hostgroup_name apple-devices
icon_image base/apple.png
icon_image_alt Apple
vrml_image apple.png
statusmap_image base/apple.gd2
}
这很好用。
但是,当我使用以下语句来使用存储在 htdocs/images/logos/symbols
而不是中的图像时htdocs/images/logos/base
,它不起作用,并且会显示一个询问点来代替预期的徽标。
define hostextinfo{
hostgroup_name network-devices
icon_image symbols/switch.png
icon_image_alt Switch
vrml_image switch.png
statusmap_image symbols/switch.gd2
}
到目前为止,这是我尝试过的:
- 我已确保验证文件是否存在以及它们是否具有适当的权限。
- 我还尝试使用浏览器中的地址直接显示图像。我注意到
http://obfuscated.net/nagios3/images/logos/base/
正在返回403 Forbidden
但http://obfuscated.net/nagios3/images/logos/symbols/
正在返回404 Not Found
。 - 我查看了
apache2.conf
和cgi.cfg
文件以找出图像权限但没有成功。
编辑这里有一些清单来显示文件权限。我看不出base
和之间有什么不同symbols
/usr/share/nagios/htdocs/images/logos# ls -l .
total 64
drwxr-xr-x 2 root root 12288 Nov 25 08:38 andrade
drwxr-xr-x 2 root root 4096 Nov 25 08:38 base
drwxr-xr-x 2 root root 4096 Nov 25 08:38 bernhard
drwxr-xr-x 2 root root 12288 Nov 25 08:38 cook
drwxr-xr-x 2 root root 4096 Nov 25 08:38 didier
drwxr-xr-x 2 root root 12288 Nov 25 08:38 logos
drwxr-xr-x 2 root root 4096 Nov 25 08:38 remus
drwxr-xr-x 2 root root 4096 Nov 25 08:38 satrapa
drwxr-xr-x 2 root root 4096 Nov 25 08:38 symbols
drwxr-xr-x 2 root root 4096 Nov 25 08:38 werschler
/usr/share/nagios/htdocs/images/logos# ls -l base/switch40.png
-rw-r--r-- 1 root root 869 Dec 6 2009 base/switch40.png
/usr/share/nagios/htdocs/images/logos# ls -l symbols/router.png
-rw-r--r-- 1 root root 169 Dec 6 2009 symbols/router.png
您知道 apache2 访问这些图像的权限存储在哪里吗?
在 ubuntu 上,该
nagios3
软件包将 Web 界面提供的所有文件安装到/usr/share/nagios3/htdocs/
.可以通过软件包安装用于地图的其他图像,
nagios-images
文件安装在/usr/share/nagios/htdocs/
.您可以注意到一条路径指的是
nagios3
而另一条路径指的是nagios
。此外,
/usr/share/nagios3/htdocs/images/logos
还包含一个符号链接列表,指向/usr/share/nagios3/htdocs/images/logos
. 但是,symbols
符号链接实际上丢失了,这就是地图无法使用该目录中的文件的原因。创建如下所示的符号链接可以解决问题: