PHPackages                             danielmarschall/vnag - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. danielmarschall/vnag

ActiveLibrary[Framework](/categories/framework)

danielmarschall/vnag
====================

VNag - Framework for developing Nagios plugins with PHP

0355PHP

Since May 4Pushed 4d ago1 watchersCompare

[ Source](https://github.com/danielmarschall/vnag)[ Packagist](https://packagist.org/packages/danielmarschall/vnag)[ RSS](/packages/danielmarschall-vnag/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

[![VNag logo](logos/vnag_logo_400.png "VNag")](https://www.viathinksoft.com/projects/vnag "VNag")

**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").

The download package contains documentation, examples and many new plugins, e.g. to check WordPress installations.

Beside developing normal Nagios/Icinga plugins (PHP will be called via CLI), you can develop plugins which are additionally served over HTTP.

- 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!
- 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.
- 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.

Included plugins
----------------

[](#included-plugins)

VNag comes with the following plugins pre-installed (in the bin directory):

- **4images\_version**: Checks 4images installations for updates.
- **aastra\_430\_voicemail**: Checks Aastra 430 phone system for new voicemails.
- **disk\_running**: Checks if harddisks which do not have SMART capability are online
- **file\_timestamp**: Warns when files are not modified withhin a specific interval/age.
- **gitlab\_version**: Checks GitLab install~ations for updates.
- **hp\_smartarray**: Checks disk and controller status of HP SmartArray RAID controllers.
- **ipfm**: Checks the log files of the tool "ipfm" and warns when the measured traffic exceeds a given limit.
- **joomla\_version**: checks Joomla installations for updates.
- **last**: Checks the output of the tool "last" and warns when logins from suspicious IP adresses are detected.
- **mdstat**: Parses the output of "/proc/mdstat" and warns when drives inside a RAID array have failed.
- **mediawiki\_version**: Checks MediaWiki installations for updates.
- **megaraid**: Checks MegaRAID (MegaCLI64) RAID arrays for degraded arrays, SMART warnings, or failing batteries.
- **minecraft\_java\_version**: Checks the version of a local Minecraft Java server for updates.
- **net2ftp\_version**: Checks [net2ftp](https://www.net2ftp.com/) installations for updates.
- **nextcloud\_version**: Checks Nextcloud installations for updates.
- **nocc\_version**: Checks NOCC webmail installations for updates.
- **openbugbounty**: Checks if your domains are listed at OpenBugBounty.org.
- **open\_deleted\_files**: Checks if there are deleted files which have open file handles (leaked disk space).
- **owncloud\_version**: Checks ownCloud installations for updates.
- **phpbb\_version**: Checks phpBB installations for updates.
- **phpmyadmin\_version**: Checks phpMyAdmin installations for updates.
- **phppgadmin\_version**: Checks phpPgAdmin installations (original or ReimuHakurei fork) for updates.
- **ping**: Pings a hostname or IP address.
- **pmwiki\_version**: Checks PmWiki installations for updates.
- **roundcube\_version**: Checks RoundCube installations for updates.
- **smart**: Checks the SMART attributes of harddrives and warns when bad attributes are detected.
- **synflood**: Checks for SYN\_RECV flooding.
- **viewvc\_version**: Checks [ViewVC](https://github.com/viewvc/viewvc/) installations for updates.
- **virtual\_mem**: Checks the amount of virtual memory (physical memory + swap).
- **webreader**: Reads the output of another VNag plugin transferred over HTTP.
- **websvn\_version**: Checks [WebSVN](https://github.com/websvnphp/websvn/) installations for updates.
- **wordpress\_version**: Checks WordPress installations for updates.
- **x509\_expire**: Warns when X.509 (PEM) certificate files reach a specific age.

Use-case diagrams
-----------------

[](#use-case-diagrams)

1. [Simple case](doc/vnag_model_1.png "Simple case"): Nagios/CLI checks an object
2. [Extended case](doc/vnag_model_2.png "Extended case"): Nagios/CLI checks an object, and a user can additionally view the status in a web-browser
3. [More extended case](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

Create your own plugins
-----------------------

[](#create-your-own-plugins)

To create your own plugins, you can look at the source codes of the existing plugins to get inspiration and use them as templates.

Also, a small documentation is found in [doc/Plugin\_Development.md](https://github.com/danielmarschall/vnag/blob/master/doc/Plugin_Development.md).

If you have created useful plugins, we would be happy if you could share them with us!

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance65

Regular maintenance activity

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/e3a3ef0452f1d6ecc846289b368b332f61897b6381e947a3635e733be23f6f54?d=identicon)[danielmarschall](/maintainers/danielmarschall)

---

Top Contributors

[![danielmarschall](https://avatars.githubusercontent.com/u/28412477?v=4)](https://github.com/danielmarschall "danielmarschall (101 commits)")

### Embed Badge

![Health badge](/badges/danielmarschall-vnag/health.svg)

```
[![Health](https://phpackages.com/badges/danielmarschall-vnag/health.svg)](https://phpackages.com/packages/danielmarschall-vnag)
```

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M190](/packages/laravel-telescope)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M255](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M591](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M119](/packages/cakephp-chronos)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
