Page tree
Skip to end of metadata
Go to start of metadata

You can create new application classes (KMs), parameters, and application metadata for collecting data data by writing a script in an XML file and loading the XML into the PATROL Agent directory, %PATROL_HOME%\jconnect\apps\bppm3pi\knowledge.

The following is an example of an XML file for creating a new solution named SAN, within which you can create new application classes and its parameters for monitoring your environment. 

SAN.xml

<?xml version="1.0" encoding="UTF-8"?>
-<kmgen agentVersion="9.0.0-" denyOn="vms,mvs,os2,os400" allowOn="all" minorVersion="04" majorVersion="1" revision="00" releaseVersion="1.0.00" description="Network SAN" namespace="SAN" xmlns="http://www.bmc.com/bppm3pi">

-<application type="MONITOR" category="Network" displayName="SAN" cdmClass="BMC_ComputerSystem" name="SAN">
<parameter displayName="Application Collection Status" name="acs" applicationCollectionStatus="true" output="OUTPUT_STOPLIGHT" units="0-OK, 1-NOTOK"/>
</application>
<application type="CONTAINER" category="Network" displayName="SAN Switch Container" cdmClass="BMC_ComputerSystem" name="SWITCH_CONTAINER"/>

-<application type="MONITOR" category="Network" displayName="SAN Switch" cdmClass="BMC_ComputerSystem" name="SWITCH">
<parameter displayName="Switch Status" name="Status" output="OUTPUT_STATEBOOLEAN" units="0-OK, 1-NOTOK" availability="true"/>
</application>

-<application type="MONITOR" category="Network" displayName="SAN Switch Port" cdmClass="BMC_ComputerSystem" name="PORT">
<parameter displayName="Port Utilization" name="Utilization" output="OUTPUT_GRAPH" units="%" statistical="true" normalDistribution="true" monitorForAbnormalities="true" kpi="true" graphByDefault="true"/>
<parameter displayName="Packets Per Second" name="PacketsPerSec" output="OUTPUT_GRAPH" units="pkts/sec" statistical="true" normalDistribution="true" monitorForAbnormalities="true" kpi="true" graphByDefault="true"/>
<parameter displayName="Discarded Packets Per Second" name="PacketsDiscardedPerSec" output="OUTPUT_GRAPH" units="pkts/sec" statistical="true" normalDistribution="true" monitorForAbnormalities="true" kpi="true" graphByDefault="true"/>
</application>
</kmgen>

The following application classes and parameters are created for this solution:

Application class
Parameters
SAN
acs
SWITCH_CONTAINERNone
SWITCH
Status
PORT
  • Utilization
  • PacketsPerSec
  • PacketsDiscardedPerSec

XML Schema Definition (XSD)

The following is the XML Schema for validating and describing the structure of the XML file.

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
   targetNamespace="http://www.bmc.com/bppm3pi"
   xmlns:tns="http://www.bmc.com/bppm3pi"
   elementFormDefault="qualified">

<xs:simpleType name="categoryEnum">
   <xs:restriction base="xs:string">
      <xs:enumeration value="System"/>
      <xs:enumeration value="Database"/>
      <xs:enumeration value="Application"/>
      <xs:enumeration value="Web"/>
      <xs:enumeration value="User Transactions"/>
      <xs:enumeration value="Mail"/>
      <xs:enumeration value="Security"/>
      <xs:enumeration value="Network"/>
      <xs:enumeration value="IP Services"/>
      <xs:enumeration value="Directory"/>
      <xs:enumeration value="Other"/>
   </xs:restriction>
</xs:simpleType>
<xs:simpleType name="monitorTypeEnum">
   <xs:restriction base="xs:string">
      <xs:enumeration value="CONTAINER"/>
      <xs:enumeration value="MONITOR"/>
   </xs:restriction>
</xs:simpleType>
<xs:simpleType name="parameterOutputTypeEnum">
   <xs:restriction base="xs:string">
      <xs:enumeration value="OUTPUT_GAUGE"/>
      <xs:enumeration value="OUTPUT_GRAPH"/>
      <xs:enumeration value="OUTPUT_STATEBOOLEAN"/>
      <xs:enumeration value="OUTPUT_STOPLIGHT"/>
      <xs:enumeration value="OUTPUT_TEXT"/>
   </xs:restriction>
