Discovery agent definition file keywords

Discovery agent definition file keywords are used to define the operation of discovery agents.

DiscoAgentClass

The DiscoAgentClass keyword specifies the basic type of agent. The following table identifies the most commonly used values:

Value Description
0 Specifies an IP type agent.
1 Specifies a switch type agent.
2 Specifies a hub type agent.
3 Specifies an ATM device type agent.
4 Specifies an FDDI type agent.
5 Specifies a PVC type agent.
6 Specifies a frame relay type agent.
8 Specifies a NAT gateway agent.

The following example shows a DiscoAgentClass keyword set to a frame relay type agent. Frame relay type agents typically discover Frame Relay interfaces and connections between two points on Frame Relay networks that incorporate specific network devices, for example, CISCO devices.

DiscoCompiledAgent
{
.
.
.
DiscoAgentClass( 6 );
.
.
.
}

DiscoAgentClassEnabledByDefault

The DiscoAgentClassEnabledByDefault keyword specifies whether the agent is enabled by default for full discoveries. Specify one of the following values:

Value Description
0 Specifies that the agent is not enabled by default for full discoveries.
1 Specifies that the agent is enabled by default for full discoveries.

The following example shows a DiscoAgentClassEnabledByDefault keyword set to enable a frame relay type agent by default for full discoveries.

DiscoCompiledAgent
{
.
.
.
DiscoAgentClass( 6 );
.
.
.
DiscoAgentEnabledByDefault( 1 );
}

DiscoAgentClassEnabledByDefaultOnPartial

The DiscoAgentClassEnabledByDefaultOnPartial keyword specifies whether the agent is enabled by default for partial discoveries. Specify one of the following values:

Value Description
0 Specifies that the agent is not enabled by default for partial discoveries.
1 Specifies that the agent is enabled by default for partial discoveries.

The following example shows a DiscoAgentClassEnabledByDefaultOnPartial keyword set to enable a frame relay type agent by default for partial discoveries.

DiscoCompiledAgent
{
.
.
.
DiscoAgentClass( 6 );
.
.
.
DiscoAgentEnabledByDefaultOnPartial( 1 );
DiscoAgentEnabledByDefault( 1 );
}

DiscoAgentIsIndirect

A direct agent returns relationship data about objects that it is directly connected to at the layer it deals with. An indirect agent returns relationship data about objects it is indirectly connected to. The most common indirect agents are switch agents. The remote neighbor records for indirect agents relate to devices that can be reached from a specific port, not from devices to which they are directly connected. The relationship data from indirect agents is required to determine which remote neighbor records of a device need to be rediscovered when the device changes.

The DiscoAgentIsIndirect keyword specifies whether the agent is an indirect agent that returns relationship data about objects it is indirectly connected to. Specify one of the following values:

Value Description
0 Specifies that the agent is a direct agent.
1 Specifies that the agent is an indirect agent.

The following example shows a DiscoAgentIsIndirect keyword set to specify that a frame relay type agent is a direct agent.

DiscoCompiledAgent
{
.
.
.
DiscoAgentGUILocked( 0 );
DiscoAgentClass( 6 );
DiscoAgentIsIndirect( 0 );
.
.
.
DiscoAgentEnabledByDefaultOnPartial( 1 );
DiscoAgentEnabledByDefault( 1 );
}

DiscoAgentCompanionAgents

The DiscoAgentCompanionAgents keyword is used to display in the GUI the agent or agents that this agent should execute with.

The following example shows a DiscoAgentCompanionAgents keyword that displays in the GUI the agent (ArpCache.agnt) that should execute with the Centillion Networks agent.

DiscoCompiledAgent
{
.
.
.
-- This agent examines all devices originally made by Centillion
-- Networks (enterprise OID 1.3.6.1.4.1.930), to see if it can
-- discover them.
.
.
.

DiscoAgentCompanionAgents( "ArpCache" );
.
.
.
}

DiscoAgentCompletionPhase

The DiscoAgentCompletionPhase keyword specifies during which of the discovery phases the specified agent should complete executing. Specify one of the following values:

Value Description
1 Specifies that the agent should complete execution during discovery phase 1.
2 Specifies that the agent should complete execution during discovery phase 2.
3 Specifies that the agent should complete execution during discovery phase 3.

The following example shows a DiscoAgentCompletionPhase keyword set to enable a frame relay type agent to complete execution during discovery phase 1.

DiscoCompiledAgent
{
.
.
.
DiscoAgentCompletionPhase( 1 );
.
.
.
DiscoAgentEnabledByDefaultOnPartial( 1 );
DiscoAgentEnabledByDefault( 1 );
}

DiscoAgentConflictingAgents

The DiscoAgentConflictingAgents keyword is used to display in the GUI the agent or agents that this agent should not execute with.

The following example shows a DiscoAgentConflictingAgents keyword that displays in the GUI the agents (IpRoutingTable.agnt and IpForwardingTable.agnt) that should not execute with the IP backup routes agent.

