When certifying a vendor MIB, situations exist where you must collect the raw data for a particular metric family from two or more tables.
CA Performance Management provides support for vendor certifications that require access to multiple MIB tables. This support is based on enhancements to the XML document structure of a single-table certification, which allow joining data that is collected from multiple tables using a common key (index). Continuing with our example, you want to monitor only active Frame Relay PVCs. Modify your frPVCInfoCustom custom vendor certification to add multi-MIB table support.
In this example, the Frame Relay PVCs can be named using a combination of the ifName MIB object in the ifXTable and the frCircuitDlci object that provides the data link connection identifier (DLCI) for this PVC. This kind of naming convention is useful for determining which Frame Relay interface the PVC is layered onto.
Modify your custom vendor certification, to add the following information:
Here is an example of what the updated frPVCInfoCustom custom vendor certification looks like. The changes that we made in this procedure are indicated in bold:
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Auto-generated by the type catalog local manager.-->
<DataModel namespace="http://im.ca.com/certifications/snmp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SNMPCertificationFacet.xsd">
<FacetType name="frPVCInfoCustom" descriptorClass="com.ca.im.core.datamodel.certs.CertificationFacetDescriptorImpl">
<Documentation>Frame Relay PVC Vendor Certification</Documentation>
<FacetOf namespace="http://im.ca.com/core" name="Item" />
<AttributeGroup name="ifXTableGroup" external="true" list="true">
<Documentation>This pulls data from the ifXTable so that the ifName corresponding to the PVC can be referenced</Documentation>
<UseIndex>ifXIndexTag</UseIndex>
<Attribute name="ifXTableIndex" type="ObjectID">
<Documentation />
<IsKey>false</IsKey>
<IsIndex>true</IsIndex>
<Source>1.3.6.1.2.1.31.1.1.1.1</Source>
<Polled>false</Polled>
</Attribute>
<Attribute name="ifName" type="OctetString">
<Documentation />
<IsKey>false</IsKey>
<IsIndex>false</IsIndex>
<Source>1.3.6.1.2.1.31.1.1.1.1</Source>
<Polled>false</Polled>
</Attribute>
</AttributeGroup>
<IndexTagList>
<PrimaryTag>PVCIndexTag</PrimaryTag>
<IndexTag>
<Name>ifXIndexTag</Name>
<PrimaryKeyExpression>snmpOIDParser(INDEX,1,1)</PrimaryKeyExpression>
<ThisTagKeyExpression>ifXTableIndex</ThisTagKeyExpression>
</IndexTag>
</IndexTagList>
<AttributeGroup name="AttributeGroup" external="true" list="true">
<Documentation />
<UseIndex>PVCIndexTag</UseIndex>
<Attribute name="INDEX" type="ObjectID">
<Documentation />
<Source>1.3.6.1.2.1.10.32.2.1.4</Source>
<IsIndex>true</IsIndex>
<IsKey>false</IsKey>
<NeedsDelta>false</NeedsDelta>
</Attribute>
<Attribute name="frCircuitReceivedFECNs" type="Long">
<Documentation />
<Source>1.3.6.1.2.1.10.32.2.1.4</Source>
<IsIndex>false</IsIndex>
<IsKey>true</IsKey>
<NeedsDelta>true</NeedsDelta>
</Attribute>
<Attribute name="frCircuitReceivedBECNs" type="Long">
<Documentation />
<Source>1.3.6.1.2.1.10.32.2.1.5</Source>
<IsIndex>false</IsIndex>
<IsKey>true</IsKey>
<NeedsDelta>true</NeedsDelta>
</Attribute>
<Attribute name="frCircuitSentFrames" type="Long">
<Documentation />
<Source>1.3.6.1.2.1.10.32.2.1.6</Source>
<IsIndex>false</IsIndex>
<IsKey>true</IsKey>
<NeedsDelta>true</NeedsDelta>
</Attribute>
<Attribute name="frCircuitSentOctets" type="Long">
<Documentation />
<Source>1.3.6.1.2.1.10.32.2.1.6</Source>
<IsIndex>false</IsIndex>
<IsKey>true</IsKey>
<NeedsDelta>true</NeedsDelta>
</Attribute>
<Attribute name="frCircuitReceivedFrames" type="Long">
<Documentation />
<Source>1.3.6.1.2.1.10.32.2.1.8</Source>
<IsIndex>false</IsIndex>
<IsKey>true</IsKey>
<NeedsDelta>true</NeedsDelta>
</Attribute>
<Attribute name="frCircuitReceivedOctets" type="Long">
<Documentation />
<Source>1.3.6.1.2.1.10.32.2.1.9</Source>
<IsIndex>false</IsIndex>
<IsKey>true</IsKey>
<NeedsDelta>true</NeedsDelta>
</Attribute>
<Attribute name="frCircuitState" type="int">
<Documentation />
<Source>1.3.6.1.2.1.10.32.2.1.3</Source>
<IsIndex>false</IsIndex>
<IsKey>false</IsKey>
<NeedsDelta>false</NeedsDelta>
</Attribute>
<Attribute name="frCircuitDlci" type="int">
<Documentation />
<Source>1.3.6.1.2.1.10.32.2.1.2</Source>
<IsIndex>false</IsIndex>
<IsKey>false</IsKey>
<NeedsDelta>false</NeedsDelta>
</Attribute>
</AttributeGroup>
<Protocol>SNMP</Protocol>
<DisplayName>Frame Relay PVC Certification</DisplayName>
<Expressions>
<ExpressionGroup destCert="{http://im.ca.com/normalizer}frPVCInfo" name="frPVCInfoDS">
<Filter>(frCircuitState==2)</Filter>
<Expression destAttr="Indexes">INDEX</Expression>
<Expression destAttr="Names">isdef(ifName)? (isdef(frCircuitDlci) ? ifName + " DCLI:" + frCircuitDlci : "Frame Relay " + INDEX) : "Frame Relay " + INDEX</Expression>
<Expression destAttr="FECNIn">frCircuitReceivedFECNs</Expression>
<Expression destAttr="BECNIn">frCircuitReceivedBECNs</Expression>
<Expression destAttr="FramesIn">frCircuitReceivedFrames</Expression>
<Expression destAttr="FramesOut">frCircuitSentFrames</Expression>
<Expression destAttr="BytesIn">frCircuitReceivedOctets</Expression>
<Expression destAttr="BytesOut">frCircuitSentOctets</Expression>
<Expression destAttr="BitsIn">frCircuitReceivedOctets*8</Expression>
<Expression destAttr="BitsOut">frCircuitSentOctets*8</Expression>
</ExpressionGroup>
</Expressions>
<MIB>RFC1315-MIB</MIB>
</FacetType>
</DataModel>
We are assuming that we made these changes after we imported the custom vendor certification. Therefore, after you make the changes, update the vendor certification.
|
Copyright © 2015 CA Technologies.
All rights reserved.
|
|