Wunsch: Erreichbarkeit + Session Information automatisch

damien.leviet
Beiträge: 110
Registriert: 24 Feb 2014, 11:30

Wunsch: Erreichbarkeit + Session Information automatisch

Beitrag von damien.leviet »

Hallo,


ich benutze OPSI in meinem Unternehmen, um ca. 300 Arbeitsplätze mit Updates zu versorgen. Soweit klappt dies auch ganz gut

Allerdings haben meine Kollegen sehr unterschiedliche Arbeitszeiten und ich bin i.d.R gezwungen, eventuelle Updates nach Feierabend oder an Wochenenden zu installieren, um möglichst niemanden zu stören


Um einen Großteil der Arbeit aber während der Arbeitszeit zu erledigen, helfe ich mir immer mit der "Erreichbarkeit der Clients" und "Session Information" Buttons. Hier fände ich es allerdings ganz praktisch,

wenn der Opsi Config Editor dies automatisch in bestimmten Zeitabständen oder clientseitig (wenn ein User sich ausloggt/runterfährt, dann soll er dies dem OPSI Server melden) prüfen könnte, da ich so schneller

sehen könnte, ob der Arbeitsplatz gerade verfügbar ist oder nicht - wäre es möglich, dies zu implementieren?


Auch teste ich gerade die neue Testing Version 4.0.4 - Da habe ich festgestellt, dass wenn man das Event "silent_install" bei einem beliebigen Client ausführt, immer swaudit und hwaudit ausgeführt wird; egal, was man ausgewählt hat

Ansonsten schonmal ein großes Dankeschön an dem Entwicklerteam - ihr nehmt den Admins so eine Menge Arbeit ab :)


Mit freundlichen Grüßen

Damien
dkoch
Beiträge: 309
Registriert: 25 Nov 2011, 14:03

Re: Wunsch: Erreichbarkeit + Session Information automatisch

Beitrag von dkoch »

silent_install führt die Producte aus die dafür definiert wurden. Standardmäßig sind das swaudit und hwaudit. Lies da nochmal in der Dokumentation zum Silent Setup nach.
damien.leviet
Beiträge: 110
Registriert: 24 Feb 2014, 11:30

Re: Wunsch: Erreichbarkeit + Session Information automatisch

Beitrag von damien.leviet »

dkoch hat geschrieben:silent_install führt die Producte aus die dafür definiert wurden. Standardmäßig sind das swaudit und hwaudit. Lies da nochmal in der Dokumentation zum Silent Setup nach.
Okay habe nochmal nachgelesen und es gefunden - irgendwie schade, dass immer nur eine vordefinierte Liste geht,

da es z.B. sehr praktisch wäre, kleinere Programmupdates über den opsi config editor auszuwählen & dann im Hintergrund auszuführen. So stört man die Leute halt immer mit den Opsi Dialogen


Danke trotzdem
dkoch
Beiträge: 309
Registriert: 25 Nov 2011, 14:03

Re: Wunsch: Erreichbarkeit + Session Information automatisch

Beitrag von dkoch »

Silent_Setup ist für audits gedacht. Was du möchtest kannst du dir über ein eigenes event realisieren. Such hier im Forum dazu gibt es schon diverse Beiträge
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: Wunsch: Erreichbarkeit + Session Information automatisch

Beitrag von n.wenselowski »

Hallo Damien,

regelmäßige Rückmeldungen an den OPSI-Server könnte man mit Events realisieren, wie bereits von dkoch erwähnt.
damien.leviet hat geschrieben:Um einen Großteil der Arbeit aber während der Arbeitszeit zu erledigen, helfe ich mir immer mit der "Erreichbarkeit der Clients" und "Session Information" Buttons. Hier fände ich es allerdings ganz praktisch,
wenn der Opsi Config Editor dies automatisch in bestimmten Zeitabständen oder clientseitig (wenn ein User sich ausloggt/runterfährt, dann soll er dies dem OPSI Server melden) prüfen könnte, da ich so schneller
sehen könnte, ob der Arbeitsplatz gerade verfügbar ist oder nicht - wäre es möglich, dies zu implementieren?
Für die Variante, dass man Installationen beim Herunterfahren ausführt, gibt es die Erweiterung Installation bei Shutdown. Mehr Infos dazu hier bzw. hier.


