Video Screencast Help

{CWoc} Patch Trending SiteBuilder

Created: 20 Aug 2013 • Updated: 26 Nov 2013 | 13 comments
Ludovic Ferre's picture
+3 3 Votes
Login to vote

Welcome to the {CWoC} Patch Trending SiteBuilder (v15) download.

Content:

Features

The Patch Trending site builder generates static web-site to visualize Patch Compliance Trending Data stored on a Symantec_CMDB database. It has the the following attributes:

  • A landing page showing:
    • global compliance graphs
    • a bulletin search function
    • link to custom compliance views
  • a dynamic page (html + javascript) to quickly access compliance per bulletin
  • static pages to show updates details per bulletins
  • Custom compliance view, which is a set fully custom pages to show groups of bulletins graphs
  • Troubleshooting pages showing "bottom-10-compliance" by bulletin and "top-10-vulnerable" bulletins, and (from v10) 2 pages to show top 10 movers (by installed count i.e up and vulnerable count i.e. down).

Top

Prerequisites

The pre-requisite stored procedures are part of the executable and can be installed at run time. For additional configuration details please refer to this article:

Adding Patch Trending to Your Symantec Management Platform Step by Step Guide

Top

Usage

We have kept the tool to the simplest possible usage: it accepts 1 command line argument <site-layout-path> and if the argument is not provided we will try to load the filesite-layout.txt from the working directory.

So here is the complete list of valid invocations:

	sitebuilder
	sitebuilder <site-layout-filepath>
	sitebuilder /?
	sitebuilder /install
	sitebuilder /write-all

The site layout file format use comma separated value (with or without spaces) with the first entry being the page name and following entries being bulletins to be added on the page. If the bulletin name is invalid no page will be generated.

A sample site-layout page is attached.

Here is the command line help message:

Welcome to the Patch Trending SiteBuilder. Here are the currently supported
command line arguments:

    /install

        This command line installs the pre-requisite stored procedures to the
        Symantec CMDB and terminates.

    /write-all

        This command line will prevent static html and css  files from being
        written to disk. This allows you to customise the site look and feel
        to better suit your needs.

    /?

        This command line prints out this help message and terminates.

Top

Screenshots

Note that you are more than welcome to submit sample data to be included on this page on on the mini-site. This would allow us to spotlight standard trends and how well the software performance (Patch Management Solution) in certain environments. If you want to submit data, please send a direct message to Ludovic Ferre on Symantec Connect or email me (ludovic underscore ferre at symantec.com).

Note! The below sample is an image - but the tool mini-site contains live graphs (using the google API and Javascript) and a complete sample site: 

 

The landing page (1): global compliance + compliance by computer

sample-site-landing2.png

The landing page (2): global compliance + inactive computers

Screenshot from 2013-09-13 14:56:58.png

The landing page (3): global compliance + compliance by computer + inactive computers

Screenshot from 2013-09-13 14:55:58.png

Global view (1):

global_stats.png

Global view (2):

global_compliance.png

Global view (3):

pc-compliance.png

Bulletin view:

ms13-058_bulletinview.png

Updates per bulletin view:

updates_per_bulletin.png

Top

Release Notes

 

Release 15

This release contains a major codefix, a minor codefix and two important new features and a minor CLI change:

  • Code fix (1): Modified the getbulletin.html page to ensure it loads charts properly under various Internet Explorer versions (tested on Version 8, 9 and 10)
  • Code fix (2): Modified getbulletin.html to verify whether trending data exists or not for the requested entry. If not the message 'No data is available...' is displayed.
  • Feature (1): Added command line option /write-all to prevent the following static pages from being over-written with each site builder invocation (i.e. they will only be overwritten if you invoke 'sitebuilder.exe /write-all'):

    • inactive-computers.html
    • compliance-by-computer.html
    • getbulletin.html
    • webpart-fullview.html
    • menu.css
    • help.html
    • javascript/helper.js

    You will notice that this feature include the menu.css. This will allow you to customise the look and feel of the site without loosing your work in between all execution. The same is true for the html pages, as you can now customise them further without the risk of loosing them.

  • Feature (2): Added a new html page name 'webpart-fullview.html'. This page is a copy of getbulletin.html without the site navigation. It is designed to be used inside the SMP console right-click actions inside a virtual window.
  • CLI change: Added a standard message to display all valid option when invoking the executable with the help paremeter (/? or --help)

Release 14

Adding the stored procedure code inside the site builder to simplify the installation process. The command line invocation is simple: 'sitebuilder.exe /install'.

Note! This will reset the stored procedures to default if they were customized.

Release 13

Added some information in the help section. Also generalized the menu to all pages and changes some of the pages linking. One important feature is that the site layout file is now optional, as the site navigation does not depend on customised pages. Also fixed a fair few problems.

Release 12

Version 12 is here with massive amount of changes. A full release note article will be published soon, but here's a short list of additions / improvements: all dates are not ISO based and displayed on the graphs using the MMM dd (for example 2013-07-14 is displayed Jul 14). We have a new site layout that lists all Microsoft bulletins by month, all the way to January 2009, we now have a site map, headers (linked or not) on all stub pages, a navigation tool, a help center (empty for now), we filter out superseded / inactive updates / bulletins from the site, we added a Compliance by Computer page that use a range selector and we have used the same range selector in the bulletin / update page (getbulletin.html).

Release 11

Added Inactive computer trending pages. One page is added to the custom compliance view, and if the data exist a graph is added to the landing page, beside the compliance by computer graph if you have this trending enable, or on its own (see the 2 screenshots added above).

Release 10

Added two troubleshooting pages to list the top 10 bulletins with most changes up (net increase in installed updates)  and down (net increase in vulnerable count). Also took some times to re-order the html pages generated. In this manner the browser will display the html content before it tries to build up the graphs in javascript. Finally I added page title to all generated html pages for additional clarity on the site.

Release 9

Fixed the landing page search function. It will now only redirect to the getbulletin.html page if we can find data for the user input (bulletin name).

Release 8c

Added compliance by computer graphics. This is a single graphs that shows on the landing page if you have enabled Compliance by Computer trending reports (awaiting release here on Connect). The graphs is of Candlestick type and shows data as illustrated above. With enough trending done you will see single line going thru the boxes. This is because we display the historical low, histroical high and changes since the previous data capture.

Note that you can use this version without having the Compliance by Computer report running, as this is an optional add-on.

Release 6c

Fixed a problem with Internet Explorer support. The pages now render properly for IE 8.0 and above. It may work with IE 7 but was not tested yet.

Release 6b

Switched the compliance data to be computed from the installed versus applicable datasets, thus reducing the amount of SQL queries executed by half.

Release 6

Introduced vulnerable count on the Installed vers Applicable graphs. This gives us 3 lines (curves) that are easy to comprehend as you can see from the sample above.

Release 5b

Corrected some performance issues from the previous build and added instrumentation. The site builder now logs entry in the Altiris Logs and will indicate the count of html and js pages generated as well as the count of SQL queries it ran. During the performance issue troubleshooting we considered using a single Databasecontext entry but this was a wrong lead. The problem was database performance as the use of code based stop watch indicated. This was fixed by a non-clustered index on the table to keep track of data by updates.

Release 5

Refactored the graph per update generation. Added the link to the bulletin update page on the bulletin view and on the various aggregate pages.

Release 4

Introduced the Updates per bulletin pages. This pages are crafted for all the bulletins found in the trending table, and each page is named after the bulletin (escaped by replacing dot and hyphens with underscore.

Release 3

Introduced the global compliance graphs on the landing page. This makes the first look at the site very powerful, as we get compliance levels for the entire estate.

There were no prior release (or production use) of the tool.

Top

Sample site:

A complete, fully dynamic, sample site is now available: you can jump to it right now!

Comments 13 CommentsJump to latest comment

michael cole's picture

So - create the linked report, automate it to run daily, run the exe in the folder you want these HTML pages and then view them. 

The HTML pages are portable after creation are they not?

Michael Cole

Remote Product Specialist

Business Critical Services

0
Login to vote
Ludovic Ferre's picture

You got that perfectly right Michael.

Note that due to customer demand I'm working on adding Patch Compliance by Computer data.

It wouldn't show in the same manner (generating and tracking data by computer would be silly) but we could keep track of the state by percent (so see at any given time how many computers on the estate are at x % compliance etc).

I am currently off-net, on a retreat of some kind. I'll be back real soon, and you sure will hear from me then ;-).

Ludovic FERRÉ
Principal Remote Product Specialist
Symantec

0
Login to vote
oeghagha1's picture

Hi, I have tryed use the Sitebuilder solution in my environment ,the main issue I am having, is that the matrix  data generated by the sitebuilder .exe dose not seem to populate the graphs. this is what i get on the landing page- see atteched image:   I have run the prequisite and can see the tables in the database but for some reason the information does not come through, can you help.

 

landingpage.jpg
0
Login to vote
Ludovic Ferre's picture

Hello oeghagha1,

It looks like you only have 1 data point in the table.

Have you scheduled the stored procedure / report to run every day? This will populate the table over time and you'll have many more points available to show you the trend lines :D.

I am currently off-net, on a retreat of some kind. I'll be back real soon, and you sure will hear from me then ;-).

Ludovic FERRÉ
Principal Remote Product Specialist
Symantec

0
Login to vote
oeghagha1's picture

Thanks for the tip it all seems to work now just needed to wait as yous said.

0
Login to vote
michael cole's picture

I went through this with a customer and we had it all working nicely and automated but there is a still a manual process to update the sitebuilder.txt csv file going forward. Do you think this always will be a manual step every month?

Michael Cole

Remote Product Specialist

Business Critical Services

0
Login to vote
Ludovic Ferre's picture

Hi Michael,

It's good to see your question. Funnily enough I made a last build I never got around to publish early in October. So it's here right now.

One feature I have added there is a non-feature: the site layout file is now optional. So you can generate a fully fledged and browsable site without creating any custom pages.

I guess that's not the answer you wanted, but it fits the bill. Customisation, afterall, is not something I want to handle myself.

Finally, for the fun of it, I have update the mini-site and added  earlier versions as well, so you can see how far down the line we are from earlier version:

http://patchtrending.15-cloud.fr/sample-site/ (current, version 13)

http://patchtrending.15-cloud.fr/sample-site-v10/

http://patchtrending.15-cloud.fr/sample-site-v11/

http://patchtrending.15-cloud.fr/sample-site-v12/

I am currently off-net, on a retreat of some kind. I'll be back real soon, and you sure will hear from me then ;-).

Ludovic FERRÉ
Principal Remote Product Specialist
Symantec

0
Login to vote
Ludovic Ferre's picture

I have uploaded the site-layout.txt version containing the October 2013 bulletins. Note that I only cater for Microsoft updates there, but I'll post an update every month once I have crafted the file for my customer.

And I'll try to post a comprehensive pack that contains everything needed to get this running with the least possible amount of work :D.

I am currently off-net, on a retreat of some kind. I'll be back real soon, and you sure will hear from me then ;-).

Ludovic FERRÉ
Principal Remote Product Specialist
Symantec

0
Login to vote
Intern-L's picture

Hi Ludovic,

Everyone that I work with loves Patch Trending and its features! We were looking to customize the reports and trending/tracking a little by adding the patches and updates that we deploy. However, after adding the vendor name and bulletins to the "site-layout.txt" file as described in the Help section, the web pages and the Javascript files aren't being created. Is there something else that we need to do?
Also, I was wondering if there's a way to track compliance by computer based on a Collection GUID?

Thanks in advance! 

0
Login to vote
Ludovic Ferre's picture

Hello Intern-L,

I'm glad to hear that you like the tool. :D

The bulletins added to site-layout.txt will be added to the site only if there is data available for them.

In the current release the store procedure will only capture data for bulletins that are active (enabled, it doesn't need to have a policy attached).

Also there's another not well documented catch on the site builder results: we do not generate JS files or links on the site for updates that have not current data (no longer enabled). This is because I found that many bulletins had tens of update and scanning thru them when most are showing old data was hard and confusing.

For your last question, yes you can customise the collection used for trending the data. This is part of the SQL.

You can call the store procedure with the parameter @collectionguid = '<your collection guid>'.

Take a note when you change the trended computer group (collection) as it could show a drmatic change in your global compliance.

I am currently off-net, on a retreat of some kind. I'll be back real soon, and you sure will hear from me then ;-).

Ludovic FERRÉ
Principal Remote Product Specialist
Symantec

0
Login to vote
kpjernigan's picture

Hi Ludovic,

I love this this, thank you by the way.

I was wondering however, if you had any insight as to why the scheduled task of running "SiteBuilder.exe" does not seem to update the webpages, or graphs.  Even the date time on the main webpage is the orginal date.

If I run the "SiteBuilder.exe" manually, from a CMD Prompt.  It updates the webpage, and a new "Generated by {CWoC} Patch Trending..." is displayed, and the graphs then update and display trending information.

I've even attempted making the a Scheduled task in Windows, that is being run by our Altiris Service Account.

Same results... no update on the date or time on the main page.  Manually run... page updated.

 

Any help you could provide would be great.

 

Thanks again, this is a marvelous tool!

-Kev

 

 

----------------------------------

 

Update:  I just figured it out.

In the Task, since we installed to a different drive other then C:

We orginally had this:

REM Move to the running folder - by default we run under /Altiris/NS/PatchTrending
cd "D:\Program Files\Altiris\Notification Server\Web\PatchTrending\"
SiteBuilder.exe
 
 
Once I added the Drive letter before it, it now works.
 
REM Move to the running folder - by default we run under /Altiris/NS/PatchTrending
D:
cd "D:\Program Files\Altiris\Notification Server\Web\PatchTrending\"
SiteBuilder.exe
 

 

-Kev

+1
Login to vote
Preppietechie's picture

This is an excellent feature (not sure why such trending graphs aren't native to Altiris in the first place!).  Any chance that this could work with a hierarchy?  Since it appears to rely on the native patch compliance reports, I imagine that it wouldn't work (since that data isn't replicated up in hierarchy).  But a guy can dream, right?

0
Login to vote
Ludovic Ferre's picture

Hello Preppie,

I got this workig in hierarchy however it was non trivial.

I ended up linking the SQL server from the 3 child SMP's and replicating the trending data up to the parent, where I could then use the site builder to generate a global view.

This had a few caveats I worked around or documented. For example to make sure I had clean data I forced the DB collection to ensure 3 data points were present (one for each child server).

This de-facto removes all localised updates that are not present on each SMP. So, I would say you can do it, but I'm not in a position to document the process in a safe manner (one that would ensure it is undestandable and easily usable).

I am currently off-net, on a retreat of some kind. I'll be back real soon, and you sure will hear from me then ;-).

Ludovic FERRÉ
Principal Remote Product Specialist
Symantec

0
Login to vote