Hallo an euch,
habe mit Perl und Net::OpenSSH ein Problem. Also: habe mit einer GUI einen Statusmonitor programmiert. Dieser soll stündlich verschiedene Informationen zu ca. 150 Rechnern darstellen. Das Ganze ist so gelöst, dass pro Rechner ein Thread erzeugt wird, die Stati werden über SSH ermittelt. Bisher habe ich das vom Prinzip mit
1 | qx(ssh -q -o "Batchmode=1" <Befehl>); |
gelöst (SSH-Authentifizierung über Keys). Nun wollte ich das Ganze auf Net::OpenSSH umstricken nach dem Prinzip
1 2 | $ssh = Net::OpenSSH -> new(<Rechner>); $ssh -> capture('<Befehl>'); |
Soweit so gut. Im Prinzip geht das auch, nur dass sich die GUI nach und nach mit den Informationen aufbaut und nach ca. 50% der Inhalte ist plötzlich Ende. Keine weiteren Updates mehr. Nach der einen Stunde geht es wieder von vorne los mit wiederum entsprechenden "Lücken" (wobei nicht immer an derselben Stelle die Infos fehlen).
Lasse ich über das Prinzip OpenSSH über alle Rechner Jobs sequentiell ablaufen, hat OpenSSH keinerlei Probleme damit. Entweder kommt OpenSSH/Perl mit der Anzahl der parallelen Threads nicht klar (wobei es ja mit qx(ssh...) geht oder die GUI hat damit Probleme.
Hat jemand von euch Erfahrungen damit gesammelt und evtl. ähnliche Probleme gehabt?