VNag - 使用 PHP 开发 Nagios 插件框架

dev-master 2024-04-29 11:03 UTC

This package is auto-updated.

Last update: 2024-09-29 12:45:35 UTC


README

VNag

VNag (ViaThinkSoft Nagios) 是一个 PHP 框架,允许开发与 Nagios 兼容系统(例如 Icinga2)的插件,遵循 开发指南

下载包包含文档、示例和许多新插件,例如检查 WordPress 安装。

除了开发常规的 Nagios/Icinga 插件(通过 CLI 调用 PHP),您还可以开发通过 HTTP 服務的插件。

  • 这些插件可以通过 HTTP 服务器(例如 Apache)显示在用户的浏览器中。除了 Nagios 的输出(摘要、详细信息和性能数据)外,还可以添加用户定义的 HTML 输出,例如使用更多图表、图片等来完善 Nagios 的输出。只需一个代码库即可!

  • Web 输出包含一个隐藏的机器可读部分,可以通过 VNag 的 "WebReader" 插件读取。WebReader 插件读取机器可读部分,并以 Nagios 可读的输出格式输出数据。这样,您可以在没有 shell 访问和/或没有安装 Nagios 的系统上监视 WordPress 版本等。

  • 还可以创建仅包含机器可读部分的网站(即您可以将您的 VNag 输出包含到现有的网站中)。此机器可读部分可以选择性签名和/或加密。

包含的插件

VNag 预装以下插件(在 bin 目录中)

  • 4images_version:检查 4images 安装更新。
  • aastra_430_voicemail:检查 Aastra 430 电话系统的新语音邮件。
  • disk_running:检查没有 SMART 功能的硬盘是否在线。
  • file_timestamp:当文件在特定间隔/年龄内未修改时发出警告。
  • gitlab_version:检查 GitLab 安装更新。
  • hp_smartarray:检查 HP SmartArray RAID 控制器的磁盘和控制器状态。
  • ipfm:检查 "ipfm" 工具的日志文件,当测量的流量超过给定限制时发出警告。
  • joomla_version:检查 Joomla 安装更新。
  • last:检查 "last" 工具的输出,并在检测到可疑 IP 地址的登录时发出警告。
  • mdstat:解析 "/proc/mdstat" 的输出,并在 RAID 数组中的驱动器失败时发出警告。
  • mediawiki_version:检查 MediaWiki 安装更新。
  • megaraid:检查 MegaRAID (MegaCLI64) RAID 数组是否存在降级数组、SMART 警告或电池故障。
  • minecraft_java_version:检查本地 Minecraft Java 服务器版本更新。
  • net2ftp_version:检查 net2ftp 安装更新。
  • nextcloud_version:检查 Nextcloud 安装更新。
  • nocc_version:检查 NOCC 邮件安装更新。
  • openbugbounty:检查您的域名是否在 OpenBugBounty.org 上列出。
  • open_deleted_files:检查是否存在具有打开文件句柄的已删除文件(泄漏磁盘空间)。
  • owncloud_version:检查 ownCloud 安装更新。
  • phpbb_version:检查 phpBB 安装更新。
  • phpmyadmin_version:检查 phpMyAdmin 安装更新。
  • ping:ping 主机名或 IP 地址。
  • pmwiki_version:检查 PmWiki 安装更新。
  • roundcube_version:检查 RoundCube 安装更新。
  • smart:检查硬盘的 SMART 属性,并在检测到不良属性时发出警告。
  • viewvc_version:检查ViewVC安装的更新。
  • virtual_mem:检查虚拟内存(物理内存 + 交换空间)的数量。
  • webreader:读取通过HTTP传输的另一个VNag插件输出。
  • websvn_version:检查WebSVN安装的更新。
  • wordpress_version:检查WordPress安装的更新。
  • x509_expire:当X.509(PEM)证书文件达到特定年龄时发出警告。

用例图

  1. 简单用例:Nagios/CLI检查对象
  2. 扩展用例:Nagios/CLI检查对象,用户还可以在网页浏览器中查看状态
  3. 更扩展用例:Nagios/CLI检查对象,用户还可以在网页浏览器中查看状态,并且另一个Nagios/CLI实例可以远程访问主Nagios/CLI的输出

创建您自己的插件

要创建自己的插件,您可以查看现有插件的源代码以获取灵感,并将它们用作模板。

此外,在doc/Plugin_Development.md中还可以找到一些小型文档。

如果您已创建有用的插件,我们很乐意您能与我们一起分享!