danielmarschall / vnag
VNag - 使用 PHP 开发 Nagios 插件框架
dev-master
2024-04-29 11:03 UTC
Requires
- php: >=7.0
This package is auto-updated.
Last update: 2024-09-29 12:45:35 UTC
README
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)证书文件达到特定年龄时发出警告。
用例图
- 简单用例:Nagios/CLI检查对象
- 扩展用例:Nagios/CLI检查对象,用户还可以在网页浏览器中查看状态
- 更扩展用例:Nagios/CLI检查对象,用户还可以在网页浏览器中查看状态,并且另一个Nagios/CLI实例可以远程访问主Nagios/CLI的输出
创建您自己的插件
要创建自己的插件,您可以查看现有插件的源代码以获取灵感,并将它们用作模板。
此外,在doc/Plugin_Development.md中还可以找到一些小型文档。
如果您已创建有用的插件,我们很乐意您能与我们一起分享!