• We value your experience with Plesk during 2024
    Plesk strives to perform even better in 2025. To help us improve further, please answer a few questions about your experience with Plesk Obsidian 2024.
    Please take this short survey:

    https://pt-research.typeform.com/to/AmZvSXkx
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Resolved System Health Monitor Service crashes on Windows

burakoner

New Pleskian
Server operating system version
Windows Server 2016
Plesk version and microupdate number
Plesk Obsidian 18.0.47
Hi,

I'm using Plesk Obsidian on Windows and System Health Monitor Service (C:\Program Files (x86)\Plesk\admin\bin\Parallels.MonitorSrv.exe)
crashes ALWAYS when it runs. There is error log in below but you 'll understand problem when I explain it.

I have two disks (C, D). My primary disk is C, and I use D for only backup purpose. I backup files to D Disk locally, then I upload them to Google Drive automatically. So Yes I have Google Drive application on machine. Google Drive applications creates a virtual disk (generally G:\). When system health monitor service try to read this disk it crashes. I tried many thing to solve it. I tried to change permissions, security settings on G disk, b ut I failed because it if a virtual disk and you cant change many thing on that drive.

There is crash log in below. As you can imagine, this logs are very old because It's impossible to start this service on my machine.
You just need to add a try-catch block for reading Disks (specially with G letter). I think it will solve this problem.

Logs from C:\Program Files (x86)\Plesk\admin\logs\HealthMonitoring20221025.log

2022-10-26 00:13:03,981 [5] INFO Parallels.Diagnostics.Counters.ProcessMonitor [(null)] - Initializing ...
2022-10-26 00:13:04,261 [5] INFO Parallels.Diagnostics.Counters.WmiEventWatcher [(null)] - Starting ...
2022-10-26 00:13:04,496 [5] INFO Parallels.Diagnostics.Counters.WmiEventWatcher [(null)] - Started
2022-10-26 00:13:04,496 [5] INFO Parallels.Diagnostics.Counters.WmiEventWatcher [(null)] - Starting ...
2022-10-26 00:13:04,716 [5] INFO Parallels.Diagnostics.Counters.WmiEventWatcher [(null)] - Started
2022-10-26 00:13:04,732 [5] INFO Parallels.Diagnostics.Counters.ProcessMonitor [(null)] - Initialized
2022-10-26 00:13:04,732 [5] INFO Parallels.Diagnostics.Counters.ProcessPerfDataCollector [(null)] - Initializing ...
2022-10-26 00:13:04,732 [5] INFO Parallels.Diagnostics.Counters.ProcessPerfDataCollector [(null)] - Initialized
2022-10-26 00:13:04,747 [5] INFO Parallels.Diagnostics.PerformanceMonitor [(null)] - Initialized.
2022-10-26 00:13:04,747 [5] INFO Parallels.Diagnostics.PerformanceMonitor [(null)] - Starting ...
2022-10-26 00:13:04,747 [5] INFO Parallels.Diagnostics.PerformanceMonitor [(null)] - Started
2022-10-26 00:13:14,534 [4] FATAL Parallels.Diagnostics.HealthMonitoringService [(null)] - System.UnauthorizedAccessException: Access to the path 'G:\' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.__Error.WinIODriveError(String driveName, Int32 errorCode)
at System.IO.DriveInfo.get_TotalSize()
at Parallels.Diagnostics.Counters.DiskUsedSpaceCounter.get_Value()
at Parallels.Diagnostics.CounterSet.OnTimerCallBack(Object state)
at System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireQueuedTimerCompletion(Object state)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Have a nice day
 
Back
Top