</xs:simpleType>
<xs:complexType name="ParameterType">
   <xs:attribute name="name" type="xs:token" use="required"/>
   <xs:attribute name="displayName" type="xs:token" use="required"/>
   <xs:attribute name="units" type="xs:token" use="required"/>
   <xs:attribute name="output" type="tns:parameterOutputTypeEnum" use="required"/>
   <xs:attribute name="applicationCollectionStatus" type="xs:boolean" use="optional" default="false"/>
   <xs:attribute name="availability" type="xs:boolean" use="optional" default="false"/>
   <xs:attribute name="config" type="xs:boolean" use="optional" default="false"/>
   <xs:attribute name="delta" type="xs:boolean" use="optional" default="false"/>
   <xs:attribute name="graphByDefault" type="xs:boolean" use="optional" default="false"/>
   <xs:attribute name="kpi" type="xs:boolean" use="optional" default="false"/>
   <xs:attribute name="monitorForAbnormalities" type="xs:boolean" use="optional" default="false"/>
   <xs:attribute name="normalDistribution" type="xs:boolean" use="optional" default="false"/>
   <xs:attribute name="responseTime" type="xs:boolean" use="optional" default="false"/>
   <xs:attribute name="statistical" type="xs:boolean" use="optional" default="false"/>
   <xs:attribute name="metaFormat" type="xs:string" use="optional"/>
   <xs:attribute name="i18nIdForName" type="xs:string" use="optional"/>
   <xs:attribute name="i18nIdForTitle" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="ApplicationType">
   <xs:sequence minOccurs="0" maxOccurs="unbounded">
      <xs:element name="parameter" type="tns:ParameterType"/>
   </xs:sequence>
   <xs:attribute name="name" type="xs:token" use="required"/>
   <xs:attribute name="displayName" type="xs:token" use="optional"/>
   <xs:attribute name="category" type="tns:categoryEnum" use="required"/>
   <xs:attribute name="type" type="tns:monitorTypeEnum" use="required"/>
   <xs:attribute name="cdmClass" type="xs:string" use="optional"/>
</xs:complexType>
<xs:element name="kmgen">
   <xs:complexType>
      <xs:sequence minOccurs="1" maxOccurs="unbounded">
         <xs:element name="application" type="tns:ApplicationType"/>
      </xs:sequence>
      <xs:attribute name="namespace" type="xs:string" use="required"/>
      <xs:attribute name="releaseVersion" type="xs:string" use="required"/>
      <xs:attribute name="revision" type="xs:string" use="required"/>
      <xs:attribute name="description" type="xs:string" use="optional"/>
      <xs:attribute name="majorVersion" type="xs:string" use="required"/>
      <xs:attribute name="minorVersion" type="xs:string" use="required"/>
      <xs:attribute name="allowOn" type="xs:string" use="required"/>
      <xs:attribute name="denyOn" type="xs:string" use="required"/>
      <xs:attribute name="agentVersion" type="xs:string" use="required"/>
   </xs:complexType>
</xs:element>
</xs:schema>

Validating the XML 

A validation utility is provided to validate client XML source against the XSD.  The validation utility is saved in the %PATROL_HOME%\jconnect\apps\bppm3pi\bin\bppm3pi_kmgen_validate.cmd directory.

To validate the client XML source against the XSD, run the following command:
bppm3pi_kmgen_validate <path-to-xmlfile>

The output will be displayed on the command window from which the script was run. If the validation fails, then a description of the failure will be displayed.

Deploying the XML file

Once an XML file is developed,  you must load it in the PATROL Agent directory, PATROL_HOME/jconnect/apps/bppm3pi/knowledge.

Important

The PATROL Agent must be restarted after the new KM files (BMC PATROL for Data Integration monitoring solution) are generated from the XML. The PATROL Agent can be restarted automatically by setting up the appropriate value for the agent.restartOnNewKM configuration variable in the bppm3pi.conf configuration file. For more information, see Configuring the data collector properties.

Where to go from here

After you have installed and configured BMC PATROL for Data Integration, configure the configuration variable values. For more information, see Configuring the data collector properties.

  • No labels

1 Comment

  1.