Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
    
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 –  tgkprog Apr 27 '13 at 13:03
    
monitoring servers is one of the notification user can set, there are other type of notification which can be set base on the behavior and output of other subsystems like their state and etc. –  mrz Apr 27 '13 at 13:32
    
how many systems and users do you have? you could put a new my sql data base for this –  tgkprog Apr 28 '13 at 5:20
    
8 systems totally a many users. –  mrz Apr 28 '13 at 6:20
1  
I have actually started to make my own, so I wrote a generic library which all other system can use. And I have added a new Database with some tables for rules and notification. –  mrz May 2 '13 at 5:41
show 1 more comment

1 Answer

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.

share|improve this answer
    
Thank you, will surely have a look on it, and this a very good tool to know about for future projects. But I need to write our own solution, because the subsystems ,AFAIK, are not allowed to be connected to internet. Is it possible to use nagios in a intranet? better to read the docs...cheers though. –  mrz Apr 28 '13 at 4:44
    
yes it is possible to use on an intranet. older versions were open source. its just another web server with a lot of commands, tested by money, refined and ready for use! –  tgkprog Apr 28 '13 at 5:15
    
then cool, I will have look for sure. Thank you. –  mrz Apr 28 '13 at 6:21
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.