· May 13, 2022

Creating a custom monitoring page


Currently we are using an older Healthshare instance but I am not opposed to using IRIS as we will upgrade eventually. 

Currently for monitoring productions we have a Montior screen. We have both the Queues page and a Deepsee dashboard which has current status of our services. The issue with the Deepsee method we currently have with traffic lights is 1) the page is a bit slow to load the metrics 2) any new services from the team  a new widget needs created and although this is easy enough to do it just is time consuming. 


What I would like to achieve is at it's most basic be able to get the current list of buisness services out of the production, a bit like the tStatement.%PrepareClassQuery("Ens.Config.Production","EnumerateConfigItems") but instead of just getting enabled/disabled I would like to get the status of the components as displayed in the production monitor page, Even as just a list. So at the top of a page I can list any in the error status to make it really really clear when there is any issues. To be honest it is like a version of Production monitor page but there is a lot on there in the way it is displayed that is a bit complex for a general montior page but if could get the general stats off there to simplify things into a new once size fits all page for us would be great. 

Product version: Caché 2017.1
Discussion (5)1
Log in or sign up to continue

I plan to be accessing it via a website saved in intersystems server to be accessed on the server. I have some ideas how it will look/work. Is mainly the finding the current errored services as one of the things I just can't seem to find in existing code how to get the status. I plan to have any suspended and queues or where intersystems has stopped a operation because of E=D  but think I know ways to get the rest of this to make a really nice clean clear monitor page

Hi Mark,

I have adapted the code for Production Monitor into a custom class User.ProductionMonitor. It can get host info (status OK or Error) and also Queues sizes. I also created ProductionManager.csp to display the info. I hope it helps you. Hopefully you will share what you do and maybe we both get a better solution!

Please see code here: oliverwilms/production-monitor (

Thanks Oliver this has been great. I have created a fork of this original code for our own use- i don't use github too much so hope this is an ideal way to keep the information sharing from your initial work done that was great. I have not included on an error section due to trying to keep things simple on a monitor screen but it could be added if others wish. If there are further updates will try keep my code on github for this up to date if possible and still quite non bespoke as seems fair for anyone who wants a better solution.