Sample Event Definitions Configuration to CLEvents from Hawk

The JVMAndProcessInfoEventdefs.xml is the sample Event Definitions configuration to publish the JVM Info and Process Info event of the AMX 3 TIBCO Host instance, and all nodes associated with this Host Instance.

File:<HAWK_HOME>\plugin\commonlogging\JVMAndProcessInfoEventdefs.xml.

Content:

<?xml version="1.0" encoding="UTF-8"?>
<def:EventDefinitions xmlns:def="http://xsd.tns.tibco.com/hawk/cleventpublisher/eventdef"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xsd.tns.tibco.com/hawk/cleventpublisher/eventdef eventdefs.xsd ">
	<!-- Event Publishers Definition for
	    1. TIBCO Host JVM Process Info
	    2. Process Events for TIBCO Host and AMX Nodes running in local Machine.  -->
	<!-- Event Publishers Details -->
	<def:EventPublishers>
		<!--Sample Event Publisher to Publish Process Info Event for 
TIBCO AMX Host --> <def:EventPublisher name="AMXHostProcessInfoEventPublisher"> <!-- Common Logging Configuration Details --> <def:CommonLoggingConfigRef ref="ProcessCLConfig" /> <!--Event Data Source Ref --> <def:EventDataSourceRef> <def:EventSourceRef ref="AMXHost"/> <def:EventSourceRef ref="Process"> <def:EventCorrelation
returnElement="ID Process">${AMXHost.Process Id}</def:EventCorrelation> </def:EventSourceRef> </def:EventDataSourceRef> <!-- Event Ouput --> <def:EventOutput> <def:EventElements> <def:EventElement source=
"${Process.ID Process}" output="processId" /> <def:EventElement source=
"${Process.Process Name}" output="processName" /> <def:EventElement source=
"${Process.User Name}" output="userName" /> <def:EventElement source=
"${Process.CPU Time}" output="processCpuTime" /> <!-- On Windows platform
Virtual KBytes, Stack KBytes, Heap KBytes, % CPU and % Memory not available--> <def:EventElement source=
"${Process.Virtual KBytes}" output="virtualMemory" /> <def:EventElement source=
"${Process.Stack KBytes}" output="stackSize" /> <def:EventElement source=
"${Process.Heap KBytes}" output="heapSize" /> <def:EventElement source=
"${Process.% CPU}" output="cpuUsageInPercent" /> <def:EventElement source=
"${Process.% Memory}" output="memoryUsageInPercent" /> <def:EventElement source=
"${Process.Start time}" output="startTime" /> <def:EventElement source=
"${AMXHost.Name}" output="physicalCompId.matrix.host" /> </def:EventElements> </def:EventOutput> <!-- Event Subscription Details --> <def:EventSubscribe sourceEventId="AMXHost"
autoStart="false"> <def:IntervalTime>10000</def:IntervalTime> </def:EventSubscribe> </def:EventPublisher> <!--TIBCO Host JVM InfoEvent Publisher --> <def:EventPublisher name="AMXHostJVMInfoEventPublisher"> <def:CommonLoggingConfigRef
ref="JVMnfoEventCLConfig" /> <def:EventDataSourceRef> <def:EventSourceRef ref="AMXHost"/> <def:EventSourceRef ref="JVMInfo"> <def:EventCorrelation
returnElement="Process Id">${AMXHost.Process Id}</def:EventCorrelation> </def:EventSourceRef> </def:EventDataSourceRef> <def:EventOutput> <def:EventElements> <def:EventElement source=
"${AMXHost.Name}" output="physicalCompId.matrix.host" /> <def:EventElement source=
"${JVMInfo.Maximum Heap Size}" output="maxMemory" /> <def:EventElement source=
"${JVMInfo.Committed Memory}" output="totalMemory" /> <def:EventElement source=
"${JVMInfo.Free Heap Size}" output="freeMemory" /> <def:EventElement source=
"${JVMInfo.Non Heap Memory Used}" output="nonHeapMemoryInUse" /> <def:EventElement source=
"${JVMInfo.Start Time}" output="startTime" /> <def:EventElement source=
"${JVMInfo.Up Time}" output="uptime" /> <def:EventElement source=
"${JVMInfo.Live Threads}" output="threadCount" /> <def:EventElement source=
"${JVMInfo.Daemon Threads}" output="daemonThreadCount" /> <def:EventElement source=
"${JVMInfo.Peak Threads}" output="peakThreadCount" /> </def:EventElements> </def:EventOutput> <def:EventSubscribe sourceEventId="AMXHost"
autoStart="false"> <def:IntervalTime>10000</def:IntervalTime> </def:EventSubscribe> </def:EventPublisher> <!--AMX Node(s) ProcessEventInfo Publisher --> <def:EventPublisher name="AMXNodeProcessInfoEventPublisher"> <def:CommonLoggingConfigRef ref="ProcessCLConfig" /> <def:EventDataSourceRef> <def:EventSourceRef ref="AMXNodeInfo"> <def:InputParameters> <def:InputParameter name=
"Node Name"></def:InputParameter> </def:InputParameters> </def:EventSourceRef> <def:EventSourceRef ref="Process"> <def:EventCorrelation
returnElement="ID Process">${AMXNodeInfo.Process Id}</def:EventCorrelation> </def:EventSourceRef> </def:EventDataSourceRef> <def:EventOutput> <def:EventElements> <def:EventElement source=
"${Process.ID Process}" output="processId" /> <def:EventElement source=
"${Process.Process Name}" output="processName" /> <def:EventElement source=
"${Process.User Name}" output="userName" /> <def:EventElement source=
"${Process.CPU Time}" output="processCpuTime" /> <!-- On Windows platform
Virtual KBytes,Stack KBytes,Heap KBytes, % CPU and % Memory not available--> <def:EventElement source=
"${Process.Virtual KBytes}" output="virtualMemory" /> <def:EventElement source=
"${Process.Stack KBytes}" output="stackSize" /> <def:EventElement source=
"${Process.Heap KBytes}" output="heapSize" /> <def:EventElement source=
"${Process.% CPU}" output="cpuUsageInPercent" /> <def:EventElement source=
"${Process.% Memory}" output="memoryUsageInPercent" /> <def:EventElement source=
"${Process.Start time}" output="startTime" /> <def:EventElement source=
"${AMXNodeInfo.Name}" output="physicalCompId.matrix.node" /> </def:EventElements> </def:EventOutput> <def:EventSubscribe sourceEventId="AMXNodeInfo"
autoStart="false"> <def:IntervalTime>10000</def:IntervalTime> </def:EventSubscribe> </def:EventPublisher> </def:EventPublishers> <!-- Event Data Source Details --> <def:EventDataSource> <def:EventSource id="Process" methodName="getProcess" microAgentName="COM.TIBCO.hawk.hma.Process" /> <def:EventSource id="AMXHost" methodName="getHostInfo" microAgentName="com.tibco.hawk.amx.AMXHost" /> <def:EventSource id="AMXNodeInfo" methodName="getNodeInfo" microAgentName="com.tibco.hawk.amx.AMXHost" /> <def:EventSource id="JVMInfo"
methodName="getVirtualMachineInfo"
microAgentName="com.tibco.hawk.jvm.JavaVirtualMachine" /> </def:EventDataSource> <!-- Common Logging Configuration --> <def:CommonLoggingConfigs logConfigFile="%TIBCO_HAWK_HOME_ESC%/plugin/commonlogging/sample_log4j.xml"> <def:CommonLoggingConfig id="ProcessCLConfig" loggerName="hawk.clevent.logger"> <def:ExtendedModel packageName="com.tibco.governance.cl.extension.model.process.impl.
ProcessInfoEventPackageImpl" name="com.tibco.governance.cl.extension.model.process.impl.ProcessInfoEventImpl" /> </def:CommonLoggingConfig> <def:CommonLoggingConfig id="JVMnfoEventCLConfig" loggerName="hawk.clevent.logger"> <def:ExtendedModel packageName="com.tibco.governance.jvminfo.model.jvminfoevent.impl.
JvminfoeventPackageImpl" name="com.tibco.governance.jvminfo.model.jvminfoevent.impl.JVMInfoEventImpl"> <def:Classpath> <def:path>%TIBCO_COMPONENT_STORE_PLUGINS%/com.tibco.governance.jvminfo.model_
1.0.0.004.jar</def:path> <def:path>%TIBCO_COMPONENT_STORE_PLUGINS%/com.tibco.governance.commonlogging.
extension.jvminfo.client_1.0.0.004.jar</def:path> </def:Classpath> </def:ExtendedModel> </def:CommonLoggingConfig> </def:CommonLoggingConfigs> </def:EventDefinitions>

Sample Common Logging Configuration file

File:<HAWK_HOME>/plugin/commonlogging/sample_log4j.xml

Content:

<?xml version="1.0" encoding="UTF-8"?>
<main_configuration>
  <base_hierarchy>
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
		<appender name="CommonLoggingJMSAppender" class="com.tibco.commonlogging.appender.BEFJMSAppender">
			<param name="serverUrl" value=
"tcp://localhost:7222" /> <param name="queueName" value=
"amx.governance.stats" /> <param name="userName" value="admin" /> <param name="password" value="" /> <param name="type" value="direct" /> </appender> <logger name="hawk.clevent.logger" additivity="false"> <appender-ref ref="CommonLoggingJMSAppender"/> </logger> <logger name="root" additivity="false"> <level value="INFO" /> <appender-ref ref="CommonLoggingJMSAppender" /> </logger> </log4j:configuration> </base_hierarchy> </main_configuration>

Refer to the <HAWK_HOME>/plugin/commonlogging folder for configuration details.