- 24 Apr 2024
- 1 Minute to read
- Print
- DarkLight
- PDF
SiteMonitor: The SiteMonitor and/or Logging Service fails to start
- Updated on 24 Apr 2024
- 1 Minute to read
- Print
- DarkLight
- PDF
Symptoms
SiteMonitor service does not start after stopping, or after a server reboot.
SiteMonitor Logging service does not start after stopping, or after a server reboot.
Environment
SiteMonitor version 2.0.8841
Cause
Pharos Systems digitally signs, via a trusted Certificate Authority, our applications and DLLs and registers them with Microsoft. The .NET Framework requests signature validation at runtime, and this is an expensive network-based request. Part of this network request contacts the Certificate Authority owner and Microsoft to determine if the certificate has been revoked by looking at a Certificate Revocation List (the "CRL"). In many cases, the server hosting the Pharos software is unable to reach an external network (VLAN rules, Internet proxy server restrictions, etc.), and so the requests eventually time out.
This check for the CRL occurs during the "Starting Services" phase of the installation, and results in a timeout within the Service Manager. This causes a misleading error message during installation ("Product: Pharos Systems Site Monitor -- Error 1920. Service 'Pharos Logging Service' (PSLoggingService) failed to start. Verify that you have sufficient privileges to start system services.") and can also cause a failure in service startup during normal operation.
The process above is called "generating Publisher Evidence" so that, if the application includes it, .Net can impose security permission during the application's execution. Pharos Systems does not use Publisher Evidence, so it can be safely disabled while still providing the benefits that signed code provides. During installation, the only way to avoid the issue is to allow temporary Internet connectivity on the server. Post-installation, this can be remedied by making a change to the SiteMonitor services' configuration.
Resolution: Disabling Publisher Evidence Generation
Stop both the Pharos Logging Service and the Pharos Systems SiteMonitor service.
Launch NotePad.exe as an administrator.
Choose File > Open and browse to <drive letter>:\Program Files (x86)\PharosSystems\SiteMonitor\Logging and open PharosSystems.LoggingService.exe.config.
Add the following directly above the last line (</configuration>):
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
Save the file and close it, but keep Notepad open.
Choose File > Open and browse to <drive letter>:\Program Files (x86)\PharosSystems\SiteMonitor\Service and open PharosSystems.SiteMonitor.Service.exe.config.
Add the following directly below the line (</configSections>):
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
Save the file and close it. These configuration changes cause .NET to skip the check against the published Microsoft Certificate Revocation List server at http://crl.microsoft.com, which prevents any undue timeout in starting either of these services.
Start the Pharos Logging Service and Pharos Systems Site Monitor services.