You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

 


Prerequisites

NMIS version 8.3.18G or greater.

Introduction

While working with customers who wanted to extend NMIS and make it even more of a Network Management System, to support parts of their operational process, to integrate more closely with their ITIL service management processes for example, we found that it would become difficult for them to maintain the customisations of the extended data collection, to better support NMIS users, we have made the way "Tables" in NMIS are defined and how they are shown in the Menu.

This article will briefly describe how these capability works and how it support operational agility.

Tables in NMIS

What are Tables in NMIS

To use NMIS various data is required, this data represents policies or configuration or credentials or a combination of all of those.  In the past NMIS users have added tables as they needed and this required some Perl coding, to support faster and more easily modified tables in NMIS, the table definitions are now defined outside of the code base, making the tables themselves configuration items.  So like the chicken and the egg, you need to start with something.

Tables used in NMIS

The following tables are used in NMIS, this includes the new table, Tables.nmis which now allows dynamic definition of tables.

FileDescription
Access.nmisAccess levels for Authorisation System
BusinessServices.nmisA list of Business Services to link to a node.
Contacts.nmisContacts information used for notifications.
Enterprise.nmisList of “vendors” SNMP OID prefixes
Escalations.nmisEscalation policy, how notifications will happen
Links.nmisList of Links in the network.
Locations.nmisList of Locations
Logs.nmisLog viewer configuration file
Modules.nmisOpmantek modules integration
Nodes.nmisMain NMIS8 Nodes file
Outage.nmisCurrent planned outages
Portal.nmisPortal configuration for internal integrations
PrivMap.nmisPrivilege mappings for authorisation
Services.nmisServices configuration file
ServiceStatus.nmisThe definition of the Service Status's for NMIS (production, pre-production, etc)
Toolset.nmisExternal tools configuration file
Tables.nmisThe list of Tables in NMIS
Users.nmisUsers authorisation mappings
ifTypes.nmisList of standard interface types from IANA

Table Configuration

Each table has a table configuration file, these files are in essence little bits of code, which is evaluated at run time.  These files live in /usr/local/nmis8/conf and all begin with "Table-", so the table configuration for Nodes.nmis is called Table-Nodes.nmis.  The contents of the looks like:

%hash = (
  SampleTable => [
    { Email => { header => 'Table Name', display => 'key,header,text', value => [""] }},
    { Name => { header => 'Display Name', display => 'header,text', value => [""] }},
    { Age => { header => 'Description', display => 'header,text', value => [""] }}
  ]
);
SampleTable => [
Is the name of the table, this should match the name, e.g. Table-SampleTable.nmis
  Email => { 
    header => 'Email Address', 
    display => 'key,header,text', 
    value => [""] 
  }
},

Each Column in the table is defined with an entry like this. In this case the column is called Email

To define each column necessary fields are:

    • header - is the what will be displayed when the table is viewed, this includes the work key if it is to be included as the primary key
    • display - header indicates if it should be in the header or not, and text indicates what sort of input box to use.
    • value - what is the default value or select list.

header

 

Adding a New Table to NMIS

  • No labels