Subversion Repositories oidplus

Rev

Rev 1407 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
637 daniel-mar 1
 
2
[![VNag](https://raw.githubusercontent.com/danielmarschall/vnag/master/logos/vnag_logo_400.png "VNag")](https://www.viathinksoft.com/projects/vnag "VNag")
3
 
4
**VNag** (**V**iaThinkSoft **Nag**ios) is a framework for PHP which allows developing plugins for Nagios-compatible systems (e.g. Icinga2), following the [development guidelines](https://nagios-plugins.org/doc/guidelines.html "development guidelines").
5
 
6
The download package contains documentation, examples and many new plugins, e.g. to check WordPress installations.
7
 
8
Beside developing normal Nagios/Icinga plugins (PHP will be called via CLI), you can develop plugins which are additionally served over HTTP.
9
 
10
- The plugins can be shown via a HTTP-Demon (e.g. Apache) in user's browsers. Beside the output for Nagios (Summary, Verbose information, Performance data), user-defined HTML output can be added, e.g. to complete your Nagios output with more diagrams, pictures, etc. Only one code base is required!
11
 
12
- The web-output contains a hidden machine readable part, which can be read out with the "WebReader" plugin of VNag. The WebReader plugins reads the machine readable part and outputs the data in the output format which can be read by Nagios. This way, you can monitor things like WordPress version at systems where you have no shell access and/or without Nagios installed.
13
 
14
- It is also possible to create websites which only have a machine readable part (i.e. you include your VNag output in your existing website). This machine readable part can be optionally signed and/or encrypted.
15
 
16
Pre-Installed plugins
17
---------------------
18
 
1407 daniel-mar 19
VNag comes with the following plugins pre-installed:
637 daniel-mar 20
 
21
- **4images_version**: Checks 4images installations for updates.
1051 daniel-mar 22
- **aastra_430_voicemail**: Checks Aastra 430 phone system for new voicemails.
637 daniel-mar 23
- **disk_running**: Checks if harddisks which do not have SMART capability are online
24
- **file_timestamp**: Warns when files are not modified withhin a specific interval/age.
25
- **gitlab_version**: Checks GitLab install~ations for updates.
26
- **hp_smartarray**: Checks disk and controller status of HP SmartArray RAID controllers.
27
- **ipfm**: Checks the log files of the tool "ipfm" and warns when the measured traffic exceeds a given limit.
28
- **joomla_version**: checks Joomla installations for updates.
29
- **last**: Checks the output of the tool "last" and warns when logins from suspicious IP adresses are detected.
30
- **mdstat**: Parses the output of "/proc/mdstat" and warns when drives inside a RAID array have failed.
31
- **mediawiki_version**: Checks MediaWiki installations for updates.
1407 daniel-mar 32
- **megaraid**: Checks MegaRAID (MegaCLI64) RAID arrays for degraded arrays, SMART warnings, or failing batteries.
1051 daniel-mar 33
- **minecraft_java_version**: Checks the version of a local Minecraft Java server for updates.
34
- **net2ftp_version**: Checks [net2ftp](https://www.net2ftp.com/) installations for updates.
637 daniel-mar 35
- **nextcloud_version**: Checks Nextcloud installations for updates.
36
- **nocc_version**: Checks NOCC webmail installations for updates.
37
- **openbugbounty**: Checks if your domains are listed at OpenBugBounty.org.
1051 daniel-mar 38
- **open_deleted_files**: Checks if there are deleted files which have open file handles (leaked disk space).
637 daniel-mar 39
- **owncloud_version**: Checks ownCloud installations for updates.
40
- **phpbb_version**: Checks phpBB installations for updates.
41
- **phpmyadmin_version**: Checks phpMyAdmin installations for updates.
42
- **ping**: Pings a hostname or IP address.
43
- **pmwiki_version**: Checks PmWiki installations for updates.
44
- **roundcube_version**: Checks RoundCube installations for updates.
45
- **smart**: Checks the SMART attributes of harddrives and warns when bad attributes are detected.
1051 daniel-mar 46
- **viewvc_version**: Checks [ViewVC](https://github.com/viewvc/viewvc/) installations for updates.
637 daniel-mar 47
- **virtual_mem**: Checks the amount of virtual memory (physical memory + swap).
48
- **webreader**: Reads the output of another VNag plugin transferred over HTTP.
1051 daniel-mar 49
- **websvn_version**: Checks [WebSVN](https://github.com/websvnphp/websvn/) installations for updates.
637 daniel-mar 50
- **wordpress_version**: Checks WordPress installations for updates.
51
- **x509_expire**: Warns when X.509 (PEM) certificate files reach a specific age.
52
 
53
Use-case diagrams
54
-----------------
55
 
56
1. [Simple case](https://raw.githubusercontent.com/danielmarschall/vnag/master/doc/vnag_model_1.png "Simple case"): Nagios/CLI checks an object
57
2. [Extended case](https://raw.githubusercontent.com/danielmarschall/vnag/master/doc/vnag_model_2.png "Extended case"): Nagios/CLI checks an object, and a user can additionally view the status in a web-browser
58
3. [More extended case](https://raw.githubusercontent.com/danielmarschall/vnag/master/doc/vnag_model_3.png "More extended case"): Nagios/CLI checks an object, a user can additionally view the status in a web-browser, and another Nagios/CLI instance can remotely access the output of the primary Nagios/CLI
59
 
1416 daniel-mar 60
Create your own plugins
61
-----------------------
62
 
63
To create your own plugins, you can look at the source codes of the existing plugins
64
to get inspiration and use them as templates.
65
 
66
Also, a small documentation is found at the beginning of the file **framework/vnag_framework.inc.php**.
67
 
68
If you have created useful plugins, we would be happy if you could share them with us!