Gruß

Niko

Code: Alles auswählen

import OPSI
damien.leviet
Beiträge: 110
Registriert: 24 Feb 2014, 11:30

Re: Wunsch: Erreichbarkeit + Session Information automatisch

Beitrag von damien.leviet »

dkoch hat geschrieben:Silent_Setup ist für audits gedacht. Was du möchtest kannst du dir über ein eigenes event realisieren. Such hier im Forum dazu gibt es schon diverse Beiträge
Ja diese Beiträge habe ich gefunden. Ich verstehe auch das Prinzip, wie so ein Event aufgebaut ist, aber irgendwie bekomme ichs nicht wirklich hin

Möchte ich beispielsweise Werte wie connection_timeout (Standard = 30) ändern, geht das über dem opsi config editor unter Host-Parameter -> opsiclientd soweit ganz gut:

Code: Alles auswählen

opsiclientd.config_service.connection_timeout = 10
Möchte ich aber ein eigenes Event erstellen (zum testen erstmal auf dem Client direkt) und führe ihn dann über die Konsole aus, erhalte ich:

Code: Alles auswählen

"message": "Event my_custom_event' not in list of known events: on_demand, gui_startup, silent_install, sync_completed, software_on_demand, panic"
Mein Event in der opsiclientd.conf sieht folgendermaßen aus:

Code: Alles auswählen

[my_custom_event]
super = default
type = custom
name = on_demand
event_notifier_command =
Ja, es soll erstmal nur das Benachrichtigungsfenster ausgeblendet werden, zum testen - wein Ziel wäre, wenn ich wie gesagt über dem opsi config editor die diversen Aktionen für die Clients auswählen

und dann mittels meines eigenen Events starten könnte, und zwar ohne Benachrichtigung an die User.

Als Zwischenlösung habe ich aber folgenden, serverseitigen Parameter angelegt:

Code: Alles auswählen

opsiclientd.event_silent_install.action_processor_productids = "<meine> <produkt> <ids>"
Damit kann ich schonmal für bestimmte Gruppen eine unbeaufsichtigte Installation festgelegter Produkte ausführen - allerdings wäre mir halt die Methode über das Auswahlmenü lieber :)

n.wenselowski hat geschrieben:Hallo Damien,

regelmäßige Rückmeldungen an den OPSI-Server könnte man mit Events realisieren, wie bereits von dkoch erwähnt.
damien.leviet hat geschrieben:Um einen Großteil der Arbeit aber während der Arbeitszeit zu erledigen, helfe ich mir immer mit der "Erreichbarkeit der Clients" und "Session Information" Buttons. Hier fände ich es allerdings ganz praktisch,
wenn der Opsi Config Editor dies automatisch in bestimmten Zeitabständen oder clientseitig (wenn ein User sich ausloggt/runterfährt, dann soll er dies dem OPSI Server melden) prüfen könnte, da ich so schneller
sehen könnte, ob der Arbeitsplatz gerade verfügbar ist oder nicht - wäre es möglich, dies zu implementieren?
Für die Variante, dass man Installationen beim Herunterfahren ausführt, gibt es die Erweiterung Installation bei Shutdown. Mehr Infos dazu hier bzw. hier.


Gruß

Niko
Das habe ich mir schon gedacht, nur war meine Frage eher in die Richtung, ob der Config Editor mir live den Onlinestatus anzeigt, eben dass ich nicht jedesmal den Button klicken muss
dkoch
Beiträge: 309
Registriert: 25 Nov 2011, 14:03

Re: Wunsch: Erreichbarkeit + Session Information automatisch

Beitrag von dkoch »

Ich hatte mich hier nur auf deine Frage zum Silent_Install bezogen.

Für die Sessions stellt sich das Problem, dass die Information nicht teil des Backends ist.

