To set XML data collection to true
NETCONF XML message communication
ENA can access the XML API of managed devices, query their database, and integrate returned data into its database. ENA XML data collection accesses the device's xmlagent. Although currently only implemented for Cisco devices, it is extendable to other manufacturers.
Through the XML API, ENA currently retrieves the MAC addresses and interface names from the NExus range of Cisco devices.
The key components of the XML data collection implementation are as follows:
Specifies how to identify a device, then apply the appropriate XML query to the device and interpret its XML reply. For example for Nexus, XML Data Collector identifies a device through its chassis identifier and system version. It can then perform the GET_MAC action with the appropriate XML configuration.
Sets the level of logging applied to EYEXMLDataCollector.jar.
Includes a new job XMLDataCollection. It runs every two hours calling the GET_MAC action.
XML Data Collector jar file.
Database used for receiving the queried XML data before it is copied into the main database. By default includes table (MacToPort) for the GET_MAC action. macman accesses this table when populating MAC addresses.
Device access for XML data collection:
For ENA to access the device for XML data collection, ENA requires the following:
- an appropriate credential set. Credentials are configured against each device, and are used for accessing a device through Telnet or SSH. XML data collection requires an SSHv2 connection to the xmlagent service.
- the XML data collection attribute on the device must be set to True.
1. To set CLI access and credential sets:
- Click Main Menu and then Administration. This will open the Administration page.
- Click Device Inventory. This will open the Device Inventory page.
- Select the device on which you want to set CLI access, and click Modify at the bottom of the window. This will open the Modify Devices window.
- Specify the CLI Access details and click OK, otherwise click Cancel.
XML data collection uses the generic credential set mechanism also used by the Configuration Manager module. In addition to SSHv2 connections, Configuration Manager also supports SSHv1 and Telnet connections which are not applicable to XML Data Collection.
- if you configure a credential set to use Telnet, and then apply it to a device on which you attempt XML data collection, then ENA uses SSHv2.
- if you configure a credential set to use Telnet, and then apply it to a device on which you attempt configuration retrieval, ENA uses Telnet.
In this way, ENA can support different methods of data retrieval from a device although using the same credential set.
2. To set XML data collection to true:
- Select the device on which you want to enable XML data collection and navigate to its Attributes dashboard.
- Select the XML Data Collection attribute and click Edit Attribute via the button at the top of the dashboard, or via the right click Context Menu. This will open the Editing Attribute "XML Data Collection" form on the right.
- If the default setting is False, switch the Use discovered field to Off and then change the New value field to True.
- Click OK at the top right of the form to save your changes, otherwise click Cancel.
NETCONF XML message communication
Each request and reply begins with an XML declaration indicating which version of XML and (optionally) which character set are being used. ENA XML data collection connections follow a standard sequence:
- Connect to the xmlagent on the device.
XML Data Collection is through the device's xmlagent. Access would rely on the appropriate credential set being defined and associated with the device on the Entuity server.
- Confirm compatible capabilities.
After connection to the device, it first sends an XML section identifying its capabilities. ENAresponds with the same XML but removes the session identifier. This establishes the communication between ENA and the device.
- Show characteristics of device.
ENA must identify the managed device so it can send a request in the appropriate format to retrieve its MAC addresses. The reply includes the chassis identifier and system versions string from which ENA identifies the device (identification is through the appropriate match set section of XMLDataCollector.xml):
- Request information.
After identifying the device, ENA can configure the appropriate format for the request to retrieve MAC addresses. The device responds with an XML table of MAC addresses.
- Parse the results, populate XMLAPIDB and to the ENA database.
Retrieved information is written to the XMLAPIDB. For the MAC Address implementation, this is the PortToMac table. The standard method of integrating information from XMLAPIDB to the main database would be through StormWorks configuration, and for customers this would be under the guidance of or produced by Entuity Professional Services.
The MAC address retrieval implementation uses the non-standard method of amending a process, in this case macman.
MAC address retrieval:
The current implementation of XML Data Collector collects MAC addresses from the Nexus range of devices. macman updates ENA with the latest discovered MAC addresses. Both macman and the XML Data Collection jobs are scheduled through provost.conf. By default:
- XML Data Collector runs every 2 hours, and populates the XMLAPIDB database with MAC addresses.
- macman runs once a day at 09:30 against every managed device and also checks for MAC addresses in the XMLAPIDB database. It also runs against individual devices every time there's a connectivity change on one of their physical ports.
XML data MAC collection
Cisco Nexus 1000v devices with the sysoid .126.96.36.199.188.8.131.52.184.108.40.2060 are currently managed by ENA using a custom device model for collecting MAC addresses from the Nexus 1000v. The XML data collection method for collecting MAC addresses supports the Nexus 1000v, but is more useful when applied to other Nexus models without custom support.
Through XML data collection, ENA supports collection of MAC addresses from Nexus devices with these sysoids:
When XML data collection for one of these devices is:
- not activated - then the device is managed using the existing MAC Scheme through the Bridge MIB.
- activated but the credential sets are invalid or become invalid - the PortToMac table in the XMLAPIDB is purged of that device's entries. When macman runs the MAC address, information is not available for that device in the XMLAPIDB and it reverts to using information collected through MAC Scheme 20.
- activated with a valid credential set but MAC address retrieval using MAC Scheme 25 fails, e.g. the particular device requires a different XML query format - then ENA again reverts to using MAC Scheme 20.
- activated with a valid credential set and MAC address retrieval succeeds - ENA parses the retrieved information and writes it to the PortToMac table in the XMLAPIDB. macman would then add this information to the main database.