Hallo,
ich möchte aus der Empirum Datenbank, den aktuellen Softwarestand aus der Datenbank auslesen, also welche Pakete wirklich auf dem Client installiert ist.
Ich habe bis jetzt die Tabelle ArchiveDistJobs benutzt, aber die Lösung finde cih nicht so optimal, da dort auch die Deinstallation geloggt wird und ich so immer zu einem Paket den letzten Status auslesen müsste.
Ausserdem fehlen mir Informationen was die InstallModi
- Install
- Install(User)
- Install(Machine)
bedeuten.
Gruß
rap123
Software Stand der Clients auslesen
Hi,
ich würde die Inventory-Tabellen statt der ArchiveDistJobs nehmen in Verbindung mit der Clients-Tabelle. Das Log wirst du irgendwann bereinigen und dann sind deine Werte nur noch Schall und Rauch.
ArchiveDistJobs eignet sich nur für kurzfristig erforderliche Daten, z.B. Rollout-Überwachung, Fehler, Requirements, etc.
Gruß,
Micha.
ich würde die Inventory-Tabellen statt der ArchiveDistJobs nehmen in Verbindung mit der Clients-Tabelle. Das Log wirst du irgendwann bereinigen und dann sind deine Werte nur noch Schall und Rauch.
ArchiveDistJobs eignet sich nur für kurzfristig erforderliche Daten, z.B. Rollout-Überwachung, Fehler, Requirements, etc.
Gruß,
Micha.
ok, habe mir das mal angesehen. nutze zur zeit empirum2008 trial.
wann wird denn die InvSoftware aktualisiert? Nur wenn das inventory auf dem client angestossen wird, oder auch wenn der installer pakete nachinstalliert hat?
Und in meiner InvSoftware ist die SoftwareID komplett mit 0 ausgefüllt, in der Software hingegen ist die ID richtig. Ist das ein bug oder ein feature?
Weiterhin tauchen in der InvSoftware, nur die Software auf, die sich schon auf dem Client befunden hatte. durch das Inventory. In der ArchiveDistJobs stehen demnach nur die Informationen, die der Empirum Client installiert hat.
gruß
wann wird denn die InvSoftware aktualisiert? Nur wenn das inventory auf dem client angestossen wird, oder auch wenn der installer pakete nachinstalliert hat?
Und in meiner InvSoftware ist die SoftwareID komplett mit 0 ausgefüllt, in der Software hingegen ist die ID richtig. Ist das ein bug oder ein feature?
Weiterhin tauchen in der InvSoftware, nur die Software auf, die sich schon auf dem Client befunden hatte. durch das Inventory. In der ArchiveDistJobs stehen demnach nur die Informationen, die der Empirum Client installiert hat.
gruß
Hi,
2 paar Schuhe:
Log:
ArchivDistJobs enthält die Log-Einträge der Clients.
Wenn ein Client installiert, dann wird ein Log geschrieben (Running)
und wenn er fertig ist noch eins (success oder error)
Bei Paketen mit Userteil (/AW) erfolgt dies für den Maschinenteil einmal (Running, Success, Error), z.B. Install (Machine)
und dann jedes mal wenn ein Userteil läuft nochmal, z.B. Install (User)
Bei einem AW-Paket werden also mindestens 4 Logfiles geschrieben.
Die Log-Informationen stehen sofort zur Verfügung, wenn der Log-Service sie aus Configurator\Log eingelesen hat.
Aber: Wenn nach einiger Zeit das Log aufgeräumt wird, werden alte Werte gelöscht und damit vermutlich Deine Auswertungen verfälscht. Außerdem siehst du nur das alter der Loeinträge, nicht aber, ob der Client überhaupt noch lebt oder du eine Leiche in der DB hast. Ich bin noch nichtmal sicher ob die Logs gelöscht werden, wenn du den zugehörigen Client löschst.
Diese Informationen eignen sich meines erachtens am Besten für die Überwachung von Fehlern, da man die ja möglichst zeitnah für eine Reaktion braucht. Oder um mal eben zu sehen wie ein Rollout so läuft.
Inventory:
Die Inventardaten werden dann aktualisiert, wenn das Inventory ausgeführt wird, stehen also ggf. später zur Verfügung. Es empfiehlt sich also ein Inventory in der Genauigkeit wie man die Daten braucht durchzuführen. Die meisten meiner Kunden machen das über das Login-Script bzw. GPO und zusätzlich z.B. einmal im Monat per Paket (Damit fängt man auch die dauerangemeldeten User ein).
Das Inventory entspricht immer genau dem was auf dem Client installiert ist.
Nachteil: Du kriegst keine Errors raus, das Paket ist ja einfach nicht da, und die Daten liegen später vor.
Vorteil: du kriegst auch andere, nicht per Empirum verteilte Software raus, die Daten sind zuverlässig und so lange verfügbar wie der Client in der DB existiert, du kannst über das Inventory-Datum leichter erkennen, ob der Client noch lebt.
Warum die SoftwareID leer ist kann ICH dir nicht wirklich zu 100% erklären.
Wenn da was drinstehen sollte, dann müsste das jedenfalls die Dienste-Logik oder die Datenbank machen. Der Client weiss von der SoftwareID ja nix, der liest nur was in seiner DDC-Datei und in der swdepot.dds drinsteht, kennt also selber keine ID, braucht die nicht, kann sie aber auch nicht liefern.
Über den PackageName würdest du aber an die ID rankommen können, wenn du sie brauchst.
Gruß,
Micha.
2 paar Schuhe:
Log:
ArchivDistJobs enthält die Log-Einträge der Clients.
Wenn ein Client installiert, dann wird ein Log geschrieben (Running)
und wenn er fertig ist noch eins (success oder error)
Bei Paketen mit Userteil (/AW) erfolgt dies für den Maschinenteil einmal (Running, Success, Error), z.B. Install (Machine)
und dann jedes mal wenn ein Userteil läuft nochmal, z.B. Install (User)
Bei einem AW-Paket werden also mindestens 4 Logfiles geschrieben.
Die Log-Informationen stehen sofort zur Verfügung, wenn der Log-Service sie aus Configurator\Log eingelesen hat.
Aber: Wenn nach einiger Zeit das Log aufgeräumt wird, werden alte Werte gelöscht und damit vermutlich Deine Auswertungen verfälscht. Außerdem siehst du nur das alter der Loeinträge, nicht aber, ob der Client überhaupt noch lebt oder du eine Leiche in der DB hast. Ich bin noch nichtmal sicher ob die Logs gelöscht werden, wenn du den zugehörigen Client löschst.
Diese Informationen eignen sich meines erachtens am Besten für die Überwachung von Fehlern, da man die ja möglichst zeitnah für eine Reaktion braucht. Oder um mal eben zu sehen wie ein Rollout so läuft.
Inventory:
Die Inventardaten werden dann aktualisiert, wenn das Inventory ausgeführt wird, stehen also ggf. später zur Verfügung. Es empfiehlt sich also ein Inventory in der Genauigkeit wie man die Daten braucht durchzuführen. Die meisten meiner Kunden machen das über das Login-Script bzw. GPO und zusätzlich z.B. einmal im Monat per Paket (Damit fängt man auch die dauerangemeldeten User ein).
Das Inventory entspricht immer genau dem was auf dem Client installiert ist.
Nachteil: Du kriegst keine Errors raus, das Paket ist ja einfach nicht da, und die Daten liegen später vor.
Vorteil: du kriegst auch andere, nicht per Empirum verteilte Software raus, die Daten sind zuverlässig und so lange verfügbar wie der Client in der DB existiert, du kannst über das Inventory-Datum leichter erkennen, ob der Client noch lebt.
Warum die SoftwareID leer ist kann ICH dir nicht wirklich zu 100% erklären.
Wenn da was drinstehen sollte, dann müsste das jedenfalls die Dienste-Logik oder die Datenbank machen. Der Client weiss von der SoftwareID ja nix, der liest nur was in seiner DDC-Datei und in der swdepot.dds drinsteht, kennt also selber keine ID, braucht die nicht, kann sie aber auch nicht liefern.
Über den PackageName würdest du aber an die ID rankommen können, wenn du sie brauchst.
Gruß,
Micha.
d.h. wenn das inventory auf dem client ausgeführt wird, werden anschliessend die aufgenommen daten in die empirum datenbank InvSoftware geschrieben?
Das Problem ist nun das ich nun kein vernünftiges mapping auf die softwarepakete bekomme da die felder unterschiedlich sind, und ich dann nicht herausbekomme ob der Acrobat Reader 8.1.2, der Reader ist der in der Software tabelle drinsteht. Und somit kann ich nicht überprüfen, ob das Paket auch wirklich auf dem Client installiert ist.
Gruß
rap123
Das Problem ist nun das ich nun kein vernünftiges mapping auf die softwarepakete bekomme da die felder unterschiedlich sind, und ich dann nicht herausbekomme ob der Acrobat Reader 8.1.2, der Reader ist der in der Software tabelle drinsteht. Und somit kann ich nicht überprüfen, ob das Paket auch wirklich auf dem Client installiert ist.
Gruß
rap123
Who is online
Users browsing this forum: No registered users and 4 guests