move executable scripts to scripts/
[linksys-wrt3g-tools.git] / scripts / munin.php
diff --git a/scripts/munin.php b/scripts/munin.php
new file mode 100755 (executable)
index 0000000..2b7a9e9
--- /dev/null
@@ -0,0 +1,73 @@
+#!/usr/bin/env php
+<?php
+/**
+* munin node output for the router status
+*
+* PHP version 5
+*
+* @category Tools
+* @package  linksys-wrt3g-tools
+* @author   Christian Weiske <cweiske@cweiske.de>
+* @license  AGPL v3
+* @link     http://cweiske.de/linksys-wrt3g-tools.htm
+*/
+require_once dirname(__FILE__) . '/config.php';
+require_once 'Wrt3g.php';
+
+if (isset($argv[1]) && $argv[1] == 'autoconf') {
+    echo "yes\n";
+    exit();
+} else if (isset($argv[1]) && $argv[1] == 'config') {
+    echo <<<TXT
+graph_title WRT3G router status
+graph_args --base 1000 -l 0 --upper-limit 7
+graph_vlabel Status values
+graph_category network
+graph_info This graph shows the status of WRT3G router
+conn_connected.label Connected
+conn_connected.info Router is connected
+conn_connected.draw LINE2
+conn_connecting.label Connecting
+conn_connecting.info Router is connecting
+conn_connecting.draw LINE2
+conn_disconnected.label Disconnected
+conn_disconnected.info Router is disconnected
+conn_disconnected.draw LINE2
+notavailable.label Not available
+notavailable.info Router cannot be reached
+notavailable.draw LINE2
+type_gprs.label GPRS
+type_gprs.info Connection via GPRS
+type_gprs.draw LINE2
+type_umts.label UMTS
+type_umts.info Connection via UMTS
+type_umts.draw LINE2
+
+TXT;
+    exit();
+}
+
+
+try {
+    $w = new Wrt3g();
+    $arStatus = $w->getStatus();
+
+    $conn = $arStatus['connection'];
+    if ($conn == 'disconnected') {
+        echo "conn_disconnected.value 1\n";
+    } else if ($conn == 'connecting') {
+        echo "conn_connecting.value 2\n";
+    } else if ($conn == 'connected') {
+        echo "conn_connected.value 3\n";
+    }
+
+    $type = strtolower($arStatus['type']);
+    if ($type == 'gprs') {
+        echo "type_gprs.value 4.5\n";
+    } else if ($type == 'umts') {
+        echo "type_umts.value 5\n";
+    }
+} catch (Exception $e) {
+    echo "notavailable 0.5\n";
+}
+?>
\ No newline at end of file