Ein Modul zur Erfassen von diversen RPi/Linux-Statistiken (SYSMON)

Begonnen von hexenmeister, 06 Dezember 2013, 17:44:38

Vorheriges Thema - Nächstes Thema

Kuzl

Der raspi 2 braucht ein anderes image als der b+. Kann evtl der grund sein. Bitte nicht einfach karte klonen und rein damit :D bestenfalls kannst du die fhem.cfg rüberkopieren.

volschin

Mach Dich mal schlau, bevor Du solche Aussagen triffst.  ;)
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

hexenmeister

Zitat von: volschin am 07 Februar 2015, 07:57:59
Hast Du eine Idee, was die Ursache sein könnte?

Immer diese neumodische Hardware ;)

Ich hätte gerne list, log verbose 5 und Ausgaben auf der Console für:
[ -d /proc/ ] && echo 1 || echo 0

cat /proc/uptime

uptime

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

volschin

pi@ha ~ $ uptime
13:18:04 up 21 min,  2 users,  load average: 0,15, 0,13, 0,07


pi@ha ~ $ cat /proc/uptime
1346.34 5246.51


pi@ha ~ $ [ -d /proc/ ] && echo 1 || echo 0
1


Rest liefere ich nach, wenn ich meine Stabilitätstests absolviert habe. SYSMON ist gerade deaktiviert.  ;)
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

volschin

Hallo Alexander,
die Änderung bzgl. des Prompts verhindert den Login an der FritzBox.

   #unless ( ($before,$match) = $telnet->waitfor( '/# $|Login failed./i' ))
   unless ( ($before,$match) = $telnet->waitfor( '/(#|\$)\s*$|Login failed./i' ))


Nachdem ich die Auskommentierung wieder umgesetzt habe, läuft es dort.

Gruß
Veit
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

volschin

Anbei ein Vorschlag zur FW 6.23 kompatiblen Ausgabe der DSL Geschwindigkeit.

#DSL-Downstream und DSL-Upstream abfragen
sub SYSMON_getFBStreamRate($$) {
my ($hash, $map) = @_;

my $ds_rate = SYSMON_execute($hash, "ctlmgr_ctl r dslstatglobal status/in")/1000;
my $us_rate = SYSMON_execute($hash, "ctlmgr_ctl r dslstatglobal status/out")/1000;

if($ds_rate ne "" && $us_rate ne "") {
    $map->{+FB_DSL_RATE}="down: ".int($ds_rate)." KBit/s, up: ".int($us_rate)." KBit/s";
  }
 
  return $map;
}
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

hexenmeister

Zitat von: volschin am 07 Februar 2015, 19:30:33
Hallo Alexander,
die Änderung bzgl. des Prompts verhindert den Login an der FritzBox.

Das ist Mist. Bei mir geht noch (OS Version 6.20). Ohne diese Änderung wollen jedoch andere nicht remote :(
Wie sieht denn Login_prompt denn aus?

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Zitat von: volschin am 07 Februar 2015, 20:15:12
Anbei ein Vorschlag zur FW 6.23 kompatiblen Ausgabe der DSL Geschwindigkeit.


my $ds_rate = SYSMON_execute($hash, "ctlmgr_ctl r dslstatglobal status/in")/1000;
my $us_rate = SYSMON_execute($hash, "ctlmgr_ctl r dslstatglobal status/out")/1000;


Bei mir liefert das und die alte Version nicht ganz das gleiche... auch wenn man erkennt, dass beides auf VDSL50 hinweist.
# ctlmgr_ctl r dslstatglobal status/in
50000000
# ctlmgr_ctl r sar status/dsl_ds_rate
51392
#


Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

ctlmgr_ctl r dslstatglobal status/out
als Option umgesetzt (also, wenn die alte Version nichts liefert, wird das versucht).
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

user-fn wie angekündigt überarbeitet. Tester gesucht ;)