DiscoCompiledAgent
{
.
.
.
-- This agent examines every device with SNMP access to see if it
-- can discover it.
.
.

DiscoAgentConflictingAgents( "IpRoutingTable","IpForwardingTable" );
.
.
.
}

DiscoAgentDescription

The DiscoAgentDescription keyword specifies a description of the agent that is displayed in the GUI.

The following example shows a DiscoAgentDescription keyword that specifies a description to display in the GUI for a frame relay type agent. The description makes use of HTML coding.

DiscoCompiledAgent
{
.
.
.
DiscoAgentDescription("
<b>Agent Name :</b>  CiscoFrameRelay<br>
<br>
<b>Agent Type :</b> Layer 3<br>
<br>
<b>Agent Prerequisites :</b>  SNMP helper configuration for associated devices.<br>
<br>
<b>Operation :</b><br>
Discovers Frame Relay interfaces and connections between two points on Frame Relay
networks that incorporate Cisco devices. If you need to add DLCI information to the
interfaces of Frame Relay devices, then run Frame Relay agents in conjunction with
the IP layer agents.<br>
<br>
	");
.
.
.
}

DiscoAgentMinCertifiedDeviceOS

The DiscoAgentMinCertifiedDeviceOS keyword specifies a device operating system specific filter. This filter can be configured to run the specified agent against specific releases of a device operating system.

The following example shows a DiscoAgentMinCertifiedDeviceOS keyword that specifies a device operating system specific filter for an agent that discovers MPLS VRFs, VPNs, and label switching information from CISCO routers. This device operating specific filter configures the agent to run against the following CISCO devices and associated operating system releases:

  • m_ObjectId — Specifies the CISCO devices (OID 1.3.6.1.4.1.9) that the agent attempts to discover.
  • m_OSVersion — Specifies the CISCO device operating system filter that configures the agent to run against the following device operating system versions:
    • 12.0 releases of 12.0(27) or later which are not experimental
    • 12.2 releases of 12.2(19) or later which are not experimental
    • 12.3 releases of 12.3(18) or later which are not experimental
    • 12.4 releases
DiscoCompiledAgent
{
.
.
.
DiscoAgentMinCertifiedDeviceOS
    (
      "(
          m_ObjectId LIKE '1\.3\.6\.1\.4\.1\.9\.',
          m_OSVersion >= '12.0(27)' AND m_OSVersion < '12.1' AND m_OSVersion 
                         NOT LIKE '.*Experimental.*',
          m_MibVar = 'sysDescr.0'
        ),
        (
          m_ObjectId LIKE '1\.3\.6\.1\.4\.1\.9\.',
          m_OSVersion >= '12.2(19)' AND m_OSVersion < '12.3' AND m_OSVersion 
                         NOT LIKE '.*Experimental.*',
          m_MibVar = 'sysDescr.0'
        ),
      (
          m_ObjectId LIKE '1\.3\.6\.1\.4\.1\.9\.',
          m_OSVersion >= '12.3(18)' AND m_OSVersion < '12.4' AND m_OSVersion 
                         NOT LIKE '.*Experimental.*',
          m_MibVar = 'sysDescr.0'
       ),
      (
          m_ObjectId LIKE '1\.3\.6\.1\.4\.1\.9\.',
          m_OSVersion >= '12.4',
          m_MibVar = 'sysDescr.0'
        )"
    );
.
.
.
}

DiscoAgentPrecedence

The DiscoAgentPrecedence keyword specifies which agent gets precedence when there is conflicting data from two agents. Specify a value that is greater than or equal to 0 (zero). The recommended range of values is from 1 to 100, where the higher the number the higher the precedence. The higher the precedence the more that agent data is correct. For example, if given conflicting data from a precedence 2 agent and a precedence 3 agent then the precedence 3 agent data is used.

The following example shows a DiscoAgentPrecedence keyword for a frame relay type agent set to a precedence of 2.

DiscoCompiledAgent
{
.
.
.
DiscoAgentGUILocked( 0 );
DiscoAgentClass( 6 );
DiscoAgentIsIndirect( 0 );
DiscoAgentPrecedence( 2 );
.
.
.
DiscoAgentEnabledByDefaultOnPartial( 1 );
DiscoAgentEnabledByDefault( 1 );
}

DiscoPerlAgent

The DiscoPerlAgent keyword specifies whether this .agnt file refers to a Perl agent.

The following example shows a DiscoPerlAgent keyword specified for a Perl based agent that extracts information about the operating system running on the device.

DiscoPerlAgent
{
.
.
.
DiscoAgentGUILocked( 0 );
	DiscoAgentClass( 0 );
	DiscoAgentIsIndirect( 0 );
	DiscoAgentPrecedence( 2 );
	DiscoAgentEnabledByDefaultOnPartial( 0 );
	DiscoAgentEnabledByDefault( 0 );
}