上一主题: 示例配置文件下一主题: 示例 .NET ChangeDetectorDotnet-config.xml 文件


示例 Java ChangeDetector-config.xml 文件

这是针对 Java 的一个可能的自定义 CA APM ChangeDetector 配置的示例。

注意:以下 XML 示例是数据示例。 它可能表示当前示例 Java ChangeDetector-config.xml 文件中的内容,或包含先前版本的 CA APM ChangeDetector 的内容。

<change-detector>
<!--
################################################################                                                                    
# Introscope ChangeDetector Configuration                        
#                                                                     
# CA Wily Introscope(R) ChangeDetector Version 8.1
# Copyright (c) 2008 CA. All Rights Reserved.
# Introscope(R) is a registered trademark of CA.
################################################################
-->

    <!-- ========================================================== -->
    <!-- FILE CHANGE MONITORING                                     -->
    <!-- ========================================================== -->
    <!--
    扫描目录配置:
    必须修改的唯一配置元素是
     <scan-directory> 元素的 'name' 属性,该属性
    位于此 <datasource-instance> 元素的底部附近。
    必须为该 'name' 属性提供到
    您希望 ChangeDetector 扫描的目录的路径。 通常,
    这将是您的应用程序服务器的 Web 应用程序
    部署目录和配置目录。

    文件类型自定义:
    默认情况下,扫描
    由以下 <fileset> 元素定义的文件类型的当前工作目录。
    更改这些文件类型表示元素时,很可能
    会引起应用程序性能的改变。
    除非您需要扫描专用文件类型,
    否则无需修改这些元素。 -->
	<datasource-instance name="Application Files" type="file" version="8.1">

		<property name="explodeArchiveFiles" value="false" />

		<!-- Accepted units are hour, min, sec -->
		<property name="delayBetweenIterations" value="3" unit="sec" />

		<property name="filesPerIteration" value="5" />

		<property name="delayBetweenArchiveIterations" value="10" unit="sec" />

		<property name="archiveFilesPerIteration" value="1" />

		<!-- Accepted units are bytes, KBytes, MBytes -->
		<property name="maxFileSizeToUpload" value="50" unit="KB" />
		
		<property name="useDigest" value="needed" />

		<!-- Scans typical files used for web application config -->
		<fileset name="config">
			<exclude pattern="(.*)">
				<include pattern="(.*)\.xml$"/>
				<include pattern="(.*)\.cmd$"/>
				<include pattern="(.*)\.sh$"/>
				<include pattern="(.*)\.bat$"/>
			</exclude>
		</fileset>

		<!-- Scans typical files that contain web application code -->
		<fileset name="webElements">
			<exclude pattern="(.*)">
				<include pattern="(.*)\.jsp$"/>
				<include pattern="(.*)\.cfm$"/>
				<include pattern="(.*)\.js$"/>
				<include pattern="(.*)\.html$"/>
			</exclude>
		</fileset>

		<!-- Scans java archives -->
		<fileset name="archives">
			<exclude pattern="(.*)">
				<include pattern="(.*)\.zip$"/>
				<include pattern="(.*)\.jar$"/>
				<include pattern="(.*)\.ear$"/>
				<include pattern="(.*)\.war$"/>
			</exclude>
		</fileset>

		<!-- Scans only the types of files defined in config, webElements, and archive filesets -->
		<fileset name="default">
			<exclude pattern="(.*)">
				<include pattern="(.*)\.xml$" />
				<include pattern="(.*)\.cmd$" />
				<include pattern="(.*)\.sh$" />
				<include pattern="(.*)\.bat$" />
				<include pattern="(.*)\.jsp$" />
				<include pattern="(.*)\.cfm$" />
				<include pattern="(.*)\.js$" />
				<include pattern="(.*)\.html$" />
				<include pattern="(.*)\.zip$" />
				<include pattern="(.*)\.jar$" />
				<include pattern="(.*)\.ear$" />
				<include pattern="(.*)\.war$" />
			</exclude>
		</fileset>

		<!-- Scans only the types of files defined in config and webElements -->
		<fileset name="defaultNoArchives">
			<exclude pattern="(.*)">
				<include pattern="(.*)\.xml$" />
				<include pattern="(.*)\.cmd$" />
				<include pattern="(.*)\.sh$" />
				<include pattern="(.*)\.bat$" />
				<include pattern="(.*)\.jsp$" />
				<include pattern="(.*)\.cfm$" />
				<include pattern="(.*)\.js$" />
				<include pattern="(.*)\.html$" />
			</exclude>
		</fileset>

		<!-- Scans everything except log files -->
		<fileset name="noLogs">
			<exclude pattern="(.*)\.err$" />
			<exclude pattern="(.*)\.log$" />
			<exclude pattern="(.*)\.lok$" />
			<exclude pattern="(.*)\.tlog$" />
			<exclude pattern="(.*)\.log0(.*)" />
		</fileset>

        <!--
        更改 name 属性的值以指向您要监控的目录
        注意:开箱即用型配置使用“default”文件集。  如果您不想监控 java 存档文件,
        请改用 "defaultNoArchive" 文件集。  另外,您可以自定义一个文件集元素,
        来监控所选的文件,或替换以下 scan-directory 元素或添加新目录。
        也可以在 name 属性
        (或任何其他属性)值中使用 Java 系统属性或 Introscope 代理属性值(例如,name="${MY_APP_HOME}/filesICareAbout/"-->
		<scan-directory recursive="true" name="." fileset="default"
			enabled="true">
		</scan-directory>
	</datasource-instance>


    <!-- ========================================================== -->
    <!-- DATABASE CHANGE MONITORING                                 -->
    <!-- ========================================================== -->
    <!--
    以下是 DB 监视器每 10 分钟从 Oracle v$parameter 表扫描一次名称/值
    对的示例步骤。

    注意:默认情况下已注释掉此数据源实例
    因为它需要特定于您的环境的
    连接参数。 请输入特定于您的数据库步骤
    的值。 -->
    <!--
    <datasource-instance name="Oracle DB" type="database" driver="oracle.jdbc.driver.OracleDriver" driverClasspath="C:\\somePathTo\\yourOracleDriver.zip"
			url="jdbc:oracle:thin:@yourdbserver:1521:orcl" username="username"
			password="password" version="8.1">
		SQL Server
			SELECT name, value FROM v$parameter
		</sql>
		<schedule type="repetitive" interval="10" unit="min"/>
	</datasource-instance>
	-->


    <!-- ========================================================== -->
    <!-- JAVA SYSTEM PROPERTIES MONITORING                          -->
    <!-- ========================================================== -->
    <!--
	默认情况下,
    Java 系统属性监视器会包括并监控所有属性。     
   
    要排除属性,必须添加排除节点。 如果要
    覆盖任何排除,
    必须在特定 exclude 元素内嵌套 include 元素。  以下示例排除了
    具有以“java.”开头的属性异常的所有属性。
	  	 <exclude pattern=".*">
	  	 	<include pattern="java\.*"/>
	  	 </exclude> -->
	<datasource-instance name="Java System Properties" type="javaenv" version="8.1">
	</datasource-instance>


    <!-- ========================================================== -->
    <!-- JAVA CLASS MONITOR                                         -->
    <!-- ========================================================== -->
    <!--
    默认情况下,会使用以下 exclude 元素排除应用程序服务器类。 
    exclude 元素的 pattern 属性定义
    用来匹配类名称(包括软件包名称)的正则表达式。 
   
    如果要覆盖任何排除,
    必须在特定 exclude 元素内嵌套 include 元素。  以下示例排除了
     java 软件包内具有类异常的所有类。
		<exclude pattern=".*">
			<include pattern="java\.*"/>
		</exclude>
		
	注意:ChangeDetector 当前对每个 JVM 仅支持 1 个 classmonitor
			 数据源实例。 
		
	注意:	
			Java 类监视器将包括并监控与任何排除参数都不匹配的所有类

	-->
	<datasource-instance name="Java Class Monitor" type="classmonitor" version="8.1">
		<!-- Accepted units are hour, min, sec -->
		<property name="delayBetweenIterations" value="2" unit="sec" />
		<property name="classesPerIteration" value="100" />
		
		<!-- exclude classes from Wily -->
		<exclude pattern="com\.wily\.(.*)"/>
		
		<!--
			以下示例将从某些应用程序服务器跳过类。 
			包括可能导致跟踪大量
			极少更改的类的类,以及可能与
			应用程序性能无关的类。 
		-->
		
		<!-- 从 BEA 排除类 -->
		<exclude pattern="weblogic\.(.*)"/>
		<exclude pattern="com\.bea\.(.*)"/>
		
		<!-- 从 IBM 排除类 -->
		<exclude pattern="com\.ibm\.(.*)">
			<include pattern="com\.ibm\.(.*)jdbc(.*)"/>
		</exclude>
		
		<!-- 从 SAP 排除类 -->
		<exclude pattern="com\.sap\.(.*)"/>
		
		<!-- 从 Oracle 排除类 -->
		<exclude pattern="oracle\.*">
			<include pattern="oracle\.jdbc\.(.*)"/>
		</exclude>
		
		<!-- 从 Sun 排除类 -->
		<exclude pattern="com\.sun\.enterprise\.(.*)"/>
	</datasource-instance>
	
	<!-- ========================================================== -->
    <!-- CONFIGURATION PROPERTIES-不要修改 datasource-type -->
    <!-- ========================================================== -->
	<datasource-type name="file" class="com.wily.rave.agent.ds.file.FileDataSourceConfig" />
	<datasource-type name="database" class="com.wily.rave.agent.ds.db.DBDataSourceConfig" />
	<datasource-type name="javaenv" class="com.wily.rave.agent.ds.sysprop.SysPropDataSourceConfig" />
	<datasource-type name="classmonitor" class="com.wily.rave.agent.ds.classmonitor.RuntimeClassMonitorConfig" />

</change-detector>