Die benutze Methode ist:

Code: Alles auswählen

method hostControlSafe_getActiveSessions  
Allerdings wird die Info direkt im configed ausgegeben und nicht im Backend gespeichert. Für das was du vor hast bedarf es schon größerer Umbau-arbeiten als nur ein event zu erstellen. Patches sind willkommen :D
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: Wunsch: Erreichbarkeit + Session Information automatisch

Beitrag von n.wenselowski »

Hallo Damien,
damien.leviet hat geschrieben:Möchte ich aber ein eigenes Event erstellen (zum testen erstmal auf dem Client direkt) und führe ihn dann über die Konsole aus, erhalte ich:

Code: Alles auswählen

"message": "Event my_custom_event' not in list of known events: on_demand, gui_startup, silent_install, sync_completed, software_on_demand, panic"
Mein Event in der opsiclientd.conf sieht folgendermaßen aus:

Code: Alles auswählen

[my_custom_event]
super = default
type = custom
name = on_demand
event_notifier_command =
Das Event sieht noch nicht so gut aus, unter anderem, weil es den gleichen Namen hat wie ein bereits vorhandenes Event und andererseits, weil die Sektion nicht mit event_ beginnt.

Ich würde es mal so versuchen:

Code: Alles auswählen

[event_my_custom_event]
super = default
type = custom
name = my_custom_event
event_notifier_command =

Gruß

Niko

Code: Alles auswählen

import OPSI
damien.leviet
Beiträge: 110
Registriert: 24 Feb 2014, 11:30

Re: Wunsch: Erreichbarkeit + Session Information automatisch

Beitrag von damien.leviet »

n.wenselowski hat geschrieben:Hallo Damien,

Das Event sieht noch nicht so gut aus, unter anderem, weil es den gleichen Namen hat wie ein bereits vorhandenes Event und andererseits, weil die Sektion nicht mit event_ beginnt.

Ich würde es mal so versuchen:

Code: Alles auswählen

[event_my_custom_event]
super = default
type = custom
name = my_custom_event
event_notifier_command =

Gruß

Niko
Hallo Niko,

sorry; der Name war nur beispielhaft und leider schlecht gewählt ;) Naurlich hatte ich event_ vor dem Namen.

Habe jetzt auf meinem Testclient in der opsiclientd.conf folgendes event definiert:

Code: Alles auswählen

[event_still]
super = default
type = custom
name = still
event_notifier_command = 
action_processor_command = %action_processor.command% /silent
über die opsiconf interface page habe ich folgende Query ausgeführt:

Code: Alles auswählen

{ "method": "hostControlSafe_fireEvent",
 "params": ["still", "myworkst.domain.local"],
 "id": 1 }
Resultat ist:

Code: Alles auswählen

{"id": 1,

"result": {"myworkst.domain.local": {"result": null,

"error": {"message": "Event 'still' not in list of known events: on_demand, gui_startup, silent_install, sync_completed, software_on_demand, panic",

"class": "ValueError"}}},

"error": null}
Danke für deine Hilfe

EDIT: Es funktioniert - aber erst, nachdem ich den Dienst neu gestartet hatte

Gibt es eine Möglichkeit, dass wenn ich später über dem Server das Event definiere, die Clients zuerst die Änderung abrufen und dann erst die Aktionen ausführen?

Ich meine da gab es was, bin mir aber nicht sicher ob das so ist


Gruß
Damien
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: Wunsch: Erreichbarkeit + Session Information automatisch

Beitrag von n.wenselowski »

Hallo Damien,

der Dienst liest beim Start die Konfiguration ein und erkundigt sich beim Server nach Änderungen.
Daher das Verhalten.

Man kann per on_demand-Event triggern, dass sich der Client eine neue Konfiguration holt. Ich bin mir aber gerade nicht sicher, ob es auch mit den Events funktioniert, ich nehme an das nicht. Mit einem Neustart geht man hierbei auf Nummer sicher.


Gruß

Niko

Code: Alles auswählen

import OPSI
Antworten