3rd-party-apps-Anleitung: vnstat

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

itari

Benutzer
Registriert
15. Mai 2008
Beiträge
21.900
Reaktionspunkte
14
Punkte
0
Die Integration von vnstat (gibt es als ipkg-Paket)

(1) ipkg install vnstat

(2) vnstat aufrufen - will irgendwas anlegen, wenn es komische
Fehlermeldungen gibt, mal mit vnstat -i eht0 probieren. vnstat -l sollte auf jeden Fall was sinnvolles zeigen. Mit vnstat --help bekommt man die Übersicht über die Parameter. (Es ist nu schon 3 Tage her ... kann mich nicht mehr an alle Einzelheiten erinnern :D)

(3) Wenn keine komischen Meldungen kommen, dann ersten Netzwerk-Schnappschuss machen mit vnstat -i eth0 -u. Diese Schnappschüsse werden ausgewertet. Es macht also Sinn, vnstat -i eth0 -u in die crontab zu übernehmen. (Das habe ich noch nicht gemacht. Vielleicht kann das ja jemand mal ausprobieren.)

(4) Download des vnstat PHP frontend nach Windows, entpacken, auf die DS kopieren ins neue Verzeichnis: /usr/syno/synoman/phpsrc/vnstat.

(5) Ins Verzeichnis stellen und die Datei config.php editieren. Wenn man alle Kommentare (//) weglassen würde, müsste in der Datei noch stehen:
Rich (BBCode):
<?php
    $iface_list = array('eth0');
    $iface_title['eth0'] = 'Network';
    $vnstat_bin = '/opt/bin/vnstat';
    $data_dir = '/tmp/';

Wen jemand 2 Netzwerkkarte hat, dann entsprechend ändern.

(6) Skript im Browser aufrufen: https://Name_der_DS:5001/phpsrc/vnstat/index.php. Bei mir kam nun eine Fehlermeldung der Datei vnstat.php in Zeile 104, dass irgendwas nicht ausgeführt werden kann. Wenn diese Meldung erscheint, dann muss noch die vnstat.php geändert werden. Also Editor und zur Zeile 104: 2 Zeilen einfügen, eine auskommentieren:
Rich (BBCode):
$vnstat_data = array();
exec("$vnstat_bin --dumpdb -i $iface",$vnstat_data);
//$vnstat_data = explode("\n", `$vnstat_bin --dumpdb -i $iface`);

(7) Jetzt müsste es gehen. Immer mal wieder einen vnstat -i eth0 -u machen, dann füllt sich langsam die Anzeige. Irgendwann kann man auf das -i eth0 verzichten, wenn man 2 Netzwerkkarten hat: vnstat -i eth1 -u machen!!!

(8) Integration als 3rd-parte-apps: Verzeichnis anlegen: /usr/syno/synoman/webman/3rdparty/vnstat. Dann die Datei application.cfg anlegen:
Rich (BBCode):
text = vnstat
description = vnstat
type = embedded
path = /phpsrc/vnstat/index.php

Sollte die Anzeige nicht komplett passen, dann type = popup setzen.

Optischer Vorgeschmack ...
 

Anhänge

  • vnstat.jpg
    vnstat.jpg
    75,2 KB · Aufrufe: 1.785
  • vnstat1.jpg
    vnstat1.jpg
    100,8 KB · Aufrufe: 1.690
vnstat Installation problemlos. Habe vnstat -i eth0 -u in crontab eingetragen so das es alle 10 Minuten ausgeführt wird. Werde berichten.

Danke Itari. :)
 
ich denke da das Teil nicht kleiner als Stunden auflöst, reicht jede Stunde im crontab ;)
 
Danke für den Tip, werde das sofort ändern.

Code:
1/* * * * * root sh vnstat -i eth0 -u

Hoffe das ist so richtig mit meinen bescheidenen Linux Kentnissen.
 
Hexchen, bitte ändere ab in Und denk an die TABs zwischen den Werten zu vnstat:

* 1 * * * root vnstat -i eth0 -u

Ich hatte mal was zur crontab geschrieben ... du wirst es bestimmt finden.

itari
 
Anmerkung zu vnstat:

Wenn man vnstat über die /etc/crontab alle Stunden aktiviert, kann (!) dabei der Spin-down (hibernation) der Platten unterbrochen werden.
 
Hallihallo

aber alles soweit gemacht.. nur wenn ich jetzt die 3rd party app aufrufe im synman zeigt er mir nur den quellcode der php an nicht die ausgeführte version...

php und alles ist aktiviert..

könnt ihr mir da helfen??
 
@Pazekal,

du hast für den sys-Apache noch nicht die PHP-Lib zugeordnet. Schau mal hier in den Punkt 7, da ist es genau beschrieben.

itari
 
hab das jetzt auch gemacht und den rest deineranleitung aber er macht imme rnoch nix...
apache ist neu gestartet und phph ini ist auch abgeändert
 
Ganz sicher alles so gemacht?

Ist der Aufruf direkt im Browser denn möglich (ohen 3rd-party-apps) (siehe Punkt 6 im ersten Beitrag)?

Haste es beim sys-Apache in der httpd.conf-sys geändert und auch den sys-Apache neu gestartet?

Hast du schon andere PHP-Anwendungen bei dir laufen?
 
so also ich habe gerade versucht sie mal komplett neu zu starten jetzt bekomm ich gar keine ping mehr..... son mist... ich glaub ich mach mir grad nochmal die firmaware drauf und probiere es nochmal
 
also habs jetzt doch noch hinbekommen... es läuft... jetzt müsste ich allerdings noch wissen wie ich den befehl in die cronjob eintrage
 
Rich (BBCode):
vi /etc/crontab
und dort die oben beschriebenen Änderungen hinzufügen (tabs - keine Leerzeichen!) und danach
Rich (BBCode):
/usr/syno/etc/rc.d/S04crond.sh stop
/usr/syno/etc/rc.d/S04crond.sh start
Trolli
 
ich habe alle Schritte gemacht, aber exec() liefert immer 127 zurück. Was mache ich falsch hier?

Danke
 
@kartolo, super :)
 
Cronjob macht kein vnstat -i eth0 -u bei mir:

Code:
#minute hour    mday    month   wday    who     command
*/5     *       *       *       *       root    sh /opt/bin/tps
*/15    *       *       *       *       root    sh vnstat -i eth0 -u
 
Probiert mal den kompletten Pfad und lass das sh weg (sh ist nur wichtig bei Shell-Skriten - vnstat ist ja keine Skript, sondern ein Binary). Da der crond nicht per login-gestartet wurde, kennt er die login-environments nicht (/etc/profile; /root/.profile) und hat daher keine Kenntnis über die PATH-Einträge, daher in der crontab immer volle Pfade eintragen.

Code:
#minute hour    mday    month   wday    who     command
*/5     *       *       *       *       root    sh /opt/bin/tps
*/15    *       *       *       *       root    /usr/bin/vnstat -i eth0 -u
 
So habe es ausprobiert. Es kommt auch das es ausgeführt worden ist im LOG
Code:
USER root pid 4342 cmd /usr/bin/vnstat -i eth0 -u
aber es ändert sich nichts im vnstat er bleibt bei Heute 13,85MB obwohl ich eine 605MB grosse Datei geladen habe.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat