Benutzer-Werkzeuge

Webseiten-Werkzeuge


Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
statusseite_aufsetzen [2013/02/27 22:59]
mwarning angelegt
statusseite_aufsetzen [2014/07/21 19:23] (aktuell)
Zeile 14: Zeile 14:
   server.port = 80   server.port = 80
   server.bind = "10.29.x.y"   server.bind = "10.29.x.y"
 +  $SERVER["socket"] == "10.29.x.y:80" {}
      
   server.username = "www"    server.username = "www" 
Zeile 36: Zeile 37:
      
   dst="$1"   dst="$1"
-  src="/tmp/index.html.tmp"+  src="/tmp/freifunk_status" 
 +   
 +  vpn_if='fastd_bat' 
 +  wan_if='vpnexit' 
 +  avg_time=5 
 +  
      
   #write stdout to file   #write stdout to file
Zeile 51: Zeile 57:
   }   }
      
-  handle() { +  vpn_tx1_bytes=`cat "/sys/class/net/$vpn_if/statistics/tx_bytes"
-    local ifname="$1tx_id=$2 rx_id=$3 +  vpn_rx1_bytes=`cat "/sys/class/net/$vpn_if/statistics/rx_bytes"
-    ifconfig "$ifname" &> /dev/null || return+  wan_tx1_bytes=`cat "/sys/class/net/$wan_if/statistics/tx_bytes"` 
 +  wan_rx1_bytes=`cat "/sys/class/net/$wan_if/statistics/rx_bytes"`
      
-    get() { cat "/sys/class/net/$ifname/statistics/$1"; }+  sleep $avg_time
      
-    tx_bytes=`get tx_bytes` +  vpn_tx2_bytes=`cat "/sys/class/net/$vpn_if/statistics/tx_bytes"
-    rx_bytes=`get rx_bytes`+  vpn_rx2_bytes=`cat "/sys/class/net/$vpn_if/statistics/rx_bytes"` 
 +  wan_tx2_bytes=`cat "/sys/class/net/$wan_if/statistics/tx_bytes"
 +  wan_rx2_bytes=`cat "/sys/class/net/$wan_if/statistics/rx_bytes"`
      
-    avg_time=5 +  wan_tx_speed=$((($wan_tx2_bytes-$wan_tx1_bytes)/$avg_time)) 
-    sleep $avg_time +  wan_rx_speed=$((($wan_rx2_bytes-$wan_rx1_bytes)/$avg_time)) 
-    tx_speed=$(((`get tx_bytes`-$tx_bytes)/$avg_time)) +  vpn_tx_speed=$((($vpn_tx2_bytes-$vpn_tx1_bytes)/$avg_time)) 
-    rx_speed=$(((`get rx_bytes`-$rx_bytes)/$avg_time))+  vpn_rx_speed=$((($vpn_rx2_bytes-$vpn_rx1_bytes)/$avg_time))
      
-    #connections=`netstat -nt | awk '{ print $5}' | cut -d: -f1 | sed -e '/^$/d' | sort -n | uniq | wc -l`+  wan_tx_str="`convert $wan_tx2_bytes` (`convert $wan_tx_speed`/s)" 
 +  wan_rx_str="`convert $wan_rx2_bytes` (`convert $wan_rx_speed`/s)" 
 +  vpn_tx_str="`convert $vpn_tx2_bytes` (`convert $vpn_tx_speed`/s)" 
 +  vpn_rx_str="`convert $vpn_rx2_bytes` (`convert $vpn_rx_speed`/s)"
      
-    echo '<script type="text/javascript">' +  u=`uptime` 
-    echo "document.getElementById('$tx_id').innerHTML='`convert $tx_bytes` (`convert $tx_speed`/s)';+  load="${u##*:}
-    echo "document.getElementById('$rx_id').innerHTML='`convert $rx_bytes` (`convert $rx_speed`/s)';" +  u="${u%%,*}" 
-    echo '</script>' +  uptime="${u##*up}
-  }+  hdd=`df -h | grep '/$' | cut -d' ' -f 20`
      
   echo '<html>'   echo '<html>'
Zeile 80: Zeile 92:
   echo '<body>'   echo '<body>'
      
-  echo '<h2>Statusseite des Gateways von Freifunk Bielefeld</h2>' +  echo '<br /><br />' 
-  echo "<center>(`date`)</center>+  echo '<h2>Statusseite des Gateways vpnx.freifunk-bielefeld.de</h2>' 
-  +  echo '<center>('`date`')</center>'
   echo '<table>'   echo '<table>'
   echo '<tr style="vertical-align:bottom;">'   echo '<tr style="vertical-align:bottom;">'
-  echo '<td id="left_top"></td>' +  echo '<td id="left_top">'$wan_tx_str'</td>' 
-  echo '<td id="middle_top"></td>' +  echo '<td id="middle_top"><b>Load:</b>'$load'<br><b>Uptime:</b>'$uptime'</td>' 
-  echo '<td id="right_top"></td>'+  echo '<td id="right_top">'$vpn_rx_str'</td>'
   echo '</tr>'   echo '</tr>'
   echo '<tr>'   echo '<tr>'
   echo '<td colspan=3><img src="schema.png" class="schema"></td></tr>'   echo '<td colspan=3><img src="schema.png" class="schema"></td></tr>'
   echo '<tr style="vertical-align:top;">'   echo '<tr style="vertical-align:top;">'
-  echo '<td id="left_bottom"></td>' +  echo '<td id="left_bottom">'$wan_rx_str'</td>' 
-  echo '<td id="middle_bottom"></td>' +  echo '<td id="middle_bottom"><b>HDD:</b> '$hdd'<br><a href="vnstat/">Traffic Statistics</a></td>' 
-  echo '<td id="right_bottom"></td>'+  echo '<td id="right_bottom">'$vpn_tx_str'</td>'
   echo '</tr>'   echo '</tr>'
   echo '</table>'   echo '</table>'
-   
-  handle "tun0" 'left_top' 'left_bottom' 
-  handle "n2n_bat" 'right_bottom' 'right_top' 
-   
-   
-  u=`uptime` 
-  load="${u##*:}" 
-  u="${u%%,*}" 
-  uptime="${u##*up}" 
-  hdd=`df -h | grep '/$' | cut -d' ' -f 20` 
-   
-  echo '<script type="text/javascript">' 
-  echo "document.getElementById('middle_top').innerHTML='<b>Load:</b>$load<br><b>Uptime:</b>$uptime';" 
-  echo "document.getElementById('middle_bottom').innerHTML='<b>HDD:</b> $hdd<br><a href="/vnstat-test/index.php">Traffic Statistics</a>';" 
-  echo '</script>' 
-   
   echo '</body>'   echo '</body>'
   echo '</html>'   echo '</html>'
      
-  #move to final destiantion+  #move to final destination
   mv "$src" "$dst"   mv "$src" "$dst"
      
   exit 0   exit 0
 +
 +Für die Statusseite werde zusätzlich die beiden Dateien {{:style.css.zip|style.css}} und {{:schema.png?linkonly|schema.png}} benötigt.
 +
 +  cd /etc/lighttpd/www
 +  wget http://freifunk-bielefeld.de/lib/exe/fetch.php?media=style.css.zip -O style.css
 +  wget http://freifunk-bielefeld.de/lib/exe/fetch.php?media=schema.png -O schema.png
  
 Das obige Script generiert die Statusseite und soll alle zwei Minuten ausgeführt werden. Das obige Script generiert die Statusseite und soll alle zwei Minuten ausgeführt werden.
Zeile 126: Zeile 128:
 <code>*/2 *   * * *   www    /etc/lighttpd/generate.sh '/etc/lighttpd/www/index.html'</code> <code>*/2 *   * * *   www    /etc/lighttpd/generate.sh '/etc/lighttpd/www/index.html'</code>
  
-Das gewählte Inhaltsverzeichnis muss noch erstellt werden:+Natürlich muss das script auch ausführbar sein: 
 + 
 +  chmod a+x /etc/lighttpd/generate.sh 
 + 
 +Das Verzeichnis für den Inhalt muss noch erstellt werden:
  
   mkdir /etc/lighttpd/www   mkdir /etc/lighttpd/www
Zeile 142: Zeile 148:
   /etc/init.d/lighttpd start   /etc/init.d/lighttpd start
      
-*vnstat*+**vnStat** 
 + 
 +[[http://humdi.net/vnstat/|vnStat]] protokolliert den Netzwerkverkehr auf mehreren Anschlüssen und listest das Volumen je Minute/Stunde/Tag/Monat auf.
  
   apt-get install php5-cgi   apt-get install php5-cgi
   apt-get install vnstat   apt-get install vnstat
-  vnstat -u -i n2n_bat+  vnstat -u -i fastd_bat
   vnstat -u -i tun0   vnstat -u -i tun0
 +  vnstat -u -i icvpn
      
 In der /etc/vnstat.conf muss unter #default Interface: In der /etc/vnstat.conf muss unter #default Interface:
   Interface "tun0"   Interface "tun0"
-  Interface 'n2n_bat+  Interface "fastd_bat
-  +  Interface "icvpn" 
 +ergänzt werden\\ 
 In /etc/lighttpd/lighttpd.conf muss dann hinzugefügt werden: In /etc/lighttpd/lighttpd.conf muss dann hinzugefügt werden:
   server.modules = ("mod_fastcgi")   server.modules = ("mod_fastcgi")
Zeile 169: Zeile 179:
 ersetzt ersetzt
  
-Nun muss nur noch das php-frontend (http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz) in den richtigen Pfad heruntergeladen und entpackt werden und die config.php angepasst werden:+Nun muss nur noch das php-frontend in den richtigen Pfad heruntergeladen und entpackt werden und die /etc/lighttpd/www/vnstat/config.php angepasst werden: 
 + 
 +  wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz 
 +  tar -xvzf vnstat_php_frontend-1.5.1.tar.gz 
 +  mv vnstat_php_frontend-1.5.1 /etc/lighttpd/www/vnstat 
 Alle Interfaces müssen als array aufgeführt sein: Alle Interfaces müssen als array aufgeführt sein:
-      $iface_list = array('tun0', 'n2n_bat', 'eth0');+      $iface_list = array('tun0', 'fastd_bat', 'icvpn', 'eth0');
  
-und für Jedes Interface wird noch ein Titel vergeben +und für jedes Interface wird noch ein Titel vergeben 
-    $iface_title['tun0'] = 'VPN'; +    $iface_title['tun0'] = 'Exit-VPN'; 
-    $iface_title['n2n_bat'] = 'Freifunk'; +    $iface_title['fastd_bat'] = 'Freifunk intern'; 
-    $iface_title['eth0'] = 'Internet';+    $iface_title['icvpn'] = 'IC-VPN'; 
 +    $iface_title['eth0'] = 'Netzwerkkarte';