Gibt es eine empfohlene Startreihenfolge der Dienste?
Alle Services und Dienste führen ein Reconnect aus. Es kann dennoch sinnvoll sein, eine Reihenfolge zu beachten, vor allem, da einige Services viel Last beim Starten ziehen und einige nicht unbegrenzt Reconnects ausführen. Da Gateway und Servicemanager eine Weile brauchen, sollte eine Wartezeit eingebaut werden. Die Zeit richtet sich danach, wie lange die Services benötigen. Bitte in die Protokolle des Servicemanagers schauen.
Über ElasticSearch kann man streiten. Im Normalfall ist es aus enaio Sicht nicht nötig diesen Dienst zu stoppen oder zu starten. Der Dienst ist eine Datenbank, welche die Volltextdaten beinhaltet. Es gibt keine Aktionen in Richtung enaio. Nur enaio Diensten arbeiten mit dem Elasticsearch (indexservice, searcgservice und ccservice). Soll ElasticSearch dennoch ebenfalls neu gestartet werden, ist die Empfehlung:
zuerst den ElasticSearch starten und zuletzt stoppen.
Bei großen Datenbanken oder bei Fehlern ist es sogar sinnvoll abzuwarten bis alle Shards geladen sind, ehe der Servicemanager mit Index- und Search-Service startet.Dazu kann einfach je eine BAT oder CMD oder Powershell-Skript (1x stoppen und 1x starten) erstellt werden. Es ist auch möglich, darin geplante Tasks zu deaktivieren oder Anwendungen zwangsweise zu beenden, wie axauto oder axdata2sap ....
Man muss bei Abschießen von Anwendungen prüfen, ob die Aktionen, bei denen abgebrochen wurde, auch korrekt nach dem Neustart laufen.
Wer mag, kann sich sogar ein Protokoll erstellen lassen. Dazu in der BAT einfach ECHO-Befehle einbauen mit Ausgabe in einer Textdatei.
Kurzfassung:
Zuerst dem enaio Dienst (= axsvckrn.exe). Da alles über das Gateway geht, danach das Gateway. Weil dieser die Discovery und weitere Daten des Servicemanagers abfragt, den Servicemanager als nächstes starten. Bevor Clientanwendungen oder Schnittstellen (Webclient, Repositorymanager bis enaio 9.10, OSCServer ...) starten, sollten alle Kerndienste laufen.
Im Windows stehen diese Befehle dafür bereit:
Befehl | Bedeutung |
|---|---|
net start/stop | Start/Stopp eines Dienstes auf dem aktuellen Server |
sc start/stop | Start/Stopp eines Dienstes auf dem entfernten Server. Damit kann auch ein Dienst auf dem aktuellen Server gestoppt/gestartet werden. |
timeout | Wartezeit in Sekunden |
schtasks | geplante Task bearbeiten |
taskkill | zwangsweises Beenden von Anwendungen |
Schritt-für-Schritt-Anleitung
empfohlene Start-Reihenfolge:
sc \\server1 start "enaio" sc \\server2 start "enaio blue gateway" timeout /t 10 sc \\server2 start "enaio_blueline_service-manager" sc \\server3 start "enaio_blueline_service-manager" timeout /t 20 sc \\server2 start "enaio blue appconnector" sc \\server2 start "enaio blue webservices" sc \\server2 start "enaio blue documentviewer" sc \\server3 start "enaio blue documentviewer" sc \\server2 start "enaio_blueline_webclient" sc \\server2 start "repman" sc \\server3 start "OscService"empfohlene Stopp-Reihenfolge:
sc \\server3 stop OscService sc \\server2 stop "enaio_blueline_webclient" sc \\server2 stop "repman" sc \\server2 stop "enaio blue documentviewer" sc \\server3 stop "enaio blue documentviewer" sc \\server2 stop "enaio blue appconnector" sc \\server2 stop "enaio blue webservices" sc \\server2 stop "enaio_blueline_service-manager" sc \\server3 stop "enaio_blueline_service-manager" sc \\server2 stop "enaio blue gateway" sc \\server1 stop "enaio"Beispiel für Dienste vorher deaktivieren und nachher aktivieren
sc \\10.1.1.2 config "enaio" start= disabled sc \\10.1.1.2 config "enaio" start= autoBeispiel für Deaktivieren/Aktivieren von geplanten Tasks: Beispiel für Job namens Bereinigung im Ordner enaio:
schtasks /s 10.1.1.2 /change /tn "\enaio\Bereinigung" /disable schtasks /s 10.1.1.2 /change /tn "\enaio\Bereinigung" /enableBeispiel für Protokoll-Erstellung:
Wenn das Log neu erstellt oder überschrieben werden soll, ">" verwenden:echo Dienste stoppen %date% %time% > d:\protokolle\dienst_restart.log
Wenn alle Daten in das vorhandene Log angefügt werden sollen ">>" verwenden (ist das Protokoll nicht vorhanden, wird es erstellt):echo Dienste stoppen %date% %time% >> d:\protokolle\dienst_restart.log
Die Dienstnamen sollten aus der Windows-Dienste-Verwaltung kopiert werden. Der Anzeigename und der tatsächliche Dienstname können unterschiedlich sein.
Beispiel Servicemanager:
Anzeigename = "enaio service-manager", Dienstname = "enaio_bluline_service-manager"