Topic
  • 146 replies
  • Latest Post - ‏2015-04-16T16:26:26Z by FrankHansen
Lee Wei
Lee Wei
599 Posts

Pinned topic Report Available: Fixlet Compliance by Computer Group

‏2009-12-14T18:33:18Z |

Overview:

  • Given a set of Fixlets and a group of Computers, the report will calculate the total compliance, as well as the compliance for individual computers.
  • There is a sister report that provides the compliance of each Fixlet, rather than by each Computer.

Installation:

You should have a \wwwroot\ext-3.2.0 directory.

  • If the \ext-3.2.0 directory already exists, the easiest is to rename it first.
  • Create the report by going to the Reports link/tab in Web Reports.

Scroll to the bottom to find button "Import Report"
Browse to the Fixlet Compliance by Computer Group v1.6.beswrpt report file in the \ext-3.2.0 directory
It is in an XML format

Requirements:

  • The report works in both Web Reports version 7.2 and 8.0.
  • The charts require Flash Player 9.0 or above.
  • The export to Excel function requires Firefox.
  • This report does extensive JavaScript processing. IE7 is particularly slow in this regard. Please consider upgrading to IE8 or better still Firefox.
  • Safari is not supported because it does not allow the modification of script timeout period. For long running reports (say >5000 computers), Safari will timeout.

Bug Fixes/Enhancements:

  • 2010-08-05 v1.6 Added line 47 in fixlet_compliance.js that allows different treatment for computers with 0 applicable Fixlets
  • 2010-08-05 v1.6 Added Mark Macherey filter modifications http://forum.bigfix.com/viewtopic.php?id=5393
  • 2010-05-15 v1.5 Added the ability to multi-select both the Fixlet Content and the Computer Group
  • 2010-05-05 v1.4 Fixed the problem where custom sites show an empty compliance report
  • 2009-12-14 v1.3 This is the originally posted version. (Find the version number where the filters drop list at the top)

Notes:

  • This report is related to and uses the following reports. So as a bonus, import and try the other reports as well.

Asset Management Dashboard v1.2.beswrpt
https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014743859&ps=25

Fixlet Compliance by Content v1.1.beswrpt
https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014744033&ps=25

Lee Wei

Compliance by Computer Group

 

 

  • Lee Wei
    Lee Wei
    599 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2009-12-14T18:34:17Z  

    Additional Information:

    Content Droplist Filter

    • The Content droplist will retrieve all baseslines and sites available to the login Web Report user.
    • There are a few pre-defined selections:

    All Microsoft Critical Fixlets - All Patches for Windows (English) critical Fixlets, excluding corrupted or superseded patches.
    Microsoft Patches (Current Period) - Automatically calculates the Fixlets published from the Patch Tuesday to the Monday before the next period. Excludes all corrupted or superseded patches.
    Microsoft Patches (Previous Periods) - Same as above but for 2 previous periods.

     

     

    • Custom Relevance Expression - Provides a free form entry to specify a Session Relevance that returns a list of Fixlet objects.

    For example, bes fixlets whose (name of it as lowercase starts with "ms09-065")
    This will return all Fixlets with names starting with MS09-065.

    Computer Group Droplist Filter

     

    • The Computer Group droplist will retrieve all computer groups available to the login Web Report user.
    • There are 2 few pre-defined selections:

    All Computer - Straight forward retrieval of all computers. It is not a good idea to use this if there are too many computers. Always try with a smaller subset.
    All Windows Computers - All computers with that has "win" in the operating system name.

     

     

    • Custom Relevance Expression - Provides a free form entry to specify a Session Relevance that returns a list of Computer objects.

    For example, bes computers whose (now - last report time of it < 7*day)
    This will return all computers who have reported within the last week.

    Compliance Grid

    The Compliance grid displays individual computer compliance status against all the Fixlets selected.

     

    • Meanings for the various columns:

    Applicable Fixlets - All the Fixlets that became relevant on the computer at some point. Let's assume that a completely patched computer is added to the BigFix system, note that Applicable Fixlet will be zero because no Fixlets would have been evaluated as relevant. So the applicable count shows only results after the installation of the BigFix agent. Installed + Outstanding = Applicable.
    Installed Fixlets - Any Fixlets first detected as relevant, which are now remediated.
    Outstanding Fixlets - Fixlets that are still relevant.
    Compliance - This percentage output is calculated with formula (Installed / Applicable) * 100.

     

    • The Export to Excel function uses a newer browser feature call Data URL. Unfortunately, the support across browsers is not consistent, and as this is written, it only works with FireFox or Safari.
    • Although the grid does paging, this is only a Client Side feature rather than true paging from the Server.


    Outstanding Fixlet Grid

    The Outstanding Fixlet grid displays all the Fixlets still relevant for the computer group selected.

     

    • Note that the grid currently limits the displayed data to 1000 items to prevent slow performance.
    • The items are grouped by Computer Name by default. However, it is possible to group them by the other columns, such as by Source Severity. Try this out by locating the Column Filter droplist on the column headings.


    Lee Wei

     

  • Lee Wei
    Lee Wei
    599 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2009-12-14T22:36:29Z  
    Hi John,

    • The report cannot be printed as one continuous page.
    • Export as PDF needs to be done as printing to the PDF driver.
    • The report itself should have no bearing on Windows 2008 R2. It does not distinguish the OS in any way. I would love to help you figure out the problem. I will give you a ping via private message.

    Lee Wei
  • SystemAdmin
    SystemAdmin
    890 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2009-12-15T10:35:04Z  
    Hi Lee, this looks excellant - but (there's always a but when a sentence starts like this one ;) ) when I try and open the report all I see is:-

    Important Information
    Loading...

    How long would you expect it to take to load in the information (we have 21,000 fixlets, 3800 tasks, 100 actions, 2000 computers and a handfull of baselines) ?

    Could it be something to do with the fact that we don't use the default BigFix ports?

    I should add that other reports are working OK.

    Thanks,
    Mark
  • Lee Wei
    Lee Wei
    599 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2009-12-15T16:23:50Z  
    Hi Mark,

    Looks like you don't have the JavaScript libraries unzipped correctly.
    The ext_js_lib.zip goes into the folder "C:\Program Files\BigFix Enterprise\BES Server\BESReportsServer\wwwroot".
    (Or wherever the Web Reports is installed)
    You should then have a folder \ext underneath that as in:
    "C:\Program Files\BigFix Enterprise\BES Server\BESReportsServer\wwwroot\ext"

    You can test this by seeing if you can find a file in that folder via Web Reports:
    http://<servername>:<port>/ext/resources/css/ext-all.css
    If you see text and css content, you have it installed correctly.

    The initial load should take 3-5 seconds.

    Lee Wei
  • raveldc91
    raveldc91
    3 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2009-12-15T18:30:09Z  
    This is a great report. I do occasionally get the error though:

    Error: NETWORK_ERR: XMLHttpRequest Exception 101

    unique values of (id of item 0 of it as string & "||" & name of item 0 of it & "||" & item 1 of it & "||" & item 2 of it & "||" & item 3 of it & "||" & item 4 of it & "||" & item 5 of it & "||" & item 6 of it & "||" & item 7 of it) of (applicable computers whose (exists name of it) of it, ("" & name of it & ""), (if (exists source severity of it) then ( if (source severity of it as lowercase contains "" or source severity of it as lowercase contains "") then ("Unspecified") else (source severity of it) ) else ("Unspecified")), (if (exists source release date of it ) then ((year of it as string & "-" & month of it as two digits as string & "-" & day_of_month of it as two digits as string) of source release date of it as string) else "1000-01-01"), (if (exists category of it) then (if (category of it as lowercase contains "") then (category of it as string) else ("Unspecified") ) else ("Unknown")), (if (exists download size of it) then ((download size of it) as string) else ("0")),display name of site of it, applicable computer count of it as string) of (bes fixlets whose (fixlet flag of it = true and display name of site of it = "Patches for Windows (English)" and name of it as lowercase does not contain "corrupt patch" and name of it as lowercase does not contain "superseded" and source release date of it >= date "13 Oct 2009" and source release date of it <= date "09 Nov 2009"))

    What causes this? Is there a fix?

    I should also note that the "" & name of it & "" appears as a hyperlink. When clicked it leads to a HTTP/1.1 404 Not Found, with the URL:

    https://webreports/ReportFiles/106/%22%22
  • SystemAdmin
    SystemAdmin
    890 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2009-12-15T19:56:33Z  
    Lee, This rocks. Thanks so much. It should be stickied at the top of the forum! One quick question, is there a way to print out the entire report as a single page or export is as a PDF?

    Update: I just noticed that data for Windows 2008 R2 shows all 0's for Applicable, Installed and Outstanding. Strange.

    Update to my update: I don't know how to read. After Lee spent his time with me, we figured out I was just reading the report wrong.

    As for my question on printing, we were looking for a way to print out the report as a whole, not an actual single page but as one report. Talking with Lee, it is not possibly to print as one continuous report at this time.
  • Lee Wei
    Lee Wei
    599 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2009-12-16T00:02:16Z  
    Hi Raveldc,

    The hyperlink that you saw has no bearing on the error.

    This is the Session Relevance statement used by the report to retrieve Fixlet information.
    The statement is correct, so any intermittent problem might suggest some external issues, potentially because there is a lot of data being returned.
    • What browser are you using?
    • Are you noticing other network issues?
    • How many computers do you have?

    Here is a simple Web Report that we can use to test the statement and to see if we can duplicate the error.
    Create the following as a new report, then paste the Session Relevance statement above into the text area and run the query.
    If you put the statement "number of unique values..." in front of the query, it is also useful to find out how many rows are being returned.

    Lee Wei

    
    <table><tr> <td><textarea id=
    "query" rows=
    "4" cols=
    "60"></textarea></td> <td><input type=
    'button' onclick=
    'run()' value=
    'Run'/></td> </tr></table><hr/><div id=
    "resultsDiv"></div>   <script type=
    "text/javascript"> function run()
    { var relevance = query.value; strResponse = EvaluateRelevance(relevance); document.getElementById(
    'resultsDiv').innerHTML = strResponse;
    } </script>
    
  • koldenbu91
    koldenbu91
    7 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2009-12-16T16:59:50Z  
    I do not access to the server to dump the files you suggested into the Server. I have copied the Zip file contents into my local drive c:\Program Files\BigFix Enterprise\Client and then try to run it from the Web Client and it only reports the following.

    Important Information
    Loading...
    Can you let me know if this report can be run from the client side without dumping the Zip file that you suggested to download onto the server?
  • Lee Wei
    Lee Wei
    599 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2009-12-16T17:25:38Z  
    Hi koldenbu,

    The framework is necessary on the server side for processing.
    It cannot be installed on the client side.

    Sorry about that,
    Lee Wei
  • SystemAdmin
    SystemAdmin
    890 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2009-12-16T17:49:56Z  
    Hi Lee,

    As requested in your email...

    I checked the directory structure as you suggested and yes - the files had unpacked to "C:\Program Files\BigFix Enterprise\BES Server\BESReportsServer\ext"

    So I moved the 'ext' directory to "C:\Program Files\BigFix Enterprise\BES Server\BESReportsServer\wwwroot\ext" and everything started working just fine.

    As I also said in my email to you - this is wonderful addition to the Web Reports, I can now let my managers know that they can generate their own compliancy charts without me having to give them Console access to the SCM Dashboards.

    Thanks again. :D :D :D
    Mark
  • raveldc91
    raveldc91
    3 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2009-12-21T14:03:39Z  
    o.k., thanks for the test. I tried it and it does not return anything, here is the session relevance:

    unique values of (id of item 0 of it as string & "||" & name of item 0 of it & "||" & item 1 of it & "||" & item 2 of it & "||" & item 3 of it & "||" & item 4 of it & "||" & item 5 of it & "||" & item 6 of it & "||" & item 7 of it) of (applicable computers whose (exists name of it) of it, ("" & name of it & ""), (if (exists source severity of it) then ( if (source severity of it as lowercase contains "" or source severity of it as lowercase contains "") then ("Unspecified") else (source severity of it) ) else ("Unspecified")), (if (exists source release date of it ) then ((year of it as string & "-" & month of it as two digits as string & "-" & day_of_month of it as two digits as string) of source release date of it as string) else "1000-01-01"), (if (exists category of it) then (if (category of it as lowercase contains "") then (category of it as string) else ("Unspecified") ) else ("Unknown")), (if (exists download size of it) then ((download size of it) as string) else ("0")),display name of site of it, applicable computer count of it as string) of (bes fixlets whose (fixlet flag of it = true and display name of site of it = "Patches for Windows (English)" and name of it as lowercase does not contain "corrupt patch" and name of it as lowercase does not contain "superseded" and source release date of it >= date "08 Dec 2009" and source release date of it <= date "11 Jan 2010"))

    I also tried using the same relevance with number of ... prepended. Again, no data.

    Browser: Safari
    Network issues: None that we are aware of
    Number of computers: ~9,000
  • Lee Wei
    Lee Wei
    599 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2009-12-23T19:06:55Z  
    raveldc and I worked on the above issue and determined that Safari is timing out processing the script.
    This works correctly with FireFox.
    We have not been able to find a way to change the timeout for Safari, as we are able to for FireFox and IE.
    We are going to make a note that Safari is not supported.

    Lee Wei
  • SystemAdmin
    SystemAdmin
    890 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2010-01-14T15:42:56Z  
    Lee,

    Any chance we could have a "By Date" and / or "By Time Period" option added to the report. This way we could run the report for different time periods (we could run them at any point in time) and see some rudimentary trending reports?

    Also, we would LOVE a way to schedule and email this report.

    John
  • Lee Wei
    Lee Wei
    599 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2010-01-14T18:51:54Z  
    John,

    There are 2 possible time period filters.
    One for the release dates for the Fixlets, and the other the remediation date.
    I assume you would be interested in the remediation date.
    For a certain time period, show me what computers are fixed.

    This report is not suitable for scheduling, rather ad-hoc querying. To schedule a report, I would have had to figure out a way to pre-define the filters.
    Otherwise, the report is invoked but empty.

    I am not actively working on this right now.
    Thanks for providing the feedback.

    Lee Wei
  • choro
    choro
    6 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2010-01-26T22:02:47Z  
    Hello,

    I installed the report as specified but keep getting the "Loading..." and nothing happens.

    We have WebReports installed on the E: not the C:, is this a problem?
  • Lee Wei
    Lee Wei
    599 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2010-01-26T22:10:18Z  
    Hi Choro,

    It is possible that the JavaScript libraries are not expanded into the right location.
    The \ext directory goes under
    C:\Program Files\BigFix Enterprise\BES Server\BESReportsServer\wwwroot\

    You know the installation is correct if you can access files within the \ext folder by using using this URL:
    http://<server_name>:<web_reports_port>/ext/ext-all.js

    On my system, it would be:
    http://corona:52312/ext/ext-all.js

    You should see some copyright info for the JavaScript code.

    Lee Wei
  • choro
    choro
    6 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2010-01-26T22:23:26Z  
    Hello Lee,

    I put the link in and replaced corona with our server and received the following info.

    Looks like it is in the right place.

    We are running BES v7.0.9.164 and have over 5k computers.


    /*
    * Ext JS Library 3.0.0
    * Copyright(c) 2006-2009 Ext JS, LLC
    * licensing@extjs.com
    * http://www.extjs.com/license
    */
    Ext.DomHelper=function(){var s=null,j=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i,l= ............. etc..
  • Lee Wei
    Lee Wei
    599 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2010-01-27T01:06:33Z  
    Choro,

    Next we should make sure that the report is not just slow.
    You should use a baseline with a few Fixlets, and a computer group with a few computers.
    This will make sure that the report is not just being slow.
    What browser are you using?
    Note that IE7/8 is slow, IE6 is too slow. If performance is our issue, do consider trying this in FireFox.

    Lee Wei
  • choro
    choro
    6 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2010-01-27T13:41:20Z  
    Hi Lee,

    I'm getting the "Loading..." before I run the report.
    I go to "Reports", click on the report and get "Loading..." before i select anything.
    I've tried it on FireFox and have the same problem.
  • jonaserlundhammarback91
    5 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2010-01-28T11:54:16Z  
    Hi Lee

    I have two questions:
    1. Is it possible to exclude/hide fixlets and tasks in a report based on a Baseline? I have some administrative tasks in my baselines and these tasks are not relevant to show in a report.

    2. I only get "Loading..." in the pdf when i create a pdf with "Export to pdf". Should i use the standard print function in Firefox instead?
    /Jonas
  • Lee Wei
    Lee Wei
    599 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2010-01-28T23:23:39Z  
    For Choro,

    I worked with Choro and we find that the report does not work with BigFix version 7.0.9.164.
    So I will update the requirements to indicate this, thanks Choro.

    Lee Wei
  • Lee Wei
    Lee Wei
    599 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2010-01-28T23:35:34Z  
    Hi Jonas,

    2. I am not familiar with the PDF export. I have to look into that at some point. So yes you are correct that please try the standard print function from within the browser. For each of the datagrid, you can also print the data.

    1. Yes, it is possible for you to write Session Relevance to hone in on all the Fixlets in a baseline minus some.

    • In the Content combo box, select the last item "Custom Relevance Expression". This allows you to write a query to pull any number of Fixlets.
    • The query we want can start by identifying the Baseline, then filter out the admin tasks. Here is an example.

    
    source fixlets whose ( name of it does not contain 
    "Project" ) of components of component groups of bes fixlets whose ( baseline flag of it = 
    
    true and name of it contains 
    "December 2009" )
    

    In this case, "December 2009" identifies your original Baseline. "Project" is the word found in the admin tasks.

    Lee Wei
  • jonaserlundhammarback91
    5 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2010-01-29T06:56:03Z  
    Hi Lee

    I tried to just cut and paste your code and replace "Project" and "December 2009" with my values, but I get this error message:

    Error: The operator "operating system" is not defined.

    The complete relevance statement is:
    unique values of (id of it as string & "||" & ("" & name of it & "") & "||" & (if (exists operating system of it) then (operating system of it) else ("Unknown")) & "||" & (if (exists ip addresses of it) then (concatenation ("
    ") of (ip addresses of it as string)) else (" ")) & "||" & ((year of it as string & "/" & month of it as two digits & "/" & day_of_month of it as two digits) of date(local time zone) of it & " "& (two digit hour of it as string & ":" & two digit minute of it as string & ":" & two digit second of it as string) of time (local time zone) of it) of last report time of it) of source fixlets whose ( name of it does not contain "Project" ) of components of component groups of bes fixlets whose ( baseline flag of it = true and name of it contains "December 2009" )

    How should the code be if I also need to filter the computers in the report.
    I have a set of custom properties I would like to filter on, "Customer" and "Group"

    BR
    Jonas
  • Lee Wei
    Lee Wei
    599 Posts

    Re: Report Available: Fixlet Compliance by Computer Group

    ‏2010-01-29T16:56:49Z  
    Jonas,

    Looks like you entered the Relevance into the "Computer Group" filter.
    You need to enter it in the "Content" filter instead on the left.
    The example statement is only for Fixlets.

    To filter on the computers, you should create a Computer Group within the Console first. Then use the Computer Group in this report.

    Lee Wei