System Monitoring Overview

Customer Monitoring Responsibilities

If the customer provides a server the following parts of the systems are under the customer's responsibility to maintain.
  • The network connected to the Imorgon servers.
  • The Server Hardware
    • Operating environment
      • Air Conditioning
      • Vibration or Earthquake Proofing
      • Stable and Conditioned AC Power Supply
      • Uninterrupted Power Supply
    • Proper racking of the server and earthquake or flood proofing
    • Server Computer Health
      • CPU and System Temperature
      • Memory Errors
      • Fan Speeds
      • Disk Error Rates, Deterioration Monitoring and Swapping
      • RAID Errors
      • Power Supply Issues
    • Maintenance Contract
      • Maintenance contract and contact information in the event a hardware service is needed, including the serial numbers.
  • Base Operating System
    • Installation of the Windows Server OS
    • Windows Updates
    • Anti-Virus System compliant with the institution's IT policy
    • Monitoring for Kernel level "blue screen" crash
  • Networking
    • Ethernet switch
    • Router and Firewall configurations to meet the Imorgon application requirements
    • Site to Site VPN Connectivity

What is Imorgon iMonitor?

It is a pro-active system monitoring tool operating at Imorgon Application level. This is different from, for example, HP Insight Monitor which performs more at the platform level. It is designed to extensively monitor various aspects of Imorgon's functionality. For example,
  • Is the Databse up and running?
  • How much disk spaces are left on the machine?
  • How long ago was did we receive Today's exam. If we did not receive one for a while when we are supposed to, make an alert
  • Is the mirroring working?
  • Are all prefetching mechanism working without backing up the queue?
  • Is WebViewer service working as expected?
  • Has there been a large number of errors in the Server's error log?
  • Has there been a large number of errors in the Windows even log?
  • Can we access external DICOM resources such as PACS, Modality Worklist etc.
Each Imorgon server (not workstations) or a demo system collects these technical data and then send them to our monitoring server  every 15 to 30 minutes over a AES encrypted socket connection (HTTPS), in addition most servers are programmed to send "I am alive" message every 5 minutes. This way if a communication link goes down we also know that. It is like asking your not-speaking-to-you teen-ager to check in with you every so often so you know they are alive. The technical data contains numerical values such database record quantities, retry time-out values, or simple pass-fail messages. There is never a patient identifying information being transmitted.

If these conditions are starting to deteriorate, then the monitoring console system at Imorgon HQ will show an Yellow status with respect to the customer. If we really should do something, then the conditions will show Red. 


  • We have our monitoring software and we want to use that too. Would it affect iMonitor?
    • It would be one of the "famous last words" but we dare to say "No, it won't affect." This is because iMonitor is an application level monitoring and it will not perform system level stuff like SNMP. We do trust you are monitoring the basic computer health such as CPU temperature, fan speeds, fan failures and SMART disk failure rates using Site SCOPE or Nagios. But even if you do not or cannot monitor hardware problems, they will eventually show up in iMonitor when there still is sufficient time to deal with situations proactively since we require redundant clustered server systems... we will fail over the cluster and take time (a few days) to fix the failed box while the clinical production will continue.

  • What language does it use to implement the iMonitor?
    • The agent side (i.e., on your server) runs as simple scheduled tasks and it is all implemented in the Python programming language. As such we can make minor local tweaks or even add additional monitoring features immediately.

  • How Does iMonitor transmit information? Is is Secure? Does it contain patient identifying information?
    • iMonitor always uses Secure HTTP protocol to transmit its data to the monitoring server. If there is a VPN tunnel from your site to our data center, that's also used on top of HTTPS!
    • iMonitor transmits mostly numeric and short text information about the generic state of the system such as amount of disk space left or number of items backed up in the processing queue or in the system error log. It is completely decoupled from the product's logs, and we never send the content of logs over the monitoring.
    • iMonitor is completely decoupled form Imorgon product software. All imorgon production software is written in C# or VB.  iMonitor is Python based system. In addition, iMonitor specifically does not copy any information from any of the logs. Log informations are only transmitted in terms of the numeric counts, for example, number of errors or warning found over time. So there is no easy way, even by mistake, to put some patient identifying information through.
    • Combined with above two measures,  we feel that the security risk is very minimum to the customers.