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

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

Vorheriges Thema - Nächstes Thema

rizo

so sind die definiert in fhem
define sysmonwz SYSMON ssh:***@192.168.0.14 1 1 1 10
attr sysmonwz event-on-update-reading cpu_temp,cpu_temp_avg,fs_.*
attr sysmonwz filesystems fs_boot:/boot,fs_root:/:Root,fs_usb1:/media/usb1:USB-Stick
attr sysmonwz group 1System
attr sysmonwz network-interfaces eth0:eth0:Ethernet,wlan0:wlan0:WiFi
attr sysmonwz room System
attr sysmonwz userReadings temperature {sprintf("%.0f °C", ((ReadingsVal("sysmonwz","cpu_temp",0) )))}


In der Konsole kann ich die SSH Befehle absetzen und die werden ausgeführt...
wenn ich den user fhem für die ssh Sitzung nutze kommt ne password abfrage, wenn ich user Pi nutze dann nicht.


Habe http://heinz-otto.blogspot.de/2017/01/per-ssh-remote-befehle-direkt-ausfuhren.html hiermit gearbeitet.

Wenn ich aber in FHEM eine ssh befehl ausführen will zb.  { system("ssh ***\@192.168.0.14 sudo systemctl reboot") }

dann kommt im Log:

Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).

