Apologies for the long post…
Where I work we have a system with many subsystems which are located in different locations. All the subsystems process some data and write the result on A database. In case any other subsystem needs the output f other subsystems it gets connected to the database and read from it. And that is how subsystems are communicating together. Also there is GUI which get connected to the DB and shows information to the end user. The interaction between database and subsystems are very high, and although I argued that this is not a very good choice of design, I have been told that due to lots of reasons (mainly “business-wise” and short deadlines) we cannot change anything in the system for now.
Now we want to add a new feature where user can add notification-alert system where in case something happened in any subsystem, it notifies the user via GUI. And of course depend on different subsystem there would be different items that should be considered. And based on these items user can specify a rule for the alert. For example, On different server we have software which get the server information like CPU and RAM usage and etc. SO these could be items for user to set a rule for a notification alert. Like if memory used space exceed X percent.
The only way I can think to solve this is, to create new tables in the database. When user add a new rule for a subsystem, insert the rule into the data base. And every subsystem reads the data base to see if any rule has been specified for it. But this means every subsystem should read from database every minute at the most, and I think this would break our system… And then subsystems write the result on the DB and GUI also reads the DB to see if any notification should be shown to user……
any thought on how to overcome this?
6
Made it an answer as it fits and would have to make multi comments.
Nagi os can help with auto monitoring and notifying. its a full monitoring software with extns, UI, versions for windows and linux. we use it to monitor both linux/ unix and windows.
“there are other type of notification which can be set base on the behavior and output of other subsystems like their state ”
You can do that with nagios too. We have some custom pages that output “okay” if everything okay and if there is some warning or error then output “Warning: …” we configure nagios to look at these pages and can configure who to report to (contact group). we have email for warnings and SMS & email for other. the sms part is our own code (we use in other places too) that is called by NagiOS to send SMS (text on mobile) alert. (the custom pages have IP restrictions so they can be viewed in LAN only)
Have a look at nagios and see about the plugins, frontends, config tools …
You should look in to security and having at least two roles in Nagi OS – admin and user.
2