Bug 875202

Summary: [iis] ResponseTime data fails to be collected due to incorrect and hard-coded log file prefix validation
Product: [JBoss] JBoss Operations Network Reporter: Larry O'Leary <loleary>
Component: Plugin -- OtherAssignee: RHQ Project Maintainer <rhq-maint>
Status: CLOSED WONTFIX QA Contact: Mike Foley <mfoley>
Severity: high Docs Contact:
Priority: unspecified    
Version: JON 3.1.1CC: myarboro
Target Milestone: ---   
Target Release: JON 3.1.2   
Hardware: All   
OS: Windows   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 875203 (view as bug list) Environment:
Last Closed: 2012-11-20 20:59:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 875203    
Bug Blocks:    

Description Larry O'Leary 2012-11-09 19:38:17 UTC
Description of problem:
Response Time (CallTime) metrics for an IIS VHost are not being collected and the following message is logged in the agent:

DEBUG [ResourceContainer.invoker.daemon-2] (org.rhq.plugins.iis.IISResponseTimeDelegate)- No log files exist yet


This failure is due to the plug-in looking for the wrong file name prefix. It appears that in IIS 7+ the default log file name begins with "u_ex" however, in IIS 6 (and the existing plug-in) "ex" was the prefix.

Version-Release number of selected component (if applicable):
4.4.0.JON311GA

How reproducible:
Always

Additional info:
From the support engineer who did some preliminary investigating:

After performing some tests locally, I have identified that the root cause should be related to the logging file name. As described in this page [2], "By Default IIS 7 log file format is stored using the u_ex prefix rather than ex prefix as seen in IIS 6." and there is a validation to check the logging file name, as follows:

**CLASS: IISResponseTimeDelegate

 -> This is a snippet of the class that contains the method responsible for validating the file name:

        private class IISResponseTimeLogFileFilter implements FileFilter {
            public boolean accept(File f) {
                String fileName = f.getName().toLowerCase();
                return fileName.startsWith("ex") && fileName.endsWith(".log");
            }
        }

Comment 2 Larry O'Leary 2012-11-20 22:59:46 UTC
IIS 7.5 is not supported by plugin.