Zitat
user-fn <fn_name>:<Interval_Minutes>:<reading_name1>:<reading_name2>...[:<reading_nameX>],...
Liste der benutzerdefinierten Perlfunktionen.
Als <fn_name> können entweder Name einer Perlfunktion oder ein Perlausdruck verwendet verden.
Die Perlfunktion bekommt den Device-Hash als Übergabeparameter und muss ein Array mit Werte liefern.
Diese Werte werden entsprechend den Parameter <reading_nameX> in Readings übernommmen.
Ein Perlausdruck muss in geschweifte Klammer eingeschlossen werden und kann folgende Paramter verwenden: $HASH (Device-Hash) und $NAME (Device-Name).
Rückgabe wird analog einer Perlfunktion erwartet.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

volschin

Zitat von: hexenmeister am 07 Februar 2015, 22:01:20
Bei mir liefert das und die alte Version nicht ganz das gleiche... auch wenn man erkennt, dass beides auf VDSL50 hinweist.
# ctlmgr_ctl r dslstatglobal status/in
50000000
# ctlmgr_ctl r sar status/dsl_ds_rate
51392
#

Das hat sich dann in der neuen FW anscheinend auch geändert. Bei mir kommt bei meiner neuen FB7490 mit FW 6.23
# ctlmgr_ctl r dslstatglobal status/in
51392000
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

volschin

Hier noch mein Änderungswunsch für die DSL-Sync.
#Sync-Zeit mit Vermittlungsstelle abfragen
sub SYSMON_getFBSyncTime($$) {
my ($hash, $map) = @_;

my $data = SYSMON_execute($hash, "ctlmgr_ctl r sar status/modem_ShowtimeSecs");
unless($data) {
return SYSMON_getFBSyncTime2($hash, $map);
}

if($data ne "") {
my $idata = int($data);
    $map->{+FB_DSL_SYNCTIME}=SYSMON_sec2Dauer($idata);
  }
 
  return $map;
}

#Sync-Zeit mit Vermittlungsstelle abfragen mit neuer FritzOS (6.23)
sub SYSMON_getFBSyncTime2($$) {
my ($hash, $map) = @_;

my $data = SYSMON_execute($hash, "ctlmgr_ctl r dslstatistic status/ifacestat0/connect_time");

if($data ne "") {
    $map->{+FB_DSL_SYNCTIME}=$data;
  }
 
  return $map;
}


Für die nicht funktionierenden
dsl_crc_15
dsl_fec_15

habe ich derzeit noch keine Idee, aber auch die produzieren Fehler.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

volschin

#762
Einzige mir bekannte Möglichkeit ist das Parsen von Supportdata:

# dsl_monitor --supportdata | grep "US CRC 15 Minutes"
US CRC 15 Minutes: 0
# dsl_monitor --supportdata | grep "DS CRC 15 Minutes"
DS CRC 15 Minutes: 0
# dsl_monitor --supportdata | grep "US FEC 15 Minutes"
US FEC 15 Minutes: 0
# dsl_monitor --supportdata | grep "DS FEC 15 Minutes"
DS FEC 15 Minutes: 0


Ich bin mir nicht sicher, wie lastkritisch die Supportdata-Abfrage ist. Evtl. sollte man die nur einmal machen und die Sachen dann komplett zusammensuchen.

So ginge es auf einen Rutsch:
# dsl_monitor --supportdata | grep '\<.S ... 15 Minutes\>'
DS CRC 15 Minutes: 0
DS FEC 15 Minutes: 207
US CRC 15 Minutes: 0
US FEC 15 Minutes: 181
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

hexenmeister

Zitat von: volschin am 08 Februar 2015, 06:30:37
Hier noch mein Änderungswunsch für die DSL-Sync.
[...]

Na wenn  man schon fertigen Source kriegt... ;)
Übernommen, bitte testen.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Zitat von: volschin am 08 Februar 2015, 06:37:40
Einzige mir bekannte Möglichkeit ist das Parsen von Supportdata:

supportdata funktioniert auf miner Box schon mal nicht...
Zitat# dsl_monitor --supportdata
Usage: dsl_monitor [OPTIONS]

Options:
        -h this help
        -r root path, to find startup and shutdown scripts (default: "/etc/init.d")
        -S name of startup script (default: E40-dsl)
        -s name of shutdown script (default: e40-dsl)
        -D name of dump type (line_test_calib or line_test_measure)
        -d start this program as daemon

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy