Reasons for adding custom data
The reasons for adding custom data determine the appropriate method of storing the data. Common reasons for adding custom data to your topology include enriching the data that is associated with a device or interface, and modeling custom connectivity between devices.
Storing custom data in new database tables
If you want to filter or search on the data, store the data in custom tables. This method of storing custom data is suitable for the following example uses.
- Creating different reports for different customers
- Implementing different poll policies for different providers based on Service Level Agreements
- Creating a network view based on location
All the previous uses involve identifying the relevant entities based on the custom data fields. Storing the data in new database tables is more performant for these uses than storing the data as name-value pairs.
Storing custom data as name-value pairs in the entityDetails database table
If you want to include the custom data as part of another operation, store the data as name-value pairs in the entityDetails database table. This method of storing custom data is suitable for the following example uses.
- Adding customer names to reports that filter on other data
- Tagging network events with location or customer name
In these cases, the relevant entities are selected based on other database fields. Entities are selected by SQL queries or Event Gateway lookups. The custom data is extracted from the selected entities if it is present. For these uses, you can alternatively store the data in new database tables, but it is quicker to store data as name-value pairs in the entityDetails database table.
Modeling custom connectivity between entities
- Cisco Discovery Protocol, the protocol that is used between Cisco communications devices.
- SynOptics Network Management Protocol, the protocol that is used between Nortel communications devices.
If you want to model custom connectivity between entities, then you must store the data in new database tables. You must write a custom agent to retrieve the relevant custom data from your network entities. You must also write a custom layer stitcher to build the custom connectivity from the agent data. Examples of default layer stitchers that are provided with Network Manager are CDPLayer.stch, OSPFLayer.stch, SONMPLayer.stch, and SRPLayer.stch. You can inspect these stitchers to help you write your custom layer stitcher.