Woran kann es liegen, dass ein Service mehr als 1x geladen wird - z. Bsp. dmsservice
typisches Fehlerbild:
Auf der Maschine starten Dienste mehrfach, blockieren Ports oder zeigen instabiles Verhalten - die VM frisst Ressourcen und geht in die Knie.
Im Log sieht man meist nur Fehler und permanenten Neustart des Services sowie die Meldung, dass der Port xy schon in Benutzung ist. Ist eine Range eingestellt, versucht der Service alle Ports dieser Range.
Es gibt viele Gründe für das Verhalten. Bitte nachfolgende Punkte prüfen.
Schritt für Schritt Anleitung
Benutzerkontensteuerung
Wichtig: Die Benutzerkontensteuerung darf nicht auf höchstem Level stehen, sonst können sich die Komponenten nicht “sehen”, also nicht feststellen, ob ein Prozess läuft oder nicht. Folge ist, dass der Service eine weitere Instanz startet.
Anpassung / Prüfung:
Windows-Benutzerkontensteuerung starten und prüfen, welches Level eingestellt ist.
Dazu bei Windows nach “Benutzer” suchen:
”Einstellungen der Benutzerkontensteuerung ändern”Das Level prüfen. Maximal vorletzte Stufe darf eingestellt sein, wie im Screenshot zu sehen:
Sollte der Schalter auf höchstem Level stehen, muss er mind. 1 Stufe heruntergestellt werden.
Wichtig: Nach der Anpassung der Benutzerkontensteuerung muss der Server neu gestartet werden, sonst greift die Einstellung nicht.
Windows-Berechtigungen
Wenn nicht genügend Windows-Rechte vorhanden sind, kann der Dienstbenutzer nicht feststellen, ob ein Service bereits läuft oder darf ihn gar nicht erst starten. Folge ist, dass der Service es weiterhin versucht.
Anpassung / Prüfung:
Dienstbenutzer ermitteln. Dazu die Windows-Dienste-Verwaltung aufrufen und prüfen, welcher Benutzer eingetragen ist. Beispiel:
Im Windows Computerverwaltung aufrufen und darin die Benutzer/Gruppenverwaltung = “lokale Benutzer und Gruppen”.
Dann die Gruppe “Administratoren” öffnen mit Doppelklick.
Ist der Dienstbenutzer aus Punkt 1 hier vorhanden oder eine Gruppe, welcher dem Dienstbenutzer zugeordnet sind (dies sieht man nur im Active Directory)?
Beispiel:Falls der Benutzer oder die Gruppe des Dienstbenutzer fehlt, bitte Ergänzen über den Button “Hinzufügen”.
Nach der Anpassung die betroffenen Dienste neu starten. Ist der Benutzer auch am Windows angemeldet, empfiehlt sich vom Windows abmelden und dann neu anmelden.
Virenscanner oder Softwareüberwachung
Je nach Virenscanner oder Softwareüberwachungstool kann es unterschiedliche Stellen geben, an denen Anpassungen vorgenommen werden müssen. Bitte bei der jeweiligen Software prüfen, was wie anzupassen ist.
Beispiel für Defender:
im Windows nach Defender suchen und “Viren- & Bedrohungsschutz” aufrufen
Den Link “Einstellungen verwalten” anklicken:
Aus der Liste “Ausschlüsse“ heraussuchen und anklicken und darin “Ausschlüsse hinzufügen oder entfernen”:
Dann als Ordner enaio herausnehmen und ggfls. Java.exe.
Beispiel:Die Änderungen sind normalerweise sofort wirksam.
Windows-Firewall
Ist die Firewall aktiv, benötigt es eine Freigabe aller enaio Ports. Je nach Firewall und Gruppenrichtlinien kann es erforderlich sein, nicht nur die Ports auf dem Server freizugeben, die installiert sind, sondern alle Ports, über die kommuniziert wird. Es kann auch nötig sein, ausgehende Ports freizuschalten.
Je nach enaio Version gibt es unterschiedliche Ports. Bitte über die jeweilige enaio Version ermitteln, welche Ports es sind. Die Informationen findet man je bei “Release-Informationen, Systemvoraussetzungen”.
enaio 11.10 hat diese Ports: https://help.optimal-systems.com/enaio/v1110/install/de/system/s_server.htm
Kurzform der letzten Versionen:
Ab enaio 10.00:
enaio Server: 4000, Gateway: 80+8080+443 (443 bei SSL), Documentviewer: 8070, Appconnector: 8060, Webservice: 8050, Webclient (OSWEB): 9090 , Servicemanager: 7281 (argus) + 7273 (admin) + 7261 (discovery) + 7981 (dms) + 7361 (ems/mailstorage) + 7211-7220 (extraction) + 7371 (license) + 7241 (ocr) + 8010 (osr3 / repman) + 7311-7320 (messaging) + 7530-7539 (archive) + 7981 (dms) + 8046 (tagging) + 8099 (office365) + 8091 (dashlet365) + {7372 (barcode)} + 8045 (Index) + 8040 (Search) + 8048 (Migration), ElasticSearch: 8041+9300-9400, OSC: 8082+14000Ab enaio 10.10:
OSWEB ist nicht mehr 9090, sondern 7900!
neuer Service: 8047 (ccService)Ab enaio 11.10:
neue Services: 7910 (Applet), 8092 (RMALINK), 8094 (ILM)
Webservice entfällt (8050)
Anpassung / Prüfung:
in Windows Firewall suchen und die erweiterte Sicherheit aufrufen:
Eine neue eingehende Regel erstellen.
Ports zulassen und die Liste der Ports eintragen (mit Komma getrennt).
Beispiel:mit OK speichern.
Sollte eine ausgehende Regel nötig sein, eine erstellen im entsprechenden Zweig. Bitte beachten: In diesem Zweig ist die Vorbelegung der Aktionen “Verbindung blockieren”. Das muss auf “Verbindung zulassen” gestellt werden.
Mit dem Speichern sind die Änderungen sofort aktiv.
Windows-Einstellung für WMI-Leistungsindikatoren
Die Hinweise wurden bereitgestellt von Janko Weise.
Eine wichtige Rolle spielen die WMI-Leistungsindikatoren. Windows nutzt sogenannte WMI-Leistungsindikatoren, um Systeminfos (z. B. CPU-Auslastung oder Prozesse) bereitzustellen. Diese Daten werden aus der Registry gelesen. Wenn diese beschädigt ist, funktionieren viele Systemabfragen nicht mehr korrekt – auch nicht für unsere Service-Überwachung, die der Argus zur Steuerung des Hochfahrens der Services nutzt.
elevante Log-Auszüge
WMI/Performance Counter Fehler
watcher.7281 : 2025-06-25 09:05:02.518 WARN 6604 --- [essManagerTimer] o.util.platform.windows.WmiQueryHandler : COM exception: Invalid Class Win32_PerfRawData_PerfProc_Process WHERE NOT Name LIKE "%_Total"→ Windows kann keine Prozessdaten auslesen – vermutlich defekte Leistungsindikatoren.
Folgefehler: Prozess-ID kann nicht ermittelt werden
watcher.7281 : 2025-06-25 09:04:34.509 WARN 6604 --- [essManagerTimer] c.o.e.s.processmanager.ProcessManager : Failed to get process id.→ Dienste werden mehrfach gestartet, weil laufende Prozesse nicht erkannt werden.
Ports bereits belegt
watcher.7281 : 2025-06-25 09:05:10.893 INFO 6604 --- [essManagerTimer] c.o.e.s.processmanager.ProcessManager : adminservice Port [7273] is already in use.→ Dienste starten erneut, obwohl sie schon aktiv sind.
Lösung
Leistungsindikatoren reparieren via Powershell in Admin-Kontext:
lodctr /R→ Stellt alle Systemzähler aus der Registry wieder her.
Screenshot:
Konfigurationsproblem
Es kann auch vorkommen, das man sich bei der Konfiguration vertan hat und anstelle Instanz auf 1 zu stellen, eine andere Zahl eingetragen hat.
Dann versucht der jeweilige Service auch die Anzahl an Instanzen hochzufahren. Ist keine Range eingestellt, wird der nächstfolgende Service feststellen, dass der Port schon belegt ist.
Beispiel, wie es aussehen sollte: DMS-Service soll 2x aktiv sein
Dazu in der servicewatcher-sw.yml im Servicemanager\config-Verzeichnis bei DMS-Service die Instance auf 2 stellen und bei Port mind. 2 Ports als Range hinterlegen.
Beispiel: