commit ed39ebe568b7245b8e06ed3550f6bc958ab46cb9 Author: Arne Baeumler Date: Mon Oct 5 11:28:14 2015 +0200 import base struct diff --git a/cgi-bin/graph.pl b/cgi-bin/graph.pl new file mode 100755 index 0000000..e9f1365 --- /dev/null +++ b/cgi-bin/graph.pl @@ -0,0 +1,24 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use RRDs; +use CGI; +use CGI::Carp qw(fatalsToBrowser); + +my $TMPLpath = "/var/www/mrtg/tmpl"; + +my $cgi = new CGI; +my $graph = $cgi->param('graph'); + +$|++; +print $cgi->header(-type => "image/png");# unless($ARGV[0]); + +if($graph) { + if(open(RRD,"<$TMPLpath/$graph.tmpl")) { + my @opts = ; + close(RRD); + chomp(@opts); + RRDs::graph("-",@opts) or die(RRDs::error); + } +} diff --git a/config/nas.cfg b/config/nas.cfg new file mode 100644 index 0000000..fe6078e --- /dev/null +++ b/config/nas.cfg @@ -0,0 +1,31 @@ +LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt +WorkDir: /var/www/mrtg/rrd +LogFormat: rrdtool + +Target[nas.eth0]: #eth0:jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn: +Title[nas.eth0]: [nas] eth0 +MaxBytes[nas.eth0]: 4294967295 + +Target[nas.tap0]: #tap0:jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn: +Title[nas.tap0]: [nas] tap0 +MaxBytes[nas.tap0]: 4294967295 + +Target[nas.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn + ssCpuRawSystem.0&ssCpuRawSystem.0:jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn + ssCpuRawNice.0&ssCpuRawNice.0:jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn +Title[nas.cpu]: [nas] CPU Load +MaxBytes[nas.cpu]: 100 +Options[nas.cpu]: gauge + +Target[nas.memtotal]: ( .1.3.6.1.4.1.2021.4.5.0&.1.3.6.1.4.1.2021.4.5.0:jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn ) - ( .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.6.0:jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn ) +Title[nas.memtotal]: [nas] Memory Usage +MaxBytes[nas.memtotal]: 409600 +Options[nas.memtotal]: gauge + +Target[nas.swap]:( .1.3.6.1.4.1.2021.4.3.0&.1.3.6.1.4.1.2021.4.3.0:jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn ) - ( .1.3.6.1.4.1.2021.4.4.0&.1.3.6.1.4.1.2021.4.4.0:jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn) +Title[nas.swap]: [nas] Swap Usage +MaxBytes[nas.swap]: 409600 +Options[nas.swap]: gauge + +Target[nas.temp]: .1.3.6.1.2.1.25.1.8&.1.3.6.1.2.1.25.1.8:jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn / 1000 +Title[nas.temp]: [nas] CPU Temperature +MaxBytes[nas.temp]: 20000 +Options[nas.temp]: gauge diff --git a/config/nas.ok b/config/nas.ok new file mode 100644 index 0000000..f5a7d8d --- /dev/null +++ b/config/nas.ok @@ -0,0 +1,14 @@ +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Descr eth0 2 +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Descr lo 1 +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Descr tap0 3 +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Eth 1 +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Eth b8-27-eb-8b-a7-b3 2 +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Eth ba-0f-a1-41-fa-ed 3 +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Ip 10.0.0.100 3 +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Ip 127.0.0.1 1 +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Ip 192.168.178.100 2 +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Name eth0 2 +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Name lo 1 +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Name tap0 3 +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Type 24 1 +jai3hoiv6aiNg5eikaezie1aengeen7o@nas.vpn_ Type 6 Dup diff --git a/config/oid-mib-cache.txt b/config/oid-mib-cache.txt new file mode 100644 index 0000000..138e220 --- /dev/null +++ b/config/oid-mib-cache.txt @@ -0,0 +1 @@ +ssCpuRawUser 1.3.6.1.4.1.2021.11.50 diff --git a/htdocs/index.html b/htdocs/index.html new file mode 100644 index 0000000..f90d639 --- /dev/null +++ b/htdocs/index.html @@ -0,0 +1,118 @@ + + + + MRTG Index Page + + + + + + + + + + +

MRTG Index Page

+ +

br0tkasten.de

+
+
+ [br0tkasten.de] eth0
+
br0tkasten.eth0 Traffic Graph
+
+
+ [br0tkasten.de] tap0
+
br0tkasten.tap0 Traffic Graph
+
+
+ [br0tkasten.de] Active CPU Load %
+
br0tkasten.cpu Traffic Graph
+
+
+ [br0tkasten.de] Memory Usage
+
br0tkasten.memtotal Traffic Graph
+
+
+ [br0tkasten.de] Swap Usage
+
br0tkasten.swap Traffic Graph
+
+
+ [br0tkasten.de] Process Statistics
+
br0tkasten.procs Traffic Graph
+
+
+ [br0tkasten.de] Established connections
+
br0tkasten.estconn Traffic Graph
+
+
+ [br0tkasten.de] number of users
+
br0tkasten.users Traffic Graph
+
+
+ +
+ +