auf den Raspi`s hab ich

fhem    ALL=(ALL:ALL) NOPASSWD: ALL

fhem user gibt es auf allen.

MadMax-FHEM

#1516
Du musst die ssl-Zertifikate dann auch beim User fhem ablegen.

/opt/fhem/.ssh (glaube ich)

Aktuell liegen die dann wohl unter:

/home/pi/.ssh

Wenn die PW-Abfrage dann bei Sysmon kommt, dann ist der Timeout klar: es kommt ja keine PW-Eingabe...

EDIT: was sind die "Sternchen" bei ssh: ***@ ? Steht da 'pi' oder 'fhem' oder was anders? Alternativ geht auch noch eine ssh-conf anzulegen, dann musst du nicht mal mehr den User anlegen. Hat aber jetzt ja eigentlich nichts (mehr) mit SysMon-Modul zu tun...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Wernieman

#1517
Zitatwenn ich den user fhem für die ssh Sitzung nutze kommt ne password abfrage, wenn ich user Pi nutze dann nicht.
Da fhem unter dem Benutzer fhem läuft und eben NICHT unter dem User pi, ist es logisch, das es nicht funktioniert.

Also das, was Du für den User "pi" gemacht hast, must Du für den User "fhem" machen.

Wundert mich, das es mal funktioniert hat ....

Info: Joachim war schneller ...
Ein kopieren der Dateien nach /opf/fhem/.ssh reicht nicht, da müssen auch die Berechtigungen angepasst werden. 

Btw:
fhem    ALL=(ALL:ALL) NOPASSWD: ALL

Das hast Du in der sudoer so reingeschrieben? Dir ist klar, das damit der User fhem praktisch root ist? Man versucht eigentlich Berechtigungen zu minimieren. Dieses ist aber, in aller negativer Bedeutung, die Holzhammermethode. Besser ist, dort z.B. "nur" die benötigten Befehle reinzuschreiben.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

rizo

die *** sind user. Egal ob pi oder fhem bei beiden kommt der gleiche Fehler.

nach der Anleitung von Otto ist es nur für user fhem gemacht und nicht für user pi. Also sollte das doch richtig sein...

der Ordner /opt/fhem/.ssh ist vorhanden und nicht kopiert, da ich ja alles für User fhem gemacht habe und nicht für User pi...

MadMax-FHEM

Hast du auch die public keys auf den Rechner wo du per ssh ausführen willst kopiert?

ssh-copy-id user@hostname.example.com

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

rizo

ja habe ich getan, genau wie Otto es beschrieben hatte

MadMax-FHEM

Dann solltest du als User fhem bei ssh Aufrufen eigentlich keine PW-Abfrage bekommen...

Solange du die bekommst wird ein automatisiertes Ausführen immer in Timeout laufen...

Erneut: gehört halt nicht mehr hierher!? Hat ja (eigentlich) nichts mit Sysmon zu tun, da ja der ssh-Aufruf in Timeout wegen PW-Abfrage läuft...

Müllt nur unnötig diesen Thread zu...
...nur meine Meinung...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

rizo

ok dann will ich es hier nicht sinnlos vollmüllen, glaub das Problem ist, das in Ottos Blog fhem ein password bekommen hat. Ich hoffe ich kann es löschen und dann sollte es ja gehen.

das letzte: ich finde einfach keinen weg das password zu löschen. wenn ich es ändern möchte muss ich ja was eingeben, da sonst ja ein manupulation error kommt..

hexenmeister

Das ist ein Manko in SYSMON, dass ein einmal gesetztes Passwort nicht einfach wieder entfernt werden kann. Man muss es selbst aus der Datei (FhemUtils/uniqueID) löschen (Vorsicht, nichts anderes löschen!).

Tommy82

Hi, ich habe gestern ein Fhem update gemacht und heute Morgen habe ich dann jeder Menge dieser Meldungen im Log.
2018.01.18 06:18:30.197 1:     main::__ANON__                      called by ./FHEM/42_SYSMON.pm (1765)
2018.01.18 06:18:30.198 1:     main::SYSMON_getCPUTemp_RPi         called by ./FHEM/42_SYSMON.pm (1207)
2018.01.18 06:18:30.198 1:     main::SYSMON_obtainParameters_intern called by ./FHEM/42_SYSMON.pm (1129)
2018.01.18 06:18:30.199 1:     main::SYSMON_obtainParameters       called by ./FHEM/42_SYSMON.pm (956)
2018.01.18 06:18:30.199 1:     main::SYSMON_blockingCall           called by FHEM/Blocking.pm (192)
2018.01.18 06:18:30.199 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2018.01.18 06:18:30.200 1:     main::BlockingCall                  called by ./FHEM/42_SYSMON.pm (905)
2018.01.18 06:18:30.200 1:     main::SYSMON_Update                 called by fhem.pl (3065)
2018.01.18 06:18:30.200 1:     main::HandleTimeout                 called by fhem.pl (615)
2018.01.18 06:19:33.194 1: PERL WARNING: Argument "cat: /sys/class/thermal/thermal_zone0/temp: Invalid argu..." isn't numeric in int at ./FHEM/42_SYSMON.pm line 1765.


Vor dem Update lief alles normal
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

MadMax-FHEM

Hmmm, hab gestern auch den Update "eingespielt"...
...Werte sehen soweit (halbwegs) plausibel aus, also: vielen Dank!! :)

Der einzige Logeintrag (StackTrace ist aktiv) den ich bzgl. SysMon habe ist der hier:


2018.01.17 19:48:18 1: UPD FHEM/42_SYSMON.pm
2018.01.17 19:48:24 1:   - bugfix:  42_SYSMON: Falsche Angabe von Ram free / used bei Debian Stretch


Raspberry PI3 Raspbian Stretch lite (update/upgrade noch nicht so lange her)...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

hexenmeister

Ich kann mir auch nicht vorstellen, wie diese Einträge mit den letzten Update zusammenhängen können, auch Meldungen dieser Art konnte ich bei mir nicht beobachten. An der fraglichen Stelle wurde ja gar nichts (bewusst) geändert. Ich schaue mir heute Abend mal die Sache an.

juemuc

Hallo,

bei mir passt die Anzeige noch nicht so ganz oder ?
Zitatram  Total: 927.32 MB, Used: 178.16 MB, 19.21 %, Free: 552.98 MB
Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

hexenmeister

So was habe ich befürchtet. Es gibt einfach zu viele Varianten. Wach bekommst Du, wenn Du 'free -V' , 'LANG=en free' und 'LANG=en free -w' ausführen lässt?

hexenmeister

Zitat von: Tommy82 am 18 Januar 2018, 06:24:07
Hi, ich habe gestern ein Fhem update gemacht und heute Morgen habe ich dann jeder Menge dieser Meldungen im Log.
2018.01.18 06:18:30.197 1:     main::__ANON__                      called by ./FHEM/42_SYSMON.pm (1765)
2018.01.18 06:18:30.198 1:     main::SYSMON_getCPUTemp_RPi         called by ./FHEM/42_SYSMON.pm (1207)
2018.01.18 06:18:30.198 1:     main::SYSMON_obtainParameters_intern called by ./FHEM/42_SYSMON.pm (1129)
2018.01.18 06:18:30.199 1:     main::SYSMON_obtainParameters       called by ./FHEM/42_SYSMON.pm (956)
2018.01.18 06:18:30.199 1:     main::SYSMON_blockingCall           called by FHEM/Blocking.pm (192)
2018.01.18 06:18:30.199 1:     main::BlockingStart                 called by FHEM/Blocking.pm (107)
2018.01.18 06:18:30.200 1:     main::BlockingCall                  called by ./FHEM/42_SYSMON.pm (905)
2018.01.18 06:18:30.200 1:     main::SYSMON_Update                 called by fhem.pl (3065)
2018.01.18 06:18:30.200 1:     main::HandleTimeout                 called by fhem.pl (615)
2018.01.18 06:19:33.194 1: PERL WARNING: Argument "cat: /sys/class/thermal/thermal_zone0/temp: Invalid argu..." isn't numeric in int at ./FHEM/42_SYSMON.pm line 1765.


Vor dem Update lief alles normal

Ist schon sonderbar... Du hast doch nen Cubietruck? Warum der ein Wert für RaspberryPi lesen will... Bleibt das nach einem Restart auch so? Ggf. kannst Du für 'cputemp' ein Exclude setzen. So richtig  verstehen tue ich das gerade leider nicht...