picture archiving and communication systems ( pacs ) and other imaging - related information technology ( it ) systems have grown in popularity over the last decade . initially used within departments as radiology - focused tools with a small number of users , these systems have now grown to become enterprise - class resources for departments outside of radiology . as demand for and reliance on these systems have continued to grow , so has the demand for an always - on infrastructure and system architectures that can support mission - critical availability and uptime.1 meeting these requirements is often a challenge for pacs and radiology it professionals . many system architectures delivered as standard offerings by industry vendors lack redundancy and/or failover capabilities . most pacs teams rely on their clinical users to alert them to problems as they occur . this is a less - than - ideal management approach because it requires that a system fail sufficiently to adversely affect users before the pacs team is notified of the problem . moreover , it places the onus of problem - reporting responsibility on the already time - challenged end - users . users often grow dissatisfied in this role and either ignore the issue or wait hours to report it , delaying the repair time , allowing the problem to affect growing numbers of their end - user colleagues , and , in worst - case scenarios , adversely affecting patient care . with the truly mission - critical nature of these systems , the need to understand possible failure modes and react quickly is high . a much preferred and more straightforward approach is proactive monitoring of system availability.2 system monitoring tools are available to automatically watch over all systems in a department or hospital.3 these tools can remotely monitor the ports of a server for activity and can alert it staff if no activity is detected . digital imaging and communications in medicine ( dicom ) , health level 7 ( hl7 ) , databases , and web services all run on different ports and can be monitored separately . by using these tools , pacs support team members can be automatically notified by pager when a possible problem exists and can work to repair issues more quickly . monitoring tools can also provide useful statistics ( e.g. , uptime reporting to the system service level ) , restart failed services , and interface with ticketing systems to perform issue tracking and trending analysis . implementation of these tools provides the added advantage of having an independent system monitor the availability of a pacs system . this can be quite useful when trying to hold a vendor accountable to an uptime guarantee in a service - level agreement . although commercial packages are available , these are often expensive and lack custom tools to monitor imaging - specific criteria ( such as dicom availability ) . commercial packages may also lack the requisite flexibility to monitor such criteria as message queues for radiology information systems ( ris ) . we report here on the implementation of an open source monitoring tool customized to our departmental needs and on our assessment of its utility in routine clinical imaging operations . we implemented the open source availability monitoring package nagios4 and configured it to be a comprehensive availability monitoring solution in a heterogeneous environment of 68 systems with 108 monitored services . we installed the nagios packages on an hp dl360 server ( hewlett - packard , palo alto , ca , usa ) with dual central processor units and 2  gb ram running the gentoo5 linux operating system . each  contact  had a name , e - mail address , pager e - mail address , and availability window for paging . these contacts were split into groups , such as  pacs_team  and  ris_team .  the host servers were then set up in the system . each host was configured with a name , internet protocol address , interval for monitoring ( 24    7 in most cases , but 8    5 for those up only during business hours ) , and notification options ( down , recovered , warning states ) . the interval functionality was useful for those devices and modalities that were turned off during specific time periods ( such as overnight ) . groups were created from the list of hosts and assembled on the basis of function . some of the groups we formed were pacs_archives , pacs_databases , and ris_servers . one of the most powerful features of nagios was the ability to create customized approaches to search for more than the availability of a single port . nagios uses a series of programs or scripts for monitoring as part of its standard functionality . the exit codes used are 0 ( ok ) , 1 ( warning ) , and 2 ( critical ) . one example of the utility of these codes is in a queue checker we created . in this scenario , a script connects to a database and pulls the value of a specific queue . if the value is > 50 , the program exited with a code of 2 ( critical ) . if it is between 25 and 49 , the program exited with a code of 1 ( warning ) . if the value is < 25 , the program exited normally with an exit code of 0 ( ok ) . one advantage of using an open source application in this role was the relative ease with which codes can be extended to add functionality . our system was customized to monitor criteria beyond system availability , to include port monitoring , queue status , and dicom availability of pacs gateways and subspecialty visualization work stations , and was more broadly used for an overall picture of the health of our information systems . additional plug - ins were created to restart services in the event of a failure , to log a ticket in our open source issue tracking system ( radtracker),6 as well as page our team members in the event of an issue . table  1specific ports and services used by nagios for system monitoringports and servicesicmp or ping for general availabilityport 80 for http web server availabilityport 443 for https secure web server availability ( including ssl certificate expiration)port 104 for dicom ( specifically c - echo)port 53 for domain name service port 21 for file transfer protocol port 25 for simple mail transport protocol port 3306 for mysql database availabilityport 1433 for microsoft sql availabilityport 1521 for oracle database availabilityport 389 for lightweight directory access protocol web services health checker status  screen scraping of queue monitoring web pages with scripting to enable a restart of interface via url string specific ports and services used by nagios for system monitoring we installed this system in 2006 and monitored its usefulness over a 6-month period from december 2006 to may 2007 . the system was extremely effective at providing an overall view of the health level of our systems as well as specific data about availability . benefits that were realized as a result of this implementation included ( but were not limited to ) : 
 automated monitoring with web - based access to system management data . the software provided a comprehensive view of the systems in our environment , monitoring 68 servers on a 24    7 basis . in addition , remote radiology sites were monitored , giving the added benefit of measuring wide area network ( wan ) availability to remote locations ( fig . the system was integrated with our inhouse paging system via simple mail transfer protocol to our local e - mail gateway . by integrating the system in this fashion , alerts could be sent directly to staff members pagers via e-mail.integration with problem management systems . the system was integrated with our paging system via direct open database connectivity insertion into our local issue tracking system s mysql database ( fig .  2 ) . this allowed the team to track any specific issue as part of the normal call resolution process and provided a knowledge base in the system for root cause analysis as well as a methodology for repair.service level agreement reporting . the system provided an overall system uptime view with time - frame customization reporting for availability , with detail down to the service level for each specific host or host group ( fig . the system could monitor these interfaces via a screen scrape of the web page and restart those interfaces that allowed for a restart when passed via a uniform resource locator string.health check status of systems via web service . when provided by vendors , the system could also monitor health and other status via web service capabilities.over the 6-month period , the system generated 461 issues in our issue tracking system . a breakdown of these issues by category 3service log entries.table  2breakdown of alerts submitted into ticketing system over 6  monthstype of eventnumber of occurrenceshost availability of ping209interface or queue problems104dicom c - echo51web server failure40web - services - related37lightweight directory access protocol ( ldap ) bind failures8misc . the software provided a comprehensive view of the systems in our environment , monitoring 68 servers on a 24    7 basis . in addition , remote radiology sites were monitored , giving the added benefit of measuring wide area network ( wan ) availability to remote locations ( fig .  1 ) . the system was integrated with our inhouse paging system via simple mail transfer protocol to our local e - mail gateway . by integrating the system in this fashion the system was integrated with our paging system via direct open database connectivity insertion into our local issue tracking system s mysql database ( fig .  2 ) . this allowed the team to track any specific issue as part of the normal call resolution process and provided a knowledge base in the system for root cause analysis as well as a methodology for repair . the system provided an overall system uptime view with time - frame customization reporting for availability , with detail down to the service level for each specific host or host group ( fig . the system could monitor these interfaces via a screen scrape of the web page and restart those interfaces that allowed for a restart when passed via a uniform resource locator string . when provided by vendors , the system could also monitor health and other status via web service capabilities . over the 6-month period , the system generated 461 issues in our issue tracking system . a breakdown of these issues by category these types of failures were either total system failures or network - related , oftentimes indicating a wan link failure . not all notifications were failures , however , because normal network maintenance at our facility was also included . on several occasions , the use of this tool was effective in providing warning notifications to wan vendors of a network failure or performance degradation before the vendor had been alerted to a problem . the second most common failure mode was related to interfaces either dropping or having a high number of messages that exceeded a predetermined threshold for that queue . by keeping interfaces available and within guidelines , we were able to keep the flow of data to a more real - time level . by scripting interface restarts and turning these into an automated process this failure mode was critical , because it effectively monitors the ability of systems to send images via dicom to pacs . this functionality does not normally exist in commercial monitoring packages and was of great importance since we were able to effectively monitor our system s ability to function as a dicom sender or receiver . the nagios plug - in for this feature was created using the dcmtk dicom toolkit7 to both perform the c - echo and determine if the association was completed successfully . in one case , we observed that by simply monitoring the dicom service for a particular host with c - echos at 5-min intervals , we were able to prevent dicom service failures that had previously been a frequent occurrence on the device . other remaining failure modes included web servers , web services , and lightweight directory access protocol bind issues , among others . monitoring for these failures was a critical addition and a great benefit for our group , because traditional availability - only monitoring ( through internet control messaging protocol or ping alone ) would not in most cases have revealed these failure modes as these types of failures most often occur for specific services within servers themselves . in such a scenario , servers would answer a ping and would appear to be available on a network but , in fact , would be experiencing an internal failure that would leave them nonfunctional or in a degraded state and unavailable to users . by capturing these failure modes through our monitoring efforts , we were able to respond immediately to issues that might not be obvious to standard monitoring systems . we found the nagios availability tool to be effective in the proactive support of mission - critical radiology and other clinical imaging systems . support staff were notified in real time with monitoring tool alerts to warning signs of possible system failures . although some pacs and ris vendors offer their own monitoring packages , we found that the addition of an independent monitoring tool that was outside of vendor control was effective and allowed the monitoring of multiple vendors through the same interface . this comprehensive approach to monitoring departmental and enterprise applications across all support environments provided a comprehensive view of system availability . we found that open source monitoring tools such as nagios could provide cost - effective independent monitoring . the benefits of using an open source tool included independent monitoring , agility in adaptation , and an open tool box for customizations . if a new application or system needed to be monitored , custom or prepackaged plug - ins could be utilized without the need of a purchase order or lengthy development turnaround time . the use of nagios as a system alerting and availability tool allowed us to monitor our systems for failures and notify our support staff immediately when problems occurred . the result was enhancement of our continuing efforts to achieve always - on systems and mission - critical delivery of services to our customers .