normalization rule -to capture serial no

Hi,

 

I am working on UCMDB10.20 with latest CP and CUP.

 

For few network devices serial no is not getting  captured so I tried to enrich the same using below details. but ucmdb is not showing given serial no  in properties for the same. Since I dont have private OID for serial no. I have mentioned below attributes.

 

<rules:normalization-rule ci-type="node" id="3">
<rule-input>
<attribute name="sys_object_id" value=".1.3.6.1.4.1.7564" compare-type="equals"/>
<attribute name="discovered_description" value="Hardware: Array APV 2600 Intel(R) Pentium(R) CPU - Software: ArrayOS Rel.APV.8.4.0.68 build on Thu Jul 24 12:02:09 2014" compare-type="equals"/>
<attribute name="snmp_sys_name" value="pdc-cbs-lb2-s" compare-type="equals"/>
</rule-input>
<rule-output>

<attribute name="serial_no">
<value>1123G0504</value>
</attribute>
</rule-output>
</rules:normalization-rule>

 

what is wrong with this rule so device is not getting enriched for serial no??

 

Please suggest.

 

Regards,

Nick

 

Parents
  • Nick;

     

    I think you've taken the wrong approach here.  First, you probably don't want to hard-code every serial number you have in this file... Second, let's use the steps below to add the serial number OID to the normalization rule...

     

    Go to Administration -> Package Manager and export the ‘Normalization Rules’ zip file to your local desktop.  Once there, extract the NormalizationRules.zip file to a folder, and open the discoveryResources -> ruleEngine folder and extract the snmp.gz file.  Then modify the rule (an example is shown below).

     

        <ns2:normalization-rule ci-type="node" id="42324">

            <rule-input>

                <attribute name="discovered_description" value="Cisco" compare-type="contains"/>

                <attribute name="sys_object_id" value=".1.3.6.1.4.1.9.1.469" compare-type="equals"/>

            </rule-input>

            <rule-output>

                <attribute name="node_model">

                    <value>cisco2621_xm</value>

                </attribute>

                <attribute name="vendor">

                    <value>cisco_systems_inc</value>

                </attribute>

                <attribute name="node_family">

                    <value>cisco_2600_series_modular_access_routers</value>

                </attribute>

                <attribute name="serial_number_oid">

                  <value>.1.3.6.1.4.1.6889.2.69.2.1.46</value>

                </attribute>                      

                <attribute name="snmp_method">

                   <value>snmpgetnext</value>

                </attribute>

                <attribute name="node_role">

                    <values>

                        <add>switch</add>

                    </values>

                </attribute>

                <class-type>switch</class-type>

            </rule-output>

        </ns2:normalization-rule>

     

    Then, zip the file back to a .gz file with your favorite zip tool (such as 7-zip) and zip the entire thing back up into the NormalizationRules.zip file.  Then redeploy this file using package manager.  Now delete and rediscover the node in question and it will show up as a switch.  Note that steps x-y will have to be done for every conflict of rule.  It is best to do all changes at one time.

     

    You will need to know which OID the system responds to for the serial number to make this work, and replace the sysObjectID with the appropriate one for the device class, then all devices of this class will have the serial number if their MIB responds with it.  In the above case, it is a switch, so it has appropriate node_role, class-type, node_family, vendor and node_model attributes for this.

Reply
  • Nick;

     

    I think you've taken the wrong approach here.  First, you probably don't want to hard-code every serial number you have in this file... Second, let's use the steps below to add the serial number OID to the normalization rule...

     

    Go to Administration -> Package Manager and export the ‘Normalization Rules’ zip file to your local desktop.  Once there, extract the NormalizationRules.zip file to a folder, and open the discoveryResources -> ruleEngine folder and extract the snmp.gz file.  Then modify the rule (an example is shown below).

     

        <ns2:normalization-rule ci-type="node" id="42324">

            <rule-input>

                <attribute name="discovered_description" value="Cisco" compare-type="contains"/>

                <attribute name="sys_object_id" value=".1.3.6.1.4.1.9.1.469" compare-type="equals"/>

            </rule-input>

            <rule-output>

                <attribute name="node_model">

                    <value>cisco2621_xm</value>

                </attribute>

                <attribute name="vendor">

                    <value>cisco_systems_inc</value>

                </attribute>

                <attribute name="node_family">

                    <value>cisco_2600_series_modular_access_routers</value>

                </attribute>

                <attribute name="serial_number_oid">

                  <value>.1.3.6.1.4.1.6889.2.69.2.1.46</value>

                </attribute>                      

                <attribute name="snmp_method">

                   <value>snmpgetnext</value>

                </attribute>

                <attribute name="node_role">

                    <values>

                        <add>switch</add>

                    </values>

                </attribute>

                <class-type>switch</class-type>

            </rule-output>

        </ns2:normalization-rule>

     

    Then, zip the file back to a .gz file with your favorite zip tool (such as 7-zip) and zip the entire thing back up into the NormalizationRules.zip file.  Then redeploy this file using package manager.  Now delete and rediscover the node in question and it will show up as a switch.  Note that steps x-y will have to be done for every conflict of rule.  It is best to do all changes at one time.

     

    You will need to know which OID the system responds to for the serial number to make this work, and replace the sysObjectID with the appropriate one for the device class, then all devices of this class will have the serial number if their MIB responds with it.  In the above case, it is a switch, so it has appropriate node_role, class-type, node_family, vendor and node_model attributes for this.

Children
No Data