/trunk/plugins/net2ftp_version/Net2FtpVersionCheck.class.php |
---|
1,26 → 1,26 |
<?php /* <ViaThinkSoftSignature> |
lExJowQmx58MVA6MsmRUWBXI3PT7vScRq6WfY82k/2gX71+VIIIoAP7CR+RC2F9t1 |
gSxNUoNAtbwtJry6OSlnKl9Eg/RLmGUFFTuw9J7flX5zBnZwejquWSfvQM3AhkFLe |
0zNLNhaD56gceVrquJzaXqIPdfCSfpPZU0Mo+FvrvbpfTUlMsbabb2Aesxy+Xr0JL |
e2a97WXlUdeBKVZQANbjNzArtUgtvkkrIzZOenZ0LLmVvyYQ5oJ6Vlj/dymRyMCzI |
tSJFr3e9XdCAyoNOwbjbOTaylYCZYR7lz6pU1gyUyrFrLaVsfMolZouX8t2HzJp1K |
ew4GnJ52106GjjXynkMsvry4195S4XrWoWchbbK5FGKKCJXoJK5Mmn/b9IlUBTrQf |
osJ9CWjI6K9iEVVNWr6UxyABOqfQokzbqTCf7Az/3kJcLqwk9oB2Y67NiwQgM0eek |
nTZdO4KKzLvD3IYrKfhnzXJN4hUz+KE3AsMGXpmSy8ovDYNZtY/Rbs49K8ZlJGqSZ |
P/WErF3laGosOnLAmosT8mdUM8pF54sH1Ve57lN4HdDH0Ro1qOWljAB9LridDxj/B |
qp5ZTJ89sz/RC6XIVYBJ0rNfg41BhXIEQ3OcVQ2UddgySXUri0J/K/acgpwLa2DB1 |
8l+L7hxox97647hOybj2QWAtbg6l7CffU5sIdw/8fRnuorlmNdnKcqguFynpt3d2c |
zKSRmjJdqXEQFMxnz5Toc6BBNRMjl1RLIjyImfiagdP15eDIRnH7ARn6KEmJSDWsR |
nsAFXFavn4kc4mkIyf+hef9Dn86wGYP5lJITuFwwz3V5i5PDXwBgkB5Z29qXA1jkg |
Bu3GwWKrASpaN6+VxNrZlvLot+BLFPbpDdpGl0hGYcUm2VhDmtE7ZJqILuLkTqc2t |
bGOhtF6kDyyhKU5jaiMOUtq4x8lPhDCMXdLd5Jyf6pIUTJbKt5nnsG/R0avpVgacc |
KpB3lrpLOF4lI3PyMxMuekoAhXmeRIUcH6fw/k25dfb71FSFiqXpDajYbZGbkSo1I |
KKV2VbiAxzE0v6gKDvFNlSNbFwCVshxPHk0jx332qkNecgLKUGOgoXtL/3urjqbv1 |
M/40Ci+G+2Wb4uvQ6x8SJZ7f69OxyHr4h7Hrx+MthqoEPDuQKsixw63LjwPbzCXOb |
ePysuJrIiy0IqxsUbLSiIBSW7AQkdwcHdmj39vuW+t/Swek5XK7CAu3+lY3LeMC20 |
BzgDvUlWohWq7EPTpY2hhjrGvs66sLRPIgbquXB3yo8dfzjHrfwYd3qhjLAUPvepW |
PcL+UXgnr+ViOyRjfukNsfruULKvWWs0kaiGbWj5hU+IJoGo3tqK8xtf7ed8VZacu |
w== |
kaYU5Ej07R4JWIYY77+1u7d9Z/suFEbhvcni+GKz0Y7j5W4RUkmYNGW72dwGJODn3 |
4cbFalcSOJ1X+6RSelabpkRbEAT7xJDYIsZKq4n28PrYYmVoHLgAlQpTC36iFRxqG |
NsZuDj8iAOaBiaUlB30denRyvP6YYIdFa0hlHY4nK3eqptbS9F5PTxtjB1reHwTOK |
F4kEhznuZY5POdGnrRNAlB4s5wc70Qqn6JiRtZHtKU1reX//Jdq3FP2HAc82P4izE |
AZsmJbY5dQwa7YMWe4n9AcWHyXr08zbHqYCzCTgEmLgPv0Z4RsBXSMq9JfseHl19i |
R8mCQF91/N1vMpnSRhmBEj5p331jHcCwe3w7eQHFJriT8zNosRkeBTYGEowNI3EcO |
nYRgWfxdpBujU/Q1ES2P/te8efclnVdCGfhlOK21Y6qj9P45mZdnqS1C2YT498N3s |
AYrl5q793aujZyZ+tZ6SzVTsb7EYYGXkjMmkqFsz1sLNe4Mwmku1gVo1dZKqF/j+8 |
tSl8RgHA5NUzu2m+Rhu14CnBQ36904vN1I/dpbAYnk+9tbCNywuPlPaJtpTpmPQtb |
TyhZTdL+0SK90O4IhFcEugFBsw+b7LnaqOPw7GwOHXBHWM9xePZ6r0K49/0rwvMyH |
1j0096b+EAw/hCOf3ic9cZh/rpO9IcOcOJI0zsR0Mta1dzujnzjY66VPt0TCYjWPu |
chqcU2Re8YuSmIsmkHWOuEJRVDYE/h/2yHNdcdo2ev90DYIjP95UHi9ZxCKoJDEG2 |
aac0WcNMrxEFgmYM8p8v4Bg96x0o+Y16xxMc2T3NeT6E4HrZAx8Sq1hkl4+D0RRid |
ibXuzxERmDu+DFeA1d+WRLCv0vIFaQHVVx79HiA/U1TdMqbvSv6TPMEX3etjwo9gv |
4hZ4Io9npHprocFcLLPzgfCBmOGBinvmUGwnw+iVTTK08SVOTPPkT4sOdwiBgRysw |
F3Bj2O2qwOOkH+1lscTogldQQMvLYQaL6K3RvUHNede2yxnjowjfZBFLdZQVZvvhH |
cc1QuCqsrU9cmsUPSGd/hkvAlS1a2dk2TLPJTkchxb0Q/hEcl+zwYnW5ZMj8Uvbkj |
TFnI0XV6upG4WTF53ewPR4dZMfdBzboMFglDFGg7MJY6tkZzwrxTAFmVQSGCUgcVn |
rzL0NWyivR24OA8cQ2CRe3X4bmJQ4bHuZZf6dLLbbyJJV3x3QwFw1BQCUiJE1mBQH |
ZfOqsdqwmvVH76R6DStD1BakkjqfB/Q4A2ghRxTqsESMj/KcC1Rj0YL/RbWQGKWb0 |
b+OYXtEHghPQPLH9nUU6wH0pi4zG80rFG1nrOQTYEf4PfyqkdSAa5jK0HTxLIASpV |
g== |
</ViaThinkSoftSignature> */ ?> |
<?php |
29,7 → 29,7 |
* Developed by Daniel Marschall, ViaThinkSoft <www.viathinksoft.com> |
* Licensed under the terms of the Apache 2.0 license |
* |
* Revision 2018-07-15 |
* Revision 2022-12-18 |
*/ |
declare(ticks=1); |
53,7 → 53,7 |
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'net2ftpPath', 'The local directory where your net2ftp installation is located.')); |
} |
protected function get_net2ftp_version($path) { |
protected function get_local_version($path) { |
$path = realpath($path) === false ? $path : realpath($path); |
if (!file_exists("$path/settings.inc.php")) { |
62,7 → 62,7 |
$cont = @file_get_contents("$path/settings.inc.php"); |
if (!preg_match('@\$net2ftp_settings\["application_version"\]\s*=\s*"([^"]+)";@ismU', $cont, $m)) { |
if (!preg_match('@\\$net2ftp_settings\\["application_version"\\]\\s*=\\s*"([^"]+)";@ismU', $cont, $m)) { |
throw new Exception("Cannot determine version for system $path"); |
} |
69,19 → 69,7 |
return $m[1]; |
} |
protected function cbRun($optional_args=array()) { |
$system_dir = $this->argSystemDir->getValue(); |
if (empty($system_dir)) { |
throw new Exception("Please specify the directory of the net2ftp installation."); |
} |
$system_dir = realpath($system_dir) === false ? $system_dir : realpath($system_dir); |
if (!is_dir($system_dir)) { |
throw new Exception('Directory "'.$system_dir.'" not found.'); |
} |
$version = $this->get_net2ftp_version($system_dir); |
protected function get_latest_version() { |
$cont = @file_get_contents('https://www.net2ftp.com/version.js'); |
if (!$cont) { |
throw new Exception('Cannot parse version from net2ftp website. The plugin probably needs to be updated.'); |
99,6 → 87,24 |
$latest_beta = $m[1]; |
} |
return array($latest_stable, $latest_beta); |
} |
protected function cbRun($optional_args=array()) { |
$system_dir = $this->argSystemDir->getValue(); |
if (empty($system_dir)) { |
throw new Exception("Please specify the directory of the net2ftp installation."); |
} |
$system_dir = realpath($system_dir) === false ? $system_dir : realpath($system_dir); |
if (!is_dir($system_dir)) { |
throw new Exception('Directory "'.$system_dir.'" not found.'); |
} |
$version = $this->get_local_version($system_dir); |
list($latest_stable, $latest_beta) = $this->get_latest_version(); |
if ($version == $latest_stable) { |
$this->setStatus(VNag::STATUS_OK); |
$this->setHeadline("Version $version (Latest Stable version) at $system_dir", true); |
/trunk/plugins/overview |
---|
32,6 → 32,7 |
| website_monitor | (Discontinued) | - | - | | |
| wordpress_version | vnag_wordpress_version | No | Generic | | |
| | vnag_webreader | No | Generic | | |
| | vnag_websvn | No | Generic | | |
| | vnag_disk_running | No | Generic | For monitoring disks which do not have SMART functionality. | |
| | vnag_pmwiki_version | No | Generic | | |
| | vnag_gitlab_version | No | Generic | | |
/trunk/plugins/websvn_version/WebSvnVersionCheck.class.php |
---|
0,0 → 1,121 |
<?php /* <ViaThinkSoftSignature> |
xhl/K7K2NBjuGDzJ8SDyDfjnqVYQGqJYY8y/rSj2nQ2qB1UaPExnZbVeYXmkuuNHn |
0FYtsd797Xuz5VJrqTGE8FjIwYxW4wjuOn/AKdzI7EJIVah9inU52Nh9i/t1ZBBSj |
l6M6qn0Hr0gImkW4aPagZ5PVTW9D/kGyI01TiNY5lmXnDYnOIGwVTriOqEl1KWVaY |
Fy350Ji1UN5dh4EeA6UyvTCtTPHV7SwVOMTMSBnQSE1/6Tkr0ETMfUsSE/HA2pnp8 |
V9DKDj5US43AXTBZf7SUhLbsESzgVJBIX1LIUCSRWZC067GRhYpyOqzzb8Jx0GduQ |
5+cnZSckAsv4sjDra0blFjnfYS1mVO0vHY0n3wRANS4bqgodaBhmyN3lvzTK+Hf2N |
Ki1MAi91Pd8K81mrQ5EbB+TOVAH3w0p3DejtJrdLTQpYuq+pofQRvE8Ua3zBdBu+3 |
GWazom0drmFfdOrcWOLp9nMqJmF/GYXB1zbuSsi83amZFtaexZePsPjfFq/2Hx2Tb |
iO9Ivao5VKayqeUUzjb40/+9UYfNqz38BKp25SJELQBCyJjUQ4KVa3ugZPFu/79xD |
NAs33H1qEMOu99KFayelWamGg44th+MQuRQyF8JWYehYEPNA9TGHQoWKeH7E8GJkr |
qP291YkDhxSvmGjVIsgypSHrN29tleKE9RahtFzAFE8gpQT0xDLTirut8ecdHLqkc |
dmm15VS2X2oGCvrCkTCNhIucD+wweR0EJ1cOYUW0ET0hOlWgxEohCy65d4GXRvIf3 |
zgSf91dyv/Of2c6vtx+JEs8bGofkYNxrTGF6mUTb7NDW08xs4SiXbL91KB83kjLxX |
ATbeS+t6wTcm9op+82CCnb/VFt5TPeFhoCv1U2ETsAf4SvAsYumHfc+GggZi2wtUK |
JMpV41FgPUv51XiYfcCLUyCF2nxenr8sAOzVA8L3gGiqJQ3jf8rUTbp35eMIvAgU2 |
ut0w/gdtHym44ipjArNVYFS7X8OkEq6bMZ4P/wUBVm8t+WTNf7ra4Upybv5YX1QpT |
D6jmyGmb1ggDNstqj7rVRT6dYrbuNBPBhJV8As8oBUcW5BAeUWqCIJj44pyXOEH9Z |
pkgSanTgFUEqHAkg/NW/ah2/6CgPNb7xKdosgHSgXTvaROUBqBQ8AiQBnTjdduJTp |
1GYXcGOsix70/+DBH8MZW1ToP5FU2oAkiin+iEKe/XE6Ek506hhd0CvyLuIXtrScz |
4EYmjCEoXYyZb7f3l9yidIWz/HkmUIWc2RIq8bv9ygzF+6t6PZktBrztMC2jRkFbe |
vTtpxQWS485kKJO0s84IBNQXPUb+4Dpfy01OjJa8PXcYK4Ajp7DBt+jgLsFUMpCoV |
A== |
</ViaThinkSoftSignature> */ ?> |
<?php |
/* |
* VNag - Nagios Framework for PHP |
* Developed by Daniel Marschall, ViaThinkSoft <www.viathinksoft.com> |
* Licensed under the terms of the Apache 2.0 license |
* |
* Revision 2022-12-18 |
*/ |
declare(ticks=1); |
class WebSvnVersionCheck extends VNag { |
protected $argSystemDir = null; |
public function __construct() { |
parent::__construct(); |
$this->registerExpectedStandardArguments('Vht'); |
$this->getHelpManager()->setPluginName('check_websvn_version'); |
$this->getHelpManager()->setVersion('1.0'); |
$this->getHelpManager()->setShortDescription('This plugin checks if a local websvn system has the latest version installed.'); |
$this->getHelpManager()->setCopyright('Copyright (C) 2011-$CURYEAR$ Daniel Marschall, ViaThinkSoft.'); |
$this->getHelpManager()->setSyntax('$SCRIPTNAME$ [-d <directory>]'); |
$this->getHelpManager()->setFootNotes('If you encounter bugs, please contact ViaThinkSoft at www.viathinksoft.com'); |
// Individual (non-standard) arguments: |
$this->addExpectedArgument($this->argSystemDir = new VNagArgument('d', 'directory', VNagArgument::VALUE_REQUIRED, 'websvnPath', 'The local directory where your WebSVN installation is located.')); |
} |
protected function get_local_version($path) { |
$path = realpath($path) === false ? $path : realpath($path); |
if (!file_exists("$path/include/version.php")) { |
throw new Exception("Cannot find WebSVN settings file at $path"); |
} |
$cont = @file_get_contents("$path/include/version.php"); |
if (!preg_match('@\\$version = \'(.+)\';@ismU', $cont, $m)) { |
throw new Exception("Cannot determine version for system $path"); |
} |
return $m[1]; |
} |
protected function get_latest_version() { |
$url = 'https://api.github.com/repos/websvnphp/websvn/releases/latest'; |
$options = array( |
'http'=>array( |
'method'=>"GET", |
'header'=>"Accept-language: en\r\n" . |
"User-Agent: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.102011-10-16 20:23:10\r\n" |
) |
); |
$context = stream_context_create($options); |
$cont = file_get_contents($url, false, $context); |
if (!$cont) { |
throw new Exception('Cannot parse version from GitHub API. The plugin probably needs to be updated. A'); |
} |
$data = @json_decode($cont, true); |
if (!$data) { |
throw new Exception('Cannot parse version from GitHub API. The plugin probably needs to be updated. B'); |
} |
return $data['name']; // e.g. "2.8.1" |
} |
protected function cbRun($optional_args=array()) { |
$system_dir = $this->argSystemDir->getValue(); |
if (empty($system_dir)) { |
throw new Exception("Please specify the directory of the WebSVN installation."); |
} |
$system_dir = realpath($system_dir) === false ? $system_dir : realpath($system_dir); |
if (!is_dir($system_dir)) { |
throw new Exception('Directory "'.$system_dir.'" not found.'); |
} |
$local_version = $this->get_local_version($system_dir); |
$latest_stable = $this->get_latest_version(); |
if (version_compare($local_version,$latest_stable,'>')) { |
$this->setStatus(VNag::STATUS_OK); |
$this->setHeadline("Version $local_version (Latest stable version $latest_stable) at $system_dir", true); |
} else if (version_compare($local_version,$latest_stable,'=')) { |
$this->setStatus(VNag::STATUS_OK); |
$this->setHeadline("Version $local_version (Latest stable version) at $system_dir", true); |
} else { |
$this->setStatus(VNag::STATUS_WARNING); |
$this->setHeadline("Version $local_version is outdated (Latest version is $latest_stable) at $system_dir", true); |
} |
} |
} |
/trunk/plugins/websvn_version/check_websvn_version |
---|
0,0 → 1,43 |
#!/usr/bin/php |
<?php /* <ViaThinkSoftSignature> |
zG+SMY7yy4L7Orhm0vmFe1Y3jA+a1XAWbCM0brMMPzXvhZ6Vz/dMb57e/9QFyUgdj |
2u8RERhxYm2x/wopfb12Ii03fqC1UZt/OdmHIMfiLdf11kp+jc5nSdvL/c1DgaC0j |
e7of7ncSHQ2UKbO1zFZBwsRei69U6ZeDWoXpfjFZY8ojTDUlVsuEzC2T3V7v7+4sR |
juDmNcc71ZSMmNQDSPbJFt04kpGAenlZmpPa4nTJprJQAjmt4s2Z5xa91HWDXncp/ |
GvbAjsMxUc5g5QQMwsEDFVj9PzoTJvSvinGyJwncUUIR9SMaPJBC++GznjNrhnDOC |
3MPsEiXQG6qb+T9vLVQHyWSa3DrkBj7eWOVEnN4lylvgod/PUnHBXKY4myFFhYW+o |
PNn/zcn+fVPoAGFZn2zmFsJCw6o5pruGPMUEoMTJ4O3V/uYMYNkNXkDWFjhdfPglS |
5In+bU1ab1hT/wJgqAx3HOp1bycfgiA7SpsV9C2p/w3Jv7bhr2Wmvn5w9xvt/biuj |
RZ9tlbE0sAvtUQxhkrjTdb+nVA70FVCu+0cLaS3dUXn1Z2f9KxGIIL8XU141HkT+l |
g6biAa5r1LObKKWbAjnNg6z8PoOwfAf/h1EP/VTbpicNrC+lkJ2gxR4iDNB6N8ndB |
7xg6j3UyTFKftiPxxnUwXoPb5zO0dQa3ER9+SLGgWFQFJk9S3SwvKGLupTl2KCun9 |
kPTG4wlq/QyDMxwXI2g8KdqmHmr5SwjLmRDr6x09rR7zbrV9SRmGDmeInbzSGV/kY |
ohxIXSfknzRbKUwyewEEgVvuS58NFzsXDv+CJe8BWfXmc4ZgBrxUx05HWq3I0Ju99 |
zRvGMMXN6XY2apitbPVE1NwDLDWCVTelEqhOtcUiQtJkLCHDsNouuBV+PiQHNt6R+ |
kYtbva4K+fhw3dXzDKBuUc9Rj/1pEGC+vUdTE2p8lvzhXp46q8Zt9ve225Y0J4SZu |
7QWxjg7e2MWHaDbP8PAYu+havSm6oNSQL51Ov4iGWStubujYLyUcOdjcrCwObOytx |
yfz6g7GGUiItNXCVB8t4Nh1bz0zhvpvz0sOGX/LP2PSLSAUjCjLRLfNeJI1D8ONK7 |
CJfwrEmO3U+ma6VSxy4Zop4BTf/8LsItW25eDcOfVQ194gRtBm9+FZ1GSyKqzig9j |
imQR/RnlmfVroLbCPw5ILje9HO7BENx3fhCHnnkhgJEM340oNQtjaXMM5eJTae5Ue |
P2vUOEgCkAQz6D2Z26HdNQpw70VK3wk1FR1WiPRh6PFRZcQ+81rciToLU37Wu49lp |
qT/ossrEN3siX0MD7k/rT00+EDxrimCQXEaJ19CSIhaDVtqIA6Omo0Z+6MLpkGdBk |
w== |
</ViaThinkSoftSignature> */ ?> |
<?php |
/* |
* VNag - Nagios Framework for PHP |
* Developed by Daniel Marschall, ViaThinkSoft <www.viathinksoft.com> |
* Licensed under the terms of the Apache 2.0 license |
* |
* Revision 2022-12-18 |
*/ |
declare(ticks=1); |
require_once __DIR__ . '/../../framework/vnag_framework.inc.php'; |
require_once __DIR__ . '/WebSvnVersionCheck.class.php'; |
$job = new WebSvnVersionCheck(); |
$job->run(); |
unset($job); |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/trunk/plugins/websvn_version/icinga2.conf |
---|
0,0 → 1,49 |
// Put this file in /etc/icinga2/conf.d/... |
// VNag - Nagios Framework for PHP |
// Developed by Daniel Marschall, ViaThinkSoft <www.viathinksoft.com> |
// Licensed under the terms of the Apache 2.0 license |
// |
// Revision 2022-12-18 |
object CheckCommand "vnag_websvn_version" { |
// PLEASE ADJUST THIS PATH |
command = [ "/daten/vnag/plugins/websvn_version/check_websvn_version" ] |
arguments = { |
"-d" = { |
value = "$vnag_websvn_version_dir$" |
description = "Location where the WebSVN installation is located" |
required = true |
} |
} |
} |
// Example usage: |
// |
// apply Service "example_website1_websvn_version" { |
// import "generic-service" |
// check_command = "vnag_websvn_version" |
// vars = { |
// vnag_websvn_version_dir = "/var/www/website1/websvn/" |
// } |
// assign where host.name == NodeName |
// } |
// |
// apply Service "example_website2_websvn_version" { |
// import "generic-service" |
// check_command = "vnag_websvn_version" |
// vars = { |
// vnag_websvn_version_dir = "/var/www/website2/websvn/" |
// } |
// assign where host.name == NodeName |
// } |
// |
// apply Service "example_website3_websvn_version" { |
// import "generic-service" |
// check_command = "vnag_websvn_version" |
// vars = { |
// vnag_websvn_version_dir = "/var/www/website3/websvn/" |
// } |
// assign where host.name == NodeName |
// } |