Simple Network Monitoring Tool or SNMT is a real time monitoring tool. The tool has builtin alert capabilities whenever an incident happens. The grouping functionality enables the restriction of view based on user. SNMT monitors IP devices, Network links , URLs/ Webaddresses .
Developed by : Thomas M Sebastian > thomasms2003@gmail.com
Prashant Sahu >
Versions are : SNMT Lite
SNMT TURBO
Technologies/functionalities : HTML
Java
JSP
Servlets
SQL
We started with the design>> Product Design. So where to start ? We startedwith internet only. Searches, testing some related tools. But we didntfindanything useful or that can help us. Then we discussed on what could bethedesign like.Since Prashant left the design to me , I started working on it. Thekeyfactors that I considered during the Product design are
Re-Usability >> The end user who is using this should get the advantageofreusability. He should be able to customize the product.
Technology >> Main obstacle in each product is the technology we use.Weaimed at technologies that are widely accepted across the globe & whicharereadily available
Cost effective >> End user can use this Tool with its presentinfrastructure.And usage of opensource technologies or suites will help inachieving those.
Technology >> we were sure of one thing >> Java , we were equipped withJava.
Initial start or spark was done by Mr Prashant with a simple java programwhichchecked the status of devices by pinging them. It was run fromcommandprompt. We were waiting for this initial signal. Then ideas piled up.
Then we made some general design. I started with the Web interface,adomainwhich I am familiar with and able to do magics.The huge task was toconvert thesmall java program into a jsp page . After several trials I succeededandrefreshment of Jsp page resulted in updation of the device status anddatabase.How ever this increased the load on the web interface, which alsoresulted in asubstantial delay in refreshing the page. So we separated the Weblayer GUI andthe java programs .
Technologies/Functionalities Used
Java
JavaScript
Java Applets
JSP
HTML
Demons
SQL
Challenge areas
KSA - India Coordination
Integration
Another Heavy task was the integration.From India I got prototypes or skeletons. Then I hadtoadd flesh to it by integrating with the GUI. We had faced problems like ,
while our first demo , I was having the updated pages and Prashant was not having it,whichcaused lots of problems
While our final demo , Prashant made modification to DB and I had to make changes justhoursbefore we had the demo. We were under pressure.
Integration of modules eventhough, we were in different time zones, was done perfectly atlast.Achieving the objective in time.
Maps
Maps were one of the toughest & critical parts of the development process. We had a toughtimein finding the right technology to generate one. Finally we relied on Java itself, this timeJavaApplets. Prashant should be appreciated for the work/effort he has done to generate those .Themap generation and its auto refresh so that the current status is displayed everytime wastoughchallenge and was accomplished by Prashant. After creating a map , we had a great level of satisfaction. Seeing the map , WOW
Striking Balance
JSP Conversion
Another hurdle was the conversion of html to jsp inorder to include the session and thejavaprograms . Since all the jsp [70+] were hard coded, even if there is one small change , I have to do it in all consecutive pages. Man my hands are moving fast faster fastest , based on the number of lines , words tags , Mind blowing
- Demons
Demons, which adds the main functionality also gave tough time , as we had to incorporate all the logic
of the history, messages, status update etc. URL monitoring is an idea that Prashant has put forward. This was
added as an enhancement to the tool.
- Multiple SQL Queries
One more pain area was multiple sql queries, one within another. In between connections close , error in insert query, update query, column not found, sql general error. This queries made my brains heating up . But the good thing is we were determined to overcome those and come with output. Daily night 3am-4am was the sleeping time and wake up at 640am.
- Generating Messages
Generation of Messages wasnt that difficult, but the trick/logic used was something brain storming. We also have the option to generate message continuously. Second option being generation if there is a change in the status [UP to Down] or [Down to UP]. Most important part was creation of messages according to user. I came up with the idea of teaming/ grouping users and resources .
- History/ Reports
Storing the History helped in reducing the task of complexity in generation of messages. This was where I applied some tricky logic. History table will contain all the data related to the device status. However initially, history table was designed to generate messages continuously. Since it will increase the db size, we updated the history browser whenever there is a status change.
The challenge was to update the table depending on the previous entry. For that, it all was dependent on the status from demons. And I designed the table differently so that in one single row or record the uptime and downtime is recorded. If that record is complete then only a new record will be added for that resource. What I have done is I have read all the entries in table and then took the last update regarding that particular device/resource. Calculated whether the last updated status is down or up. Based on that the new entry was done.
- Personalized Views
These views enabled the user to view only the devices/resources allocated only to him. For this we had to change the db so many times. I came up with the idea of Grouping. A device/resource will be added to a particular group.The user will be added to that group. You can create and associate more groups with one user. So a user can view resources in those groups.
- Single Page for multiple tasks
Initially I used so multiple pages to perform multiple tasks. Later on, as got hands on, I used a single jsp page to perform four tasks [eg: deletion, modify, add, reset]
The architecture of the tool
Logically the tool can be seen as three parts.
- GUI-Web Interface
- Demons/Background programs
- Database
- GUI-Web Interface >> The Interface between the tool and user. GUI is so simplified so that almost all actions can be performed without going to the codes or storage. Also Web GUI is so powerful to provide you the network MAPs along with current status.
- Demons/Background programs >> Background programs are the heart of the tool. This Demons/program make the main functionality of the tool.The status of devices/links/urls/snmp etc
- Database >> SNMT data is stored in this database. In fraction of seconds so many write and read operations are performed to manipulate data.
Capabilities
The Main capability include
Monitoring
- Network Devices/ IP Devices >> The SNMT can monitor the devices especially those which are SNMP enabled. It also can monitor any IP Device.
- Links >> Links are also included in SNMT, which are critical part of the organisation
- URLs >> Web pages or web addresses which are accessed by users daily and which are critical can be monitored using SNMT.
SNMP Monitoring
SNMP Monitoring can be performed in SNMT. Through this feature the values of a device are accessed and polled in an interval time to time. IP Ranges For device creation/addition , SNMT allows the user usage of IP ranges. The devices will be created with corresponding values.
File upload
SNMT has been developed keeping in mind the ease to use capability. So we have added a file upload option. Through this option end user can create devices which by uploading the file he has formatted according to SNMT . End user has the freedom to use iprange in file upload.
Network Maps
The entire devices and its status can be viewed in a single network map. The map also displays links and its status. The change in status is shown by colour changes. So a map can cater major requirements of instant monitoring of your infrastructure and allow you to make decisions quickly.
Grouping
This feature has been added in SNMT so as to define visibility area for a user, Depending on grouping the user will be entitled to view the devices and links etc.
Historical Data Collection
The events of device down device up are stored in the database. This will help in generating reports.
Reports
Reports which can be generated from the data we have stored in SNMT DB, Email SNMT can be configured to send emails to the users on alerts.
Database Management
Database management is another added advantage where in we can clean up entire SNMT database. We can also clean specific databases.
User Management
Administrator can create the user. User can have two permissions, user and administrator.
Group Management
Admin can create the group. Groups can be matched/mapped to multiple users. Depending on the mapped groups, a user can see the devices, links etc
Messages/Alerts Inbox
SNMT will generate messages whenever there is a change in status of the devices managed . And this inbox will be refreshed automatically. Administrator can view both the inbox [Acknowledged and Unacknowledged] Personalised Inbox Using the grouping property of SNMT, a use can view only specific messages, which are generated by devices, links, URL which are assigned to that user
User Specific Visibility
With the help of grouping, user can only view the devices, links, messages and urls etc which are assigned to him. Likewise we can assign multiple devices urls links to a user.
Major Highlights
Network graphs
SNMT gives you a better insight to your networks with its maps. Through SNMT maps you can View the device View links View the status of the Devices, Links Drag the nodes as you like
Messages/ Alerts
SNMT has an inbuilt inbox to store the alerts/messages that you will be obtaining. SNMT also has the capability to send emails. Even if don’t have the email , SNMT built in inbox will help you to keep the messages. The most important part is that these inboxes are personalised according to user. User can only view the messages that administrator assigns. Administrator can view all messages irrespective of the groups assigned to him
SNMP data
SNMT also comes with the add-on feature of SNMP polling. For this we have loaded some generic mibs. How ever you can select the oids which you want to use for a particular device. SNMT also allows you to use community strings for polling . Administrator can view the snmp polling results. SNMP polling results contain the neighbouring node and its status, bandwidth etc