Kodi

+
+
+ [kodi] eth0
+
kodi.eth0 Traffic Graph
+
+
+ [kodi] tap0
+
kodi.tap0 Traffic Graph
+
+
+ [kodi] Active CPU Load %
+
kodi.cpu Traffic Graph
+
+
+ [kodi] Memory Usage
+
kodi.memtotal Traffic Graph
+
+
+ [kodi] Swap Usage
+
kodi.swap Traffic Graph
+
+
+ [kodi] CPU Temperature
+
kodi.temp Traffic Graph
+
+
+ [kodi] TV on/off
+
kodi.tv Traffic Graph
+
+
+ +
+

NAS

+
+
+ [nas] eth0
+
nas.eth0 Traffic Graph
+
+
+ [nas] tap0
+
nas.tap0 Traffic Graph
+
+
+ [nas] Active CPU Load %
+
nas.cpu Traffic Graph
+
+
+ [nas] Memory Usage
+
nas.memtotal Traffic Graph
+
+
+ [nas] Swap Usage
+
nas.swap Traffic Graph
+
+
+ [nas] CPU Temperature
+
nas.temp Traffic Graph
+
+
+ + + + diff --git a/htdocs/style.css b/htdocs/style.css new file mode 100755 index 0000000..2ce6ade --- /dev/null +++ b/htdocs/style.css @@ -0,0 +1,96 @@ +html { + margin: 0; + padding: 0; + height: 100%; + width: 100%; +} + +body { + font-family: Verdana, Arial, sans-serif; + font-size: 12px; + background: #101010; + color: #E0E0E0; + margin: 0; + padding: 0; + height: 99%; + width: 100%; +} + +hr { + border: 1px solid #B0B0B0; + width: 100%; + text-align: center; +} + +input { + background-color: #FDFFEE; + border: 1px solid #2E1500; + color: #2E1500; + padding: 2px 3px; +} + +p { + font-size:14px; +} + +a { + text-decoration: none; + color: #A0A0A0; + font-weight: bold; +} + +a:hover { + color: #E0E0E0; + font-weight: bold; +} + +ul { + margin-left: 1em; + margin-bottom: 2px; + margin-top: 2px; + padding: 0px; +} + +li { + margin-left: 1em; +} + +h1 { + color: #E0E0E0; + font-size: 18px; +} + +h2 { + color: #e0e0e0; + font-size: 16px; + width: 100%; + text-align: left; + border-bottom: 1px solid #cacaca; + margin-top: 3em; + margin-bottom: 0; +} + +h3 { + color: #e0e0e0; + font-size: 14px; +} + +h4 { + color: #e0e0e0; + font-size: 12px; +} + +br { + clear: both; +} + +hr { + clear: both; +} + +div { + float: left; + background-color: #404040; + margin: 0.5em; +} + diff --git a/rrd/nas.tap0.rrd b/rrd/nas.tap0.rrd new file mode 100644 index 0000000..9693bcf Binary files /dev/null and b/rrd/nas.tap0.rrd differ diff --git a/rrd/nas.temp.rrd b/rrd/nas.temp.rrd new file mode 100644 index 0000000..65ef26e Binary files /dev/null and b/rrd/nas.temp.rrd differ diff --git a/run.sh b/run.sh new file mode 100755 index 0000000..f3d69c6 --- /dev/null +++ b/run.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +MRTG="/usr/bin/mrtg" + +CFGDIR="/var/www/mrtg/config" + +for cfg in $CFGDIR/*.cfg; +do + LANG=C $MRTG "$cfg" & +done diff --git a/tmpl/nas.tap0.tmpl b/tmpl/nas.tap0.tmpl new file mode 100644 index 0000000..1ec682c --- /dev/null +++ b/tmpl/nas.tap0.tmpl @@ -0,0 +1,12 @@ +-v in/out +-t [nas] tap0 +--color=BACK#909090 +--color=CANVAS#C5C5C5 +DEF:in=/var/www/mrtg/rrd/nas.tap0.rrd:ds0:AVERAGE +DEF:out=/var/www/mrtg/rrd/nas.tap0.rrd:ds1:AVERAGE +CDEF:invout=out,-1,* +AREA:in#25679F#7E99B0:Down +AREA:invout#25679F#7E99B0:Up +LINE1:in#040404 +LINE1:invout#040404 +LINE1:0#000000 diff --git a/tmpl/nas.temp.tmpl b/tmpl/nas.temp.tmpl new file mode 100644 index 0000000..c949cb8 --- /dev/null +++ b/tmpl/nas.temp.tmpl @@ -0,0 +1,10 @@ +-v Celsius +-t [nas] Temperature +--color=BACK#909090 +--color=CANVAS#C5C5C5 +DEF:in=/var/www/mrtg/rrd/nas.temp.rrd:ds0:AVERAGE +CDEF:red=in,54,GT,in,UNKN,IF +CDEF:green=in,54,GT,54,in,IF +AREA:red#FF0000 +AREA:green#00FF00 +LINE1:in#040404