· Feb 25, 2022

Monitoring Status of IRIS Production

Hello All,

I am looking for some ideas from people who have automated alerting in place for their Ensemble or IRIS productions.  

I want to start with basic things like, simply checking if a Production is up and running. Once this has been achived, I am looking to go deeper and implement monitoring on each interface level for things like, Queue Size, Errors and Inactivity.

Would appreciate if you can share some ideas. I have been exploring http://localhost:52773/api/monitor/metrics but don't see anything in there that tells me whether my Production(s) are running ok or not.

Thank you.



Product version: IRIS 2021.1
$ZV: IRIS for Windows (x86-64) 2021.1 (Build 215U) Wed Jun 9 2021 09:39:22 EDT
Discussion (3)0
Log in or sign up to continue

Hi Utsavi,

It is possible by implementing monitoring integration (business service, business Process as Router, Business Operation as rest call) and deploying in the same production.

1) Implement Customised Business service which triggers by every 5 min (this you can configure) to call methods fr each of your requirement and get the data from cache and prepare the respective type of message and call Business Rules engine.

Example Methods:

1)getHeartbeat()  method  fetch the currently running version of production and namespace and prepared customised heartbeat message and send to the Rules engine

2) getQueuestatus() this method fetches the interested queues info from the cache and prepare the new message for each queue and send it to the business rules engine

3)getInactivity() this method gets all inactive processes and prepares the new message for each process and sends them to the rules engine.

create as many methods as per your requirement.

Now in business service write rules for each type of message, and check respective values are reaching threshold value (if needed ) then send message to Rest endpoint using Business Operation.

This rest service will read the messages and stored them in a web application database.

Web application Shows the summary of the data and refreshes every 5 minutes.

This way, whatever monitoring values using ENSLIB class methods you can read using cache script by calling embedded SQL, All readings you can show in your web page.

If production is down, As this integration is the same production, your heartbeat messages also missing in next 5 min with other messages. You can build logic in a webpage, if the heartbeat is older than 5 min, shows in the web app as Production down.

Hope this idea helpful to you , we did the same way for our monitoring requirement


Prashanth P

I'm using Zabbix to monitor all IRIS status and it works great. Zabbix has alert features (Triggers) that communicate with me via email or communication channels (like slack) when an incident occurs. I collect status information, errors, performance, etc. I use SNMP protocol indicators and other indicators through ODBC, some created by me and others obtained through monitor collections.