Useful Links:

Introducing...

NagVis is a visualization addon for the well known network managment system Nagios.

NagVis can be used to visualize Nagios Data, e.g. to display IT processes like a mail system or a network infrastructure.

FAQ

How to connect NagVis to Icinga/Shinken/Nagios?

NagVis does not gather the monitoring data on it's own, it is just a tool for visualization.

To fetch the collected monitoring data NagVis comes with a backend interface. A backend acts as the glue between the monitoring core (like Nagios, Icinga, Shinken, ...). NagVis comes with a bunch of backends for connecting to these monitoring cores.

The default and recommended way to connect NagVis to the monitoring cores Nagios, Icinga and Shinken is the MKLivestatus backend.

What is MKLivestatus?

MKLivestatus is a new type of Nagios event broker module. Simplified: It serves a socket where programs can access information directly from the Nagios core. The module is easy to install, brings no administrative overhead and is very fast.

There are many advantages compared to the NDO. So it became the new default backend of NagVis in version 1.5.

It is not mandatory to use the MKLivestatus module for NagVis but it is very recommended.

The monitoring cores Nagios and Icinga can be extended with this module. Shinken implements the livestatus API out of the box.

Help! I just installed NagVis but I have no admin privileges!

You just installed Nagvis and get a message like "you are not permitted to ...". The situation might be similar to this:

  1. NagVis comes with an initial administator account named "admin"
  2. The default user of Nagios basic auth is named "nagiosadmin"
  3. You have enabled the basic auth of Nagios for NagVis
  4. The default config of NagVis dynamically creates non existing user accounts in the NagVis auth database when you log in via basic auth (logonenvcreate=1)
  5. These automatically created accounts get the role "Guests" by default (logonenvcreaterole="Guests")

Now your "nagiosadmin" user is a guest user and has no administrative permissions.

There exist two ways for solving this problem:

1. Add the "Administrators" role to your user account

This is possible if a) you got a working administrator account for making the other account administrator or b) you have command line access to the NagVis etc/ directory and the containing auth.db file.

There exists a helper script called nagvis-make-admin. Copy this script into your NagVis etc/ directory, make it executable and execute it with:

./nagvis-make-admin <username>

This should give administrator privileges to the given user.

2. Re-initialize the auth database

Change the option logonenvcreaterole="Administrators" in nagvis.ini.php temporary, then remove the auth.db file from etc/ directory of NagVis and reload NagVis. Now your user should automatically become an administrator. Don't forget to change the option logonenvcreaterole back to the default value.

How to run NagVis WITHOUT authentication?

We do not recommend such a setup but here are two possible ways to do it:

mod_rewrite

The following mod_rewrite config maps the user "nagiosadmin" to NagVis:

  RewriteEngine   on
  RewriteLock     var/log/rewrite.lck
  RewriteLog      /dev/null
  RewriteLogLevel 0

  # The following line is the really important step,
  # it tells the webserver that the user "nagiosadmin" has
  # successfully authenticated and is sending the request,
  # regardless who is sending it really.

  RewriteRule     /nagvis/ - [E=REMOTE_USER:nagiosadmin]

.htaccess

A second way to "disable" the authentication is setting the variable REMOTE_USER via .htaccess file. Place a file called .htaccess with the following content in the NagVis root directory:

SetEnv REMOTE_USER nagiosusername

The background image is not displayed

Question: The background image is not visible, only a placeholder (e.g. a red x or a white background) is displayed by the browser

Answer: It is likely that your PHP memory limit is too low. Increase "memory_limit" in your php.ini file e.g. memory_limit = 24M.

Can I add an external URL to the map rotations?

Question: I have another webpage which shows some interesting information. Can I add this page to the map rotations?

Answer: Yes, you can. You can add the URL to the comma separated map list ("maps" parameter). The URL has to be enclosed by [ and ]. In this mode NagVis tries to read the contents of that URL and parses the HTML code on the NagVis page. So NagVis needs access to the webpage.

The NagVis Automap does not load

Question: When I open the new automap of NagVis 1.3 the request results in a blank page or some curious error message. What can I do?

Answer: At the first step you should take a look at the last lines of your web server's error log. On my system this is "/var/log/apache2/error_log". If there is something like

Fatal error: Allowed memory size of  bytes exhausted at ...

This is the result of a memory limit set too low. You have to increase the memory_limit in your php configuration (For details see php.ini documentation).

The NagVis Automap shows only imageNotExists

Question: When I open the Automap of NagVis it only displays the error message "imageNotExists". The web server's error_log shows a message like this: "Error: Layout was not done. Missing layout plugins?". What to do?

Answer: There are some plugins of Graphviz missing. Maybe the needed plugins (e.g. for png rendering) are not installed. In some packages these plugins just are not configured. To configure the plugins you can simply execute "# dot -c".

The date/time is shown wrong in NagVis

See the FAQ below.

Problem with timezone settings

Question: The hover menu is not displayed. An alert message is shown:

Error in ajax request handler:
Error: (2048) date() [function.date]: It is not safe to rely
on the system's timezone settings. Please use the date.timezone
setting, the TZ environment variable or the
date_default_timezone_set() function. In case you used any of those
methods and you are still getting this warning, you most likely
misspelled the timezone identifier. We selected 'Europe/Berlin' for
'CEST/2.0/DST' instead

Answer: The PHP date and time functions have been rewritten in PHP 5.1. Since these rewrite you have to set the timezone in your system. This could be done in PHP code, in php.ini (date.timezone) or the cleanest way: system wide through the TZ environment variable. Get this working, restart your webserver and the error will be gone.

Only a white page is displayed when calling NagVis in the browser

Question: There is only a white page in the browser when I call an URL of NagVis.

Answer: There seems to be a problem with some PHP proceeding. At first you should take a look at your webserver's error log.

Maybe you see a message like "memory limit exceeded". That's because of the NagVis pages need more memory while building than PHP can allocate. To fix this you can try to increase the memory of your PHP installation. This can be done by editing the value of memory_limit in your php.ini.

Where can I find nice images for the shapes on my maps?

Question: I'd like to draw some shapes on my maps but I don't have any license for drawing tools like Microsoft Visio. Where can I get free shapes for visualizing my IT infrastructure?

Answer: Here are some pages which contain nice images: