Self Monitoring

Zu Exchange habe ich auf E2013:Heathcheck beschrieben, wie sich Exchange 2013 selbst überwacht und ggfls. korrigierend eingreift. Die wenigsten wissen aber, dass auch Lync eine solche Funktion hat. Wenn Sie mal in die Problematik kommen, dass ein Service nicht mehr funktioniert, dann können Sie auch erkennen, dass Lync hier korrigierend eingreift. Sie "sehen" das aber eigentlich nur im Eventlog.

Diese Serie an Meldungen habe ich auf einer sehr alten Audiocodes SBA bewusste gesehen, bei der die 2GB Ram anscheinend doch nicht genug sind, um aktuellere Versionen von Lync 2013 robust zu betreiben. Ein Update der SBA auf das aktuellste Image wird hier angeraten. Ggfls. eine Ertüchtigung der Hardware durch mehr RAM und SSDs.

Hier mal ein paar Events in chronologischer Reihenfolge.

Erste Anzeichen

Der erste Hinweis auf ein Problem ist die Meldung vom "LA Applications Module", welches erkennt, dass ein oder mehrere Applikationen nicht laufen. Als Applikationen zählen nicht nur Dienste und Programme sondern hier auch die Routingskripte (MSPL), die im Lync Frontend aktiv sind.

Log Name:      Lync Server
Source:        LS Applications Module
Date:          8/1/2014 6:35:31 AM
Event ID:      30254
Task Category: (1010)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      sba.msxfaq.net
Description:
Lync Server one or more critical applications are not running.

Time to Shutdown: '296' Seconds. Application Uri 'http://www.microsoft.com/LCS/InterClusterRouting
'
Cause: One or more installed critical applications are not running. 
  If this continues für five minutes, the Server will be shutdown.
Resolution:
  Check the event log für errors reported by individual applications 
  and resolve the errors. Service restart will be required.

Der Server hat nun 300 Sekunden Zeit, um diesen Fehler abzustellen. Vielleicht war es ja "nur" eine temporäre Überlast. Es ist ein Zufall, dass hier ca. 27 Sekunden ein weiterer Eintrag erscheint. Nun ist das "LS Application Module" der Meinung, dass der ClientVersionFilter nicht mehr mag.

Log Name:      Lync Server
Source:        LS Applications Module
Date:          8/1/2014 6:35:56 AM
Event ID:      30210
Task Category: (1010)
Level:         Warning
Keywords:      Classic
User:          N/A
Computer:      sba.msxfaq.net
Description:
Lync Server application is not responding and is being disconnected.

Application Uri 'http://www.microsoft.com/LCS/ClientVersionFilter'
  Cause: This can occur if the managed application is slow to respond to messages 
  or if the server is under heavy load or the application has become unresponsive.
Resolution:
If the server load it too heavy, consider getting a faster machine or hosting 
  fewer users on the server.  If the application is slow, contact the author of the application.

Shutdown der AppDomain

Nach 90 Sekunden seit dem ersten Event meldet das "LS Application Module", dass der den "AppDomain Hostprocess" herunter fährt da die Anwendungen darin wohl nicht mehr laufen.

Log Name:      Lync Server
Source:        LS Applications Module
Date:          8/1/2014 6:36:31 AM
Event ID:      30262
Task Category: (1010)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      sba.msxfaq.net
Description:
Lync Server AppDomain host process is being shutdown because one '
  or more critical applications failed.

Cause: One or more installed critical applications are not running.
Resolution:
Check the event log für errors reported by individual applications 
  and resolve the errors. Service will attempt to re-start the 
  shutting down process automatically.

Das hat natürlich noch etwas gedauert, bis nach dem Senden des "EXIT"-Signals der Prozess dann auch abgebrochen wurde. Das wiederum meldet dann der "LS Server" ca. 2,5 Minuten später oder ca. 3,5 Minuten seit dem ersten Event

Log Name:      Lync Server
Source:        LS Server
Date:          8/1/2014 6:38:50 AM
Event ID:      12331
Task Category: (1000)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      sba.msxfaq.net
Description:
Worker process exited prematurely.  The process will be automatically restarted.

Process: 'c:\Program Files\Microsoft Lync Server 2013\Server\Core\RtcHost.exe'
  Exit Code: 0!_HRX! (The operation completed successfully.!_HRM!).

Shutdown des Frontend

Diesen ungewöhnlichen Fehler nimmt nun aber das "LS Application Module" zum Anlass, den kompletten Frontend Service zu beenden.

Log Name:      Lync Server
Source:        LS Applications Module
Date:          8/1/2014 6:38:50 AM
Event ID:      30255
Task Category: (1010)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      sba.msxfaq.net
Description:
Lync Server Front-End Server is being shutdown because one or more critical applications failed.

Application Uri 'http://www.microsoft.com/LCS/ClientVersionFilter
http://www.microsoft.com/LCS/TranslationService
http://www.microsoft.com/LCS/InterClusterRouting
http://www.microsoft.com/LCS/IIMFilter
http://www.microsoft.com/LCS/UserPinService
http://www.microsoft.com/LCS/DefaultRouting
http://www.microsoft.com/LCS/ExumRouting
http://www.microsoft.com/LCS/OutboundRouting
'
Cause: One or more installed critical applications are not running.
Resolution:
Check the event log für errors reported by individual applications and resolve 
the errors. Service restart will be required.

Und es geht munter weiter.

Log Name:      Lync Server
Source:        LS Server
Date:          8/1/2014 6:40:31 AM
Event ID:      12304
Task Category: (1000)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      sba.msxfaq.net
Description:
The component Live Communications Applications Module (application: Default) reported 
a critical error: code C3F2762F!_HRX! (!_HRM!). The service has to stop.
Log Name:      Lync Server
Source:        LS Server
Date:          8/1/2014 6:40:33 AM
Event ID:      12330
Task Category: (1000)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      sba.msxfaq.net
Description:
Failed starting a worker process.

Process: 'c:\Program Files\Microsoft Lync Server 2013\Server\Core\RtcHost.exe'  
   Exit Code: C3E83201!_HRX! (SIPPROXY_E_SHUTDOWN_REQUESTED!_HRM!).
Cause: This could happen due to low resource conditions or insufficient privileges.
Resolution:
Try restarting the server. If the problem persists contact Product Support Services.

Windows startet den Dienst

Am Ende bemerkt auch Windows, dass hier ein Dienst "ungeplant" beendet wurde und verzeichnet dies im Eventlog

Log Name:      System
Source:        Service Control Manager
Date:          8/1/2014 6:42:12 AM
Event ID:      7024
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      sba.msxfaq.net
Description:
The Lync Server Front-End service terminated with service-specific error %%-1007520209.

Wenn Sie sich dann die Einstellungen des Dienstes anschauen, dann ist klar, was als nächstes passiert:

Entsprechend gibt es im Eventlog dann auch die Meldung, dass Windows nach 3 Minuten den Dienst wieder startet.

Log Name:      System
Source:        Service Control Manager
Date:          /1/2014 6:42:22 AM
Event ID:      7031
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      sba.msxfaq.net
Description:
The Lync Server Front-End service terminated unexpectedly.
  It has done this 1 time(s).
  The following corrective action will be taken in 
  180000 milliseconds: Restart the service.

Microsoft rechnet also schon damit, dass ein Skype für Business Server auch einmal ein Problem haben kann und hat entsprechende "Überwacher" schon eingebaut. Diese erkennen einen Fehler und wenn er sich nicht löst, dann werden die Dienste neu gestartet. Das ist natürlich keine Dauerlösung aber letztlich besser als mit einem nicht funktionsfähigen System weiter zu arbeiten, bei dem dann ein Admin doch wieder die Regel "Reboot tut gut" anwendet.

Suchen und Finden

Wenn sich die Neustarts aber häufen, dann sollten Sie schon hinterher sein und die Ursache suchen. Eine Suche nach dem Event "7031" im Systemeventlog ist durchaus hilfreich, um so einen Neustart durch Windows zu finden. Das geht per WMI, VBScript, Powershell o.ä.

Get-WinEvent -FilterHashTable @{LogName='System'; ID=7031} | ft Timecreated,message -AutoSize

So eine Suche kann durchaus noch anderen "Beifang" produzieren, z.B. wenn andere Dienste ebenfalls plötzlich ein Problem hatten.

Wer ein Enterprise Log Management hat, kann natürlich dort die Events betrachten und sogar zwischen Servern eventuell eine Abhängigkeit erkennen. Aber sie können auch auf dem Server selbst sich eine Mail generieren lassen, wenn dieser Event auftaucht.

Weitere Links