4 Replies Latest reply on Sep 25, 2008 8:11 AM by spendlet8801

    Create Node Classes

      I would like the ability to create node classes and sub-classes. It would be great if it worked like OUs in Active Directory where I create the class and assign configuration settings, such as managed or unmanaged, polling intervals, customer pollers, SNMP communities etc. to the class. Then any node I assign to the class automatically inherits those settings. Under node details there could then be a check box next to each setting to allow me to overide the class setting for that feature. I estimate this could save hundreds of man-hours. For instance If I wanted all my nodes in Chicago to be status polled every 2 minutes, but my nodes in a small branch office to be polled every 15 minutes except the main router which would get polled every 5 minutes. Right now it is very labor intensive to set that level of granularity when you are dealing with a large number of nodes.  Or how about if a branch office grew to the point where we upgraded it's service class and now I want to change the polling interval for the whole office. Without out classes I have to edit each node individually. With classes I only have to make a few edits or move those nodes to a different class. 

        • Re: Create Node Classes
          denny.lecompte

          Are you using in NPM 9.0?  If so, you can create custom properties to group your nodes.  You can use these custom properties to group node in web node management.  You can then select all of the nodes with that custom property and make a change such as polling frequency to all of them at once.  Isn't that pretty much what you're asking for?

            • Re: Create Node Classes

              Sort of, but what about other items that can be assigned to nodes? What About nesting? What if I wanted to have a class called Cisco Routers and under that Routers with WAE Modules. Or nest servers such as All Servers -> All Remotes Servers -> AD controlers. The Custom Tag only allows one level of granularity. What about future nodes? If a new node comes online I will still have to set the custom property and then maually edit it's configuration. I would like the ability to have nodes inherit the properties of the parent class with the ability to overide that inheritance for specific properties. All I should have to do is assign that node to the class and it will automatically have that configuration. Play around with Group Policy Objects and OUs in Active Driectory and you will see the kind of functionality I am refering to.  

                • Re: Create Node Classes
                  denny.lecompte
                  Sort of, but what about other items that can be assigned to nodes? What About nesting? What if I wanted to have a class called Cisco Routers and under that Routers with WAE Modules. Or nest servers such as All Servers -> All Remotes Servers -> AD controlers. The Custom Tag only allows one level of granularity. What about future nodes? If a new node comes online I will still have to set the custom property and then maually edit it's configuration. I would like the ability to have nodes inherit the properties of the parent class with the ability to overide that inheritance for specific properties. All I should have to do is assign that node to the class and it will automatically have that configuration. Play around with Group Policy Objects and OUs in Active Driectory and you will see the kind of functionality I am refering to.  
                   

                  I'm quite familiar with GPOs and OUs.  In a previous life, I managed a group policy management product.  And the OU structure and inheritance model is rich and complicated, and that's why I know we won't add it anytime soon.  I'm not saying we won't enhance grouping (because we will); I'm just pointing out what we have today that will help solve the problem.

                    • Re: Create Node Classes

                      I don't know what your code looks like so I can't be a fair judge of how complicated it would be. Since you are utilizing the .NET framework I have to assume you are using an object oriented programing language. From a SQL perspective lets say we limit the hierarchy to 4 levels. Create a table called Group properties that had the same columns as the node table for Unmanged, SNMP strings, Location, Polling interval, rediscovery interval, customer pollers, etc., along with a key GroupID . Add another table called groups. The groups table would have the key GroupID, group name, and a field called parentgroupID which would be 0 if it was the top level group.  Add a column in the Nodes table for GroupID. If I assign a node to a group, you insert the GroupID in the nodes table for the node. Put that value in an array of 4 elements. Query the groups table to find that group's parentID. Add the parent ID to the array and query the groups table again for that group's parent. Repeat the process until the the array is full or the parent ID is 0.  Query the Group properties for the ID in Array(counter) and increment your loop counter by 1. Copy those properties into a record and query the Group properties table again for the value in Array(counter) and copy whatever non-null fields into the record overwriting previous values. Repeat. Then update the Nodes table for that NodeID by copying the the non-null values in the record to the columns in the Nodes table for that node ID. OF course there would be some additional error checking along the way, but that's how I would do it. To update settings for a group it is a simliar process. To override inheritance you have a true/false field in the group table and the nodes table that you check before you overwrite. Again, since I don't know what your code currently looks like, I don't know complicated it would be to add that functionality.