Extension:NagVis
This extension is currently not actively maintained! Although it may still work, any bug reports or feature requests will more than likely be ignored. |
NagVis Release status: unmaintained |
|
---|---|
Implementation | Tag |
Description | Add NagVis maps to MediaWiki pages |
Author(s) | Felipe Muñoz Brieva (felipe@delegacionprovincial.com) |
MediaWiki | Tested on 1.7, 1.13, 1.14, 1.18, 1.24 |
License | GNU General Public License 2.0 or later |
Download | Download Check extension GitHub: Note: |
Article publised about this extension Telemedicine: Using wikis for monitoring systems |
NagVis is an extension for add NagVis maps to MediaWiki pages. Icons map will be updated automatically and status will be pull from Nagios/Icinga/NagVis servers.
NagVis is a visualization addon for the well known network management systems Nagios and Icinga.
Introduction
editUsually people monitor a lot of host/services, system administrators spend a lot of time solving trivial problems and a lot alarms/warning can be solved by end user.
If we join a wiki (Mediawiki) for documentation and Icinga/Nagios/NagVis for monitoring, we obtain a powerful tool. System administrator can create instructions, Icinga/Nagios/NagVis reports status and end user can adapt instructions to their needs. (Also you can use Grafana extension to create beautiful metrics & analytics dashboards updated in realtime)
Check usage
editInstallation
edit- Download the extension (tgz) or (zip).
- Upload NagVis directory to your extensions directory from the root of your MediaWiki installation.
- Add
require_once "$IP/extensions/NagVis/NagVis.php";
to your LocalSettings.php file (near the end). - Done
Usage
editTo insert a NagVis map add the tag on any page (only one tag per wiki page):
<NagVis showheader=(yes/no) urlnagvis=nagvis_server urlmonitor=(nagios/icinga)_server map=map_name >
Header map title
</NagVis>
Tag attributes
editThe following arguments (tag attributes) can be used to control <NagVis>
tags:
- showheader (yes/no)
- Show header with time to refesh map, links to NagVis map and Nagios/Icinga server.
- urlnagvis
- NagVis url (Extension will check if it's a correct NagVis site)
- urlmonitor
- Nagios/Icinga url (Mandatory from NagVis 1.6)
- map
- Map name in NagVis
- mapBackground
- NagVis map background (if map name and map background are different, see example)
- nagvispath
- Web path to NagVis
- cgibinpath
- cgi-bin path (Param htmlcgi in nagvis.ini.php)
- system
- Icon for monitoring system. (Values: nagios/icinga and default value is icinga) (optional)
Example
edit<NagVis
map=WikiMap
mapbackground=WikiBackgrund.jpg
urlnagvis=http://your_server/nagvis/frontend/nagvis-js/index.php
urlmonitor=http://your_server/icinga2-classicui
showheader=yes
nagvispath=/nagvis
cgibinpath=/cgi-bin/icinga2-classicui
system=icinga>
Title map (NagVis with Mediawiki)
</NagVis>
Notes about authentication
edit* Important: Before making changes you must read Apache, Nagios, Icinga and NagVis about security risks and recomendations.
MediaWiki must be able to pull status without user authentication so you must change your webserver setup. There are several solutions and your configuration could be different depending on your security needs.
Configuration: example for connecting NagVis without password
edit- Create a NagVis user with role Users (read only)
- Add user to nagvis.conf (in Debian/Ubuntu is located on /etc/apache/conf.d) SetEnv REMOTE_USER user
...
</IfModule>
</Directory>
SetEnv REMOTE_USER user
Configuration: example for connecting Nagios/Icinga with guest user and password
edit1. Create guest user for Icinga (Debian/Ubuntu)
editAdd guest user:
htpasswd /usr/local/icinga/etc/htpasswd.users guest
Enable guest user for Icinga at /usr/local/icinga/etc/cgi.cfg, uncomment following:
default_user_name=guest
add guest in followings lines:
authorized_for_all_services=icingaadmin,guest authorized_for_all_hosts=icingaadmin,guest
Restart icinga:
/etc/init.d/icinga restart
2. Create guest user for icinga2-classicui (Debian/Ubuntu)
editAdd guest user:
htpasswd /etc/icinga2-classicui/htpasswd.users guest
Add guest in /etc/icinga2-classicui/cgi.cfg:
authorized_for_all_services=icingaadmin,guest authorized_for_all_hosts=icingaadmin,guest
3. Create guest user for Nagios (Debian/Ubuntu)
editAdd guest user:
htpasswd /usr/local/nagios/etc/htpasswd.users guest
Enable guest user for Nagios at /usr/local/nagios/etc/cgi.cfg, uncomment following:
default_user_name=guest
add guest in followings lines:
authorized_for_all_services=nagiosadmin,guest authorized_for_all_hosts=nagiosadmin,guest
Restart nagios:
/etc/init.d/nagios restart
Configuration: example for connecting Nagios/Icinga without password
editModify nagios.conf or icinga.conf for apache (ex: Debians servers: /etc/apache2/conf.d/nagios.conf) in all your Nagios/Icinga servers:
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin" <Directory "/usr/local/nagios/sbin"> Options ExecCGI AllowOverride All Order allow,deny AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user Allow from MediaWiki_Server_IP, Authorized_Users_IP SetEnv REMOTE_USER guest Satisfy Any </Directory> Alias /nagios "/usr/local/nagios/share" <Directory "/usr/local/nagios/share"> Options None AllowOverride All Order allow,deny AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user Allow from MediaWiki_Server_IP, Authorized_Users_IP SetEnv REMOTE_USER guest Satisfy Any </Directory>
Allow From:
- MediaWiki_Server_IP
- IP address of your MediaWiki Server
- Authorized_Users_IP
- IP address of users who connect to Nagios/Icinga without password
IP's not included in Allow from should introduce an authorized (Nagios/Icinga) user for pages with NagVis Tag
Screenshots (Examples)
edit- NagVis tag with argument showheader=yes:
- NagVis tag with argument showheader=no
- When you move the mouse over icons in the maps you get data from Nagios/Icinga/NagVis server:
Credits
editThis extension uses the following software:
- PHP Simple HTML DOM Parser at http://simplehtmldom.sourceforge.net/
and works with:
- Nagvis http://nagvis.org
- Icinga https://www.icinga.org/
- Nagios https://www.nagios.org/
Versions
edit1.08:
- Updated to:
- NagVis: 1.7 and 1.8 branches
- Tested on:
- Mediawiki: 1.24.1
1.06:
- Updated to:
- NagVis: 1.6 branch
- Tested on:
- Mediawiki: 1.18
1.04:
- Updated to:
- NagVis: 1.4 branch
- Tested on:
- Mediawiki: 1.14
1.02:
- Updated to:
- NagVis: 1.3 branch
1.0:
- Tested on:
- Mediawiki: 1.7 and 1.13
- NagVis: 1.3rc3