[Nagiosplug-help] Logos don't display on status map or in host status views

Andreas Ericsson ae at op5.se
Wed Dec 13 15:39:31 CET 2006

Ralph.Grothe at itdz-berlin.de wrote:
> Hello,

Hello, and thank you for an exemplary problem description/question. I've 
cut away some of your own trouble-shooting to just keep the parts 
relevant to the answers.

> In my *hosts.cfg files I added hostextinfo definitions for some
> hosts
> which look like 
> The graphic binaries are world-readable, so also for the
> webserver children
> $ ll /opt/sw/nagios/share/images/logos/{hp,redhat}.gd2
> -rw-r--r--   1 nagios   nagios      2730 Nov 17 2004
> /opt/sw/nagios/share/images/logos/hp.gd2
> -rw-r--r--   1 nagios   nagios      2649 Nov 17 2004
> /opt/sw/nagios/share/images/logos/redhat.gd2
>>From the webserver's nagios virtual host access log I see that
> the GET was serviced with a 200 OK state
> - nagiosadmin [13/Dec/2006:14:03:07 +0100] "GET
> /images/logos/hp.gd2 HTTP/1.1" 200 2730
> Does it mean that my browser needs some plug-in to be able to
> display those *gd2 files?
> I use a Firefox that only has the usual Acrobat reader
> and JRE plugins (about:plugins)
> So what's so special about the gd2 icons?

gd2 isn't really an image-format in the sense that browsers and 
image-viewing programs can read and display them properly (well, gimp 
can but that's just odd). Instead, they're sort of pre-rendered 
meta-images that the gd-library can read to insert into other images.

 > define hostextinfo {
 >     host_name                           somehost
 >     icon_image                          hp.gd2
 >     icon_image_alt                      9000/800/rp7420 DEH******
 >     statusmap_image                     hp.gd2
 > }

This section above is basically wrong, because it will leave 
interpreting of the hp.gd2 to the browser, which doesn't understand it 
so it'll show up as a question-mark (or possibly a broken image).

 > Well I made a swift substitution %s/gd2/png/ and restarted
 > nagios.
 > Now the *png icons get displayed.

That's because the gd-library reads the .png images, re-renders them to 
.gd2 images internally and then creates the statusmap (which is 
basically just one big image) from those re-rendered gd2 images.

If you had instead done


(that is, replace only .gd2 for the icon_image variable) it would still 
have worked, but the statusmap.cgi binary wouldn't have to re-render the 
images internally.

I haven't looked at that part of the code in a long time, but I vaguely 
remember Nagios having an internal speedup thing that makes it use .gd2 
images for the statusmap if they're present, so it's safe to use .png 
everywhere. However, for large networks with lots of different icons in 
use, you can get quite a speedup with using .gd2 for the statusmap_image 
and the .png for the icon_image, especially if the images reside on slow 

 > However, when I invoke the site map I cannot see any images but
 > the uninspiring question marks.
 > When I visit a host's status view I only get the browser's broken
 > image representation next to the hostname.

This, however, is a bit puzzling. The sitemap *should* display the 
proper icons, while the host's status view should display the broken 
image thing. You can try running pngtogd2 on the png-files in your icon 
directory, which will make sure that what the library reads is exactly 
what it renders internally when you use the png images.

Andreas Ericsson                   andreas.ericsson at op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

More information about the Help mailing list