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.
Copyright © 2022. TIBCO Software Inc. All Rights Reserved.
