<?xml version='1.0'?>
<!-- $Header: generic_apache.xml 14-aug-2006.03:04:21 spandita Exp $ -->

<!DOCTYPE TargetMetadata SYSTEM "../dtds/TargetMetadata.dtd">

<TargetMetadata META_VER="1.0" TYPE='generic_apache'>
    <Display>
        <Label NLSID='apache_server_name'>Apache HTTP Server</Label>
        <ShortName NLSID='apache_server_name'>Apache HTTP Server</ShortName>
        <Description NLSID='apache_server_desc'>Monitoring the generic Apache HTTP Server from EM</Description>
    </Display>

    <Metric NAME="Response" TYPE="TABLE">
        <Display>
            <Label NLSID="apache_server_response">Response</Label>
        </Display>
        <TableDescriptor>
            <ColumnDescriptor NAME="Status" TYPE="NUMBER" IS_KEY="FALSE">
                <Display>
                    <Label NLSID="apache_server_status">Status</Label>
                </Display>
            </ColumnDescriptor>
        </TableDescriptor>
        <ExecutionDescriptor>
            <GetTable NAME="apache_info"/>
            <GetView NAME="result" FROM_TABLE="apache_info">
                <Column NAME="Status" COLUMN_NAME="Status"/>
            </GetView>
        </ExecutionDescriptor>
    </Metric>

    <Metric NAME="apache_info" TYPE="TABLE" HELP="NO_HELP" USAGE_TYPE="HIDDEN">
        <TableDescriptor>
            <ColumnDescriptor NAME="Status" TYPE="NUMBER" IS_KEY="FALSE"/>
            <ColumnDescriptor NAME="version" TYPE="STRING" IS_KEY="FALSE"/>
        </TableDescriptor>
        <QueryDescriptor FETCHLET_ID="OSLineToken">
            <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property>
            <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property>
            <Property NAME="installHome" SCOPE="INSTANCE">InstallHome</Property>
            <Property NAME="command" SCOPE="GLOBAL">"%perlBin%/perl" "%scriptsDir%/apacheresponse.pl" "%installHome%"</Property>
            <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property>
            <Property NAME="delimiter" SCOPE="GLOBAL">|</Property>
        </QueryDescriptor>
    </Metric>
    
    <Metric NAME="chronos_collection" TYPE="EXTERNAL" USAGE_TYPE="COLLECT_UPLOAD" HELP='NO_HELP'>
      <Display>
        <Label NLSID="chronos_collection">Chronos Collection</Label>
      </Display>
      <QueryDescriptor FETCHLET_ID="OSLineToken">
        <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property>
        <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property>
        <Property NAME="chronosRoot" SCOPE="SYSTEMGLOBAL">chronosRoot</Property>
        <Property NAME="agentStateDir" SCOPE="SYSTEMGLOBAL">agentStateDir</Property>
        <Property NAME="loaderFile" SCOPE="SYSTEMGLOBAL">_loaderFile</Property>
        <Property NAME="targetName" SCOPE="INSTANCE">NAME</Property>
        <Property NAME="targetType" SCOPE="INSTANCE">TYPE</Property>
        <Property NAME="targetGUID" SCOPE="INSTANCE">GUID</Property>
        <Property NAME="logFileDir" SCOPE="INSTANCE" OPTIONAL="TRUE">logFileDir</Property>
        <Property NAME="pageidparams" SCOPE="INSTANCE" OPTIONAL="TRUE">pageidparams</Property>
        <Property NAME="logFileName" SCOPE="INSTANCE" OPTIONAL="TRUE">logFileName</Property>
        <Property NAME="emdURL" SCOPE="SYSTEMGLOBAL">EMD_URL</Property>
        <Property NAME="omsVersion" SCOPE="SYSTEMGLOBAL">OMS_VERSION</Property>
        <Property NAME="optionalProps" SCOPE="INSTANCE" OPTIONAL="TRUE">optionalProps</Property>
        <Property NAME="command" SCOPE="GLOBAL">
           "%perlBin%/perl" "%scriptsDir%/chronos_mining.pl" %optionalProps% -chronosroot "%chronosRoot%" -emdroot "%agentStateDir%" -outfile "%loaderFile%" -pageidparams "%pageidparams%" -targetname "%targetName%" -targettype "%targetType%" -targetguid "%targetGUID%" -indir "%logFileDir%" -infile "%logFileName%" -emdURL "%emdURL%" -omsversion "%omsVersion%"
        </Property>
        <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property>
        <Property NAME="delimiter" SCOPE="GLOBAL">|</Property>
      </QueryDescriptor>
    </Metric>

    <Metric NAME="chronos_run" TYPE="TABLE" HELP='NO_HELP'>
      <Display>
        <Label NLSID="chronos_run">APM Mining Performance Details</Label>
      </Display>
      <TableDescriptor>
        <ColumnDescriptor NAME="NO_LOG_LINES" TYPE="NUMBER" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_NO_LOG_LINES">Number of Log Lines Processed</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="NO_INVALID_LOG_LINES" TYPE="NUMBER" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_NO_INVALID_LOG_LINES">Number of Invalid Log Lines</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="NO_BEACON_LINES" TYPE="NUMBER" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_NO_BEACON_LINES">Number of Beacon Request Lines</Label>
          </Display>
        </ColumnDescriptor>          
        <ColumnDescriptor NAME="NO_COMPLETED_PAGES" TYPE="NUMBER" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_NO_COMPLETED_PAGES">Output - Completed Pages</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="NO_INCOMPLETE_PAGES" TYPE="NUMBER" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_NO_INCOMPLETED_PAGES">Output - Incompleted Pages</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="NO_REQUESTS_OUTPUT" TYPE="NUMBER" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_NO_REQUESTS_RECVD">Output - Total Page Requests</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="TOTAL_GIF_REQUESTS" TYPE="NUMBER" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_TOTAL_GIF_REQUESTS">EUM Gif Requests - Total</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="TOTAL_GIFS_IGNORE" TYPE="NUMBER" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_TOTAL_GIFS_IGNORE">EUM Gif Requests - No Expected Output</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="TOTAL_GIFS_NOPAGE" TYPE="NUMBER" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_TOTAL_GIFS_NOPAGE">EUM Gif Requests - Browser Cached Pages</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="TOTAL_GIFS_UNACCOUNTED" TYPE="NUMBER" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_TOTAL_GIFS_UNACCOUNTED">EUM Gif Requests - Other/Unaccounted</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="START_RUN_TIME" TYPE="STRING" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_START_RUN_TIME">Start Run Time</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="TOTAL_RUN_TIME" TYPE="NUMBER" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_TOTAL_RUN_TIME">Total Run Time (sec)</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="START_LOG_TIME" TYPE="STRING" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_START_LOG_TIME">Start Log Time</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="END_LOG_TIME" TYPE="STRING" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_END_LOG_TIME">End Log Time</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="CPU_USAGE_TIME" TYPE="NUMBER" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_CPU_USAGE_TIME">CPU Usage Time</Label>
          </Display>
        </ColumnDescriptor>
        <ColumnDescriptor NAME="AVG_CPU_UTILIZATION" TYPE="NUMBER" IS_KEY="FALSE">
          <Display>
            <Label NLSID="oracle_webcache_AVG_CPU_UTILIZATION">Average CPU Utilization (%)</Label>
          </Display>
        </ColumnDescriptor>
      </TableDescriptor>
      <QueryDescriptor FETCHLET_ID="OSLineToken">
        <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property>
        <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property>
        <Property NAME="chronosRoot" SCOPE="SYSTEMGLOBAL">chronosRoot</Property>
        <Property NAME="agentStateDir" SCOPE="SYSTEMGLOBAL">agentStateDir</Property>
        <Property NAME="targetName" SCOPE="INSTANCE">NAME</Property>
        <Property NAME="targetType" SCOPE="INSTANCE">TYPE</Property>
        <Property NAME="targetGUID" SCOPE="INSTANCE">GUID</Property>
        <Property NAME="emdURL" SCOPE="SYSTEMGLOBAL">EMD_URL</Property>
        <Property NAME="optionalProps" SCOPE="INSTANCE" OPTIONAL="TRUE">optionalProps</Property>
        <Property NAME="command" SCOPE="GLOBAL">
          "%perlBin%/perl" "%scriptsDir%/chronos_run.pl" -chronosroot "%chronosRoot%" -emdroot "%agentStateDir%" -targetname "%targetName%" -targettype "%targetType%" -targetguid "%targetGUID%" -emdURL "%emdURL%" %optionalProps%
        </Property>
        <Property NAME="startsWith" SCOPE="GLOBAL">chronos_run_result=</Property>
        <Property NAME="delimiter" SCOPE="GLOBAL">|</Property>
      </QueryDescriptor>
    </Metric>

    <Metric NAME="RoutingInfo" TYPE="RAW" CONFIG="TRUE">
        <TableDescriptor TABLE_NAME="MGMT_GEN_APACHE_ROUTINGINFO">
            <ColumnDescriptor NAME="Host" COLUMN_NAME="HOST" TYPE="STRING" IS_KEY="TRUE"/>
            <ColumnDescriptor NAME="Port" COLUMN_NAME="PORT" TYPE="NUMBER" IS_KEY="TRUE"/>
            <ColumnDescriptor NAME="ServerType" COLUMN_NAME="SERVER_TYPE" TYPE="STRING" IS_KEY="FALSE"/>
            <ColumnDescriptor NAME="AppPath" COLUMN_NAME="APP_PATH" TYPE="STRING" IS_KEY="FALSE"/>
            <ColumnDescriptor NAME="ServerName" COLUMN_NAME="SERVER_NAME" TYPE="STRING" IS_KEY="FALSE"/>
        </TableDescriptor>
        <QueryDescriptor FETCHLET_ID="OSLineToken">
            <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property>
            <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property>
            <Property NAME="installHome" SCOPE="INSTANCE">InstallHome</Property>
            <Property NAME="command" SCOPE="GLOBAL">"%perlBin%/perl" "%scriptsDir%/generic_apache/getRoutingInfo.pl" "%installHome%"</Property>
            <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property>
            <Property NAME="delimiter" SCOPE="GLOBAL">|</Property>
        </QueryDescriptor>
    </Metric>

    <Metric NAME="CipherSuites" TYPE="RAW" CONFIG="TRUE">
        <TableDescriptor TABLE_NAME="MGMT_GEN_APACHE_CIPHERSUITES">
            <ColumnDescriptor NAME="VHost"       COLUMN_NAME="VHOST"       TYPE="STRING" IS_KEY="TRUE" />
            <ColumnDescriptor NAME="CipherSuite" COLUMN_NAME="CIPHERSUITE" TYPE="STRING" />
        </TableDescriptor>
        <QueryDescriptor FETCHLET_ID="OSLineToken">
            <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property>
            <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property>
            <Property NAME="installHome" SCOPE="INSTANCE">InstallHome</Property>
            <Property NAME="command" SCOPE="GLOBAL">"%perlBin%/perl" "%scriptsDir%/generic_apache/getCipherSuites.pl" "%installHome%"</Property>
            <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property>
            <Property NAME="delimiter" SCOPE="GLOBAL">|</Property>
        </QueryDescriptor>
    </Metric>

    <Metric NAME="General" TYPE="RAW" CONFIG="TRUE">
        <TableDescriptor TABLE_NAME="MGMT_GEN_APACHE_GENERAL">
            <ColumnDescriptor NAME="DocumentRoot" COLUMN_NAME="DOCUMENTROOT" TYPE="STRING" />
            <ColumnDescriptor NAME="Port"         COLUMN_NAME="PORT"         TYPE="NUMBER" />
            <ColumnDescriptor NAME="ServerName"   COLUMN_NAME="SERVERNAME"   TYPE="STRING" />
        </TableDescriptor>
        <QueryDescriptor FETCHLET_ID="OSLineToken">
            <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property>
            <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property>
            <Property NAME="installHome" SCOPE="INSTANCE">InstallHome</Property>
            <Property NAME="command" SCOPE="GLOBAL">"%perlBin%/perl" "%scriptsDir%/generic_apache/getGeneral.pl" "%installHome%"</Property>
            <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property>
            <Property NAME="delimiter" SCOPE="GLOBAL">|</Property>
        </QueryDescriptor>
    </Metric>

    <Metric NAME="PerfRelated" TYPE="RAW" CONFIG="TRUE">
        
        <TableDescriptor TABLE_NAME="MGMT_GEN_APACHE_PERFRELATED">
            <ColumnDescriptor NAME="MaxClients"               COLUMN_NAME="MAXCLIENTS"                TYPE="NUMBER" />
            <ColumnDescriptor NAME="MaxRequestsPerChild"      COLUMN_NAME="MAXREQUESTSPERCHILD"       TYPE="NUMBER" />
            <ColumnDescriptor NAME="MaxSpareServers"          COLUMN_NAME="MAXSPARESERVERS"           TYPE="NUMBER" />
            <ColumnDescriptor NAME="MinSpareServers"          COLUMN_NAME="MINSPARESERVERS"           TYPE="NUMBER" />
            <ColumnDescriptor NAME="StartServers"             COLUMN_NAME="STARTSERVERS"              TYPE="NUMBER" />
            <ColumnDescriptor NAME="Timeout"                  COLUMN_NAME="TIMEOUT"                   TYPE="NUMBER" />
            <ColumnDescriptor NAME="ListenBackLog"            COLUMN_NAME="LISTENBACKLOG"             TYPE="NUMBER" />
            <ColumnDescriptor NAME="KeepAlive"                COLUMN_NAME="KEEPALIVE"                 TYPE="STRING" />
            <ColumnDescriptor NAME="MaxKeepAliveRequests"     COLUMN_NAME="MAXKEEPALIVEREQUESTS"      TYPE="NUMBER" />
            <ColumnDescriptor NAME="KeepAliveTimeout"         COLUMN_NAME="KEEPALIVETIMEOUT"          TYPE="NUMBER" />
            <ColumnDescriptor NAME="SSLSessionCacheTimeout"   COLUMN_NAME="SSLSESSIONCACHETIMEOUT"    TYPE="NUMBER" />
            <ColumnDescriptor NAME="HostnameLookups"          COLUMN_NAME="HOSTNAMELOOKUPS"           TYPE="STRING" />
            <ColumnDescriptor NAME="LogLevel"                 COLUMN_NAME="LOGLEVEL"                  TYPE="STRING" />
        </TableDescriptor>
        <QueryDescriptor FETCHLET_ID="OSLineToken">
            <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property>
            <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property>
            <Property NAME="installHome" SCOPE="INSTANCE">InstallHome</Property>
            <Property NAME="command" SCOPE="GLOBAL">"%perlBin%/perl" "%scriptsDir%/generic_apache/getPerformanceRelated.pl" "%installHome%"</Property>
            <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property>
            <Property NAME="delimiter" SCOPE="GLOBAL">|</Property>
        </QueryDescriptor>
    </Metric>

    <Metric NAME="ListenAddresses" TYPE="RAW" CONFIG="TRUE">
        <TableDescriptor TABLE_NAME="MGMT_GEN_APACHE_LISTENADDRESS">
            <ColumnDescriptor NAME="IP"       COLUMN_NAME="IP"       TYPE="STRING" IS_KEY="TRUE" />
            <ColumnDescriptor NAME="Port"     COLUMN_NAME="PORT"     TYPE="NUMBER" IS_KEY="TRUE" />
            <ColumnDescriptor NAME="Protocol" COLUMN_NAME="PROTOCOL" TYPE="STRING" />
        </TableDescriptor>
        <QueryDescriptor FETCHLET_ID="OSLineToken">
            <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property>
            <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property>
            <Property NAME="installHome" SCOPE="INSTANCE">InstallHome</Property>
            <Property NAME="command" SCOPE="GLOBAL">"%perlBin%/perl" "%scriptsDir%/generic_apache/getListenAddresses.pl" "%installHome%"</Property>
            <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property>
            <Property NAME="delimiter" SCOPE="GLOBAL">|</Property>
        </QueryDescriptor>
    </Metric>

    <Metric NAME="VirtualHosts" TYPE="RAW" CONFIG="TRUE">
        <TableDescriptor TABLE_NAME="MGMT_GEN_APACHE_VIRTUALHOSTS">
            <ColumnDescriptor NAME="IP"         COLUMN_NAME="IP"         TYPE="STRING" IS_KEY="TRUE" />
            <ColumnDescriptor NAME="Port"       COLUMN_NAME="PORT"       TYPE="NUMBER" IS_KEY="TRUE" />
            <ColumnDescriptor NAME="ServerName" COLUMN_NAME="SERVERNAME" TYPE="STRING" IS_KEY="TRUE" />
            <ColumnDescriptor NAME="ServerType" COLUMN_NAME="SERVERTYPE" TYPE="STRING" IS_KEY="TRUE" />
        </TableDescriptor>
        <QueryDescriptor FETCHLET_ID="OSLineToken">
            <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property>
            <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property>
            <Property NAME="installHome" SCOPE="INSTANCE">InstallHome</Property>
            <Property NAME="command" SCOPE="GLOBAL">"%perlBin%/perl" "%scriptsDir%/generic_apache/getVirtualHosts.pl" "%installHome%"</Property>
            <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property>
            <Property NAME="delimiter" SCOPE="GLOBAL">|</Property>
        </QueryDescriptor>
    </Metric>    
    
    <InstanceProperties>
        <InstanceProperty NAME='InstallHome'><Display>
            <Label NLSID='Install_Home'>Apache Install Home</Label>
            <ShortName NLSID='Install_Home'>Apache Install Home</ShortName>
        </Display></InstanceProperty>

        <!--        <InstanceProperty NAME="version" CREDENTIAL="FALSE" OPTIONAL="FALSE">
          <Display>
            <Label NLSID="oracle_apache_version_iprop">Version of the Apache Server</Label>
          </Display>
      </InstanceProperty> -->

        <!-- for chronos -->
        <InstanceProperty NAME="logFileDir" CREDENTIAL="FALSE" OPTIONAL="TRUE">
          <Display>
            <Label NLSID="oracle_apache_logFileDir_iprop">Log File Directory (for EUM)</Label>
          </Display>
        </InstanceProperty>

        <!-- for chronos -->
        <InstanceProperty NAME="logFileName" CREDENTIAL="FALSE" OPTIONAL="TRUE">
          <Display>
            <Label NLSID="oracle_apache_logFileName_iprop">Log File Name (for EUM)</Label>
          </Display>
        </InstanceProperty>

        <!-- for chronos -->
        <InstanceProperty NAME="pageidparams" CREDENTIAL="FALSE" OPTIONAL="TRUE">
          <Display>
            <Label NLSID="oracle_apache_pageidparams_iprop">Page Identifying Parameters (for EUM)</Label>
          </Display>
        </InstanceProperty>

        <!-- for chronos -->
        <InstanceProperty NAME="optionalProps" CREDENTIAL="FALSE" OPTIONAL="TRUE">
          <Display>
            <Label NLSID="oracle_apache_optionalProps_iprop">Additional Optional Properties (for EUM)</Label>
          </Display>
        
        </InstanceProperty>

        <DynamicProperties NAME="Config" FORMAT="ROW"
                           PROP_LIST="version">
            <ExecutionDescriptor>
                <GetTable NAME="apache_info"/>
                <GetView NAME="result" FROM_TABLE="apache_info">
                    <Column NAME="version" COLUMN_NAME="version"/>
                </GetView>
            </ExecutionDescriptor>
        </DynamicProperties>
    </InstanceProperties>
</TargetMetadata>

