...
NMIS supports custom fields, or custom attributes for managed nodes. For example; some organisations may find that a Country attribute is important to them. Once a custom filed is provisioned in NMIS it may be extended to opCharts.
Configuration
Configure NMIS
Modify Table-Nodes.nmis
Adding a custom field to NMIS is accomplished by modifying /usr/local/nmis8/conf/Table-Nodes.nmis. Notice that this file contains a hash with a Nodes section. For this example we will add a Country field. Several fields may be added if required. Put the new field between the 'extra_options' entry and the 'advanced_options' entry. Observe the new country field in the code block below.
Code Block | ||
---|---|---|
| ||
--snip
%hash = (
Nodes => [ # using an array for fixed order of fields
{ name => { mandatory => 'true', header => 'Name',display => 'key,header,text',value => [""] }},
{ host => { mandatory => 'true', header => 'Name/IP Address',display => 'header,text',value => [""] }},
{ group => { mandatory => 'true', header => 'Group',display => 'header,popup',value => [ @groups] }},
{ community => { mandatory => 'true', header => 'SNMP Community',display => 'text',value => ["$C->{default_communityRO}"] }},
{ extra_options => { special => 'separator', header => 'Extra Options'}},
{ country => { header => 'Country', display => 'header,text',value => [""] }},
{ netType => { header => 'Net Type', display => 'popup',value => ["wan", "lan"] }},
{ roleType => { header => 'Role Type', display => 'popup',value => ["core", "distribution", "access"] }},
{ location => { header => 'Location',display => 'header,popup',value => [ sort keys %{loadGenericTable('Locations')}] }},
{ advanced_options => { special => 'separator', header => 'Advanced Options'}},
--snip |