SHARE
TWEET

Health Check XSLT

sweenig Mar 26th, 2014 2,200 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE stylesheet [
  2.  <!ENTITY % w3centities-f PUBLIC "-//W3C//ENTITIES Combined Set//EN//XML"
  3.      "http://www.w3.org/2003/entities/2007/w3centities-f.ent">
  4.   %w3centities-f;
  5. ]>
  6. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  7. <xsl:template match="nimsoft">
  8.  <html>
  9.   <head>
  10.    <link rel="stylesheet" type="text/css" href="health_check_files/Health_Check.css" />
  11.    <title>Nimsoft Health Check</title>
  12.    <script src="health_check_files/functions.js"></script>
  13.   </head>
  14.   <body>
  15.    <div id="helptoggler"><img onclick="hidehelp('help');" src="health_check_files/help.png"/></div>
  16.    <a href="http://www.nimsoft.com/"><img src="health_check_files/nimsoft_logo.png" style="float:right;padding:0px 10px;background-color:white" /></a>
  17.    <a href="http://www.aspiretp.com/"><img src="health_check_files/aspire_logo.png" style="height:51px;width:180px;float:right;background-color:white;padding:0px 10px;" /></a>
  18.    <h1 id="company_name" class="editablecontent" style="margin-left:0px;font-size:48px;padding-top:5%;">
  19.     <img src="health_check_files/edit-icon.png" onclick="editcontent('company_name','company_name_content')" />
  20.     <div id="company_name_content">Health Check for <xsl:value-of select="reportinfo/company" /></div>
  21.    </h1>
  22.    <div id="help" class="prettify" style="display:none;">
  23.     <table>
  24.      <tr><td colspan="2"><h1>Code Examples (<span onclick="hidehelp('help');" style="text-decoration:underline;">hide me before printing</span>)</h1></td></tr>
  25.      <tr><td>Example Code</td><td>Output</td></tr>
  26.      <tr><td>Embedding an image:<br />&lt;img src="health_check_files/Mickey_Mouse.png" class="fw_image" /&gt;<br />Include the class to make sure the final image isn't too wide to fit on the PDF.</td>
  27.       <td><img src="health_check_files/Mickey_Mouse.png" class="fw_image" /></td></tr>
  28.      <tr><td>Building a table:<br />
  29.      &lt;div class="prettify"&gt;&lt;br /&gt;<br />
  30.       &lt;table&gt;<br />
  31.        &lt;tr&gt;&lt;td colspan="2"&gt;Table Header (spans both columns)&lt;/td&gt;&lt;/tr&gt;<br />
  32.        &lt;tr&gt;&lt;td&gt;Column 1 Row 1&lt;/td&gt;&lt;td&gt;Column 2 Row 1&lt;/td&gt;&lt;/tr&gt;<br />
  33.        &lt;tr&gt;&lt;td&gt;Column 1 Row 2&lt;/td&gt;&lt;td&gt;Column 2 Row 2&lt;/td&gt;&lt;/tr&gt;<br />
  34.        &lt;tr&gt;&lt;td&gt;Column 1 Row 3&lt;/td&gt;&lt;td&gt;Column 2 Row 3&lt;/td&gt;&lt;/tr&gt;<br />
  35.        &lt;tr&gt;&lt;td&gt;Column 1 Row 4&lt;/td&gt;&lt;td&gt;Column 2 Row 4&lt;/td&gt;&lt;/tr&gt;<br />
  36.       &lt;/table&gt;<br />
  37.      &lt;/div&gt;<br />
  38.      It's not recommended to nest a table within a table (or you get a blank blue row at the top as seen at right).
  39.      </td><td>
  40.      <div class="prettify"><br />
  41.       <table>
  42.        <tr><td colspan="2">Table Header (spans both columns)</td></tr>
  43.        <tr><td>Column 1 Row 1</td><td>Column 2 Row 1</td></tr>
  44.        <tr><td>Column 1 Row 2</td><td>Column 2 Row 2</td></tr>
  45.        <tr><td>Column 1 Row 3</td><td>Column 2 Row 3</td></tr>
  46.        <tr><td>Column 1 Row 4</td><td>Column 2 Row 4</td></tr>
  47.       </table>
  48.      </div>
  49.      </td></tr>
  50.      <tr><td>Making a bullet list:<br />
  51.      &lt;ul&gt;<br />
  52.      &lt;li&gt;Item 1&lt;/li&gt;<br />
  53.      &lt;li&gt;Item 2&lt;br /&gt;<br />
  54.      With a line break&lt;/li&gt;<br />
  55.      &lt;li&gt;Item 3&lt;br /&gt;<br />
  56.      With a line break and a small image <br />
  57.      &lt;img src="health_check_files/edit-icon.png" class="fw_image" style="height:25px;width:25px"/&gt;&lt;/li&gt;<br />
  58.      &lt;li&gt;Item 4&lt;br /&gt;<br />
  59.      With 2 line breaks and a large image<br />&lt;br /&gt;&lt;img src="health_check_files/Mickey_Mouse.png" class="fw_image" /&gt;&lt;/li&gt;<br />
  60.      &lt;/ul&gt;<br />
  61.      </td><td>
  62.           <ul>
  63.      <li>Item 1</li>
  64.      <li>Item 2<br />
  65.      With a line break</li>
  66.      <li>Item 3<br />
  67.      With a line break and a small image <img src="health_check_files/edit-icon.png" class="fw_image" style="height:25px;width:25px"/></li>
  68.      <li>Item 4<br />
  69.      With 2 line breaks and a large image<br /><img src="health_check_files/Mickey_Mouse.png" class="fw_image" /></li>
  70.      </ul>
  71.      </td></tr>
  72.      <tr><td><span class="emphasis">Text that is bolded and underlined</span></td><td>&lt;span class="emphasis"&gt;Text that is bolded and underlined&lt;/span&gt;</td></tr>
  73.      <tr><td>Inserting space between elements:<br />
  74.      Some Text<br />
  75.      &lt;div class="separator" /&gt;<br />
  76.      More Text</td>
  77.      <td>Some Text
  78.      <div class="separator" />
  79.      More Text</td></tr>
  80.      <tr><td>Inserting less space between elements:<br />
  81.      Some Text<br />
  82.      &lt;div class="littleseparator" /&gt;<br />
  83.      More Text</td>
  84.      <td>Some Text
  85.      <div class="littleseparator" />
  86.      More Text</td></tr>
  87.     </table>
  88.    </div>
  89.    <h2 id="authors" class="editablecontent" style="margin-left:0px;">
  90.     <img src="health_check_files/edit-icon.png" onclick="editcontent('authors','authors_content')" />
  91.     <div id="authors_content" style="margin:0px; width:100%">Report Author(s): <xsl:value-of select="reportinfo/authors" /></div>
  92.    </h2>
  93.    <h2 id="report_date" class="editablecontent" style="margin-left:0px;">
  94.     <img src="health_check_files/edit-icon.png" onclick="editcontent('report_date','report_date_content')" />
  95.     <div id="report_date_content" style="margin:0px; width:100%">Report Generation Date: <xsl:value-of select="reportinfo/reportdate" /></div>
  96.    </h2>
  97.    <div id="legal_notices">
  98.    <p class="highlight">Legal Notices</p>
  99.    <p>Copyright &copy; 2012, CA. All rights reserved. </p>
  100.    <p class="highlight">Warranty</p>
  101.    <p>The material contained in this document is provided ʺas is,ʺ and is subject to being changed, without notice, in future editions. Further, to the maximum extent permitted by applicable law, Nimsoft LLC disclaims all warranties, either express or implied, with regard to this manual and any information contained herein, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. Nimsoft LLC shall not be liable for errors or for incidental or consequential damages in connection with the furnishing, use, or performance of this document or of any information contained herein. Should Nimsoft LLC and the user have a separate written agreement with warranty terms covering the material in this document that conflict with these terms, the warranty terms in the separate agreement shall control.</p>
  102.    <p class="highlight">Technology Licenses</p>
  103.    <p>The hardware and/or software described in this document are furnished under a license and may be used or copied only in accordance with the terms of such license.</p>
  104.    <p>No part of this manual may be reproduced in any form or by any means (including electronic storage and retrieval or translation into a foreign language) without prior agreement and written consent from Nimsoft LLC as governed by United States and international copyright laws.</p>
  105.    <p class="highlight">Restricted Rights Legend</p>
  106.    <p>If software is for use in the performance of a U.S. Government prime contract or subcontract, Software is delivered and licensed as "Commercial computer software" as defined in DFAR 252.227-7014 (June 1995), or as a "commercial item" as defined in FAR 2.101(a) or as "Restricted computer software" as defined in FAR 52.227-19 (June 1987) or any equivalent agency regulation or contract clause. Use, duplication or disclosure of Software is subject to Nimsoft LLC’s standard commercial license terms, and non-DOD Departments and Agencies of the U.S. Government will receive no greater than Restricted Rights as defined in FAR 52.227-19(c)(1-2) (June 1987). U.S. Government users will receive no greater than Limited Rights as defined in FAR 52.227-14 (June 1987) or DFAR 252.227-7015 (b)(2) (November 1995), as applicable in any technical data.</p>
  107.    </div>
  108.    <div id="executive_overview">
  109.     <h1>Executive Overview</h1>
  110.     <p>Nimsoft periodically performs health checks for our customers to ensure they are getting the most out of their investment in our products.</p>
  111.     <p>Our approach seeks to assess the current architecture, deployment, and running characteristics of the Nimsoft products and provide recommendations on areas for improvement based on our findings.</p>
  112.     <p>Through the Health Check process we:</p>
  113.     <ul>
  114.      <li>Validate the deployment architecture</li>
  115.      <li>Assess the overall functioning of the products</li>
  116.      <li>Recommend areas for improvement in use of Nimsoft products</li>
  117.     </ul>
  118.     <p>We typically review the following areas of your Nimsoft deployment:</p>
  119.     <ul>
  120.      <li>Deployment Architecture</li>
  121.      <li>Hub Configuration</li>
  122.      <li>Alarm Console and Auto-Operator Rules</li>
  123.      <li>Unified Monitoring Portal</li>
  124.      <li>Database Health</li>
  125.     </ul>
  126.     <h2>Summary Recommendations</h2>
  127.     <div id="recsummary" class="editablecontent">
  128.      <img src="health_check_files/edit-icon.png" onclick="editcontent('recsummary','recsummary_content')" />
  129.      <div id="recsummary_content">
  130.       <xsl:if test="reportinfo/recsummary!=''"><xsl:value-of select="reportinfo/recsummary" disable-output-escaping="yes"/></xsl:if>
  131.       <xsl:if test="not(reportinfo/recsummary) or (reportinfo/recsummary='')">Provide a summary description of your recommendations<br /><span class="example">EXAMPLE</span>: The primary recommendations resulting from the data gathering, assessment, and analysis performed during this Health Check are to upgrade both hardware and software on the core NMS components of the infrastructure. In addition to hardware and software upgrades, a review of the alarm/event management process is recommended. Architecturally, the NMS deployment is in accordance with a “Best Practices” implementation for an organization of this size.</xsl:if>
  132.      </div>
  133.     </div>
  134.     <p>The detailed specifications and recommendations are presented in <a href="#recommendations">the subsequent sections of this document</a>.</p>
  135.    </div>
  136.    <h1>Installed Versions &amp; Environments</h1>
  137.    <div id="installed_versions_environments" class="editablecontent">
  138.     <img src="health_check_files/edit-icon.png" onclick="editcontent('installed_versions_environments','installed_versions_environments_content')" />
  139.     <div id="installed_versions_environments_content">
  140.      <xsl:if test="reportinfo/installed_versions_environments!=''"><xsl:value-of select="reportinfo/installed_versions_environments" disable-output-escaping="yes" /></xsl:if>
  141.      <xsl:if test="(reportinfo/installed_versions_environments='') or not(reportinfo/installed_versions_environments)">Detail the various environments installed at the customer site. Include version information of all primary components (UMP, NMS, NSD, etc.).<br /><span class="example">EXAMPLE</span>: CHS has the Nimsoft Monitoring Solution (NMS) installed in the Production Environment.</xsl:if>
  142.     </div>
  143.    </div>
  144.    <h2>The current installed versions are:</h2>
  145.    <p class="highlight">NMS Server (<xsl:value-of select="NMS/robot" />)</p>
  146.    <ul>
  147.     <li><xsl:value-of select="NMS/nms_ver" /></li>
  148.     <li><xsl:value-of select="NMS/os_class" /></li>
  149.    </ul>
  150.    <p class="highlight">UMP (<xsl:value-of select="UMP/robot" />)</p>
  151.    <ul>
  152.     <li><xsl:value-of select="UMP/ver" /></li>
  153.     <li><xsl:value-of select="UMP/os_class" /></li>
  154.    </ul>
  155.    <p class="highlight">Database Server (<xsl:value-of select="DBS/host" />)</p>
  156.    <ul>
  157.     <li><xsl:value-of select="DBS/os_class" /></li>
  158.     <li><xsl:value-of select="NMS/dbversion" /></li>
  159.     <!-- <li><xsl:value-of select="DBS/db_ver" /></li> -->
  160.    </ul>
  161.    <h1>Server Sizing - Current</h1>
  162.    <div id="sizing" class="editablecontent">
  163.     <img src="health_check_files/edit-icon.png" onclick="editcontent('sizing','sizing_content')" />
  164.     <div id="sizing_content">
  165.      <xsl:if test="reportinfo/sizing!=''"><xsl:value-of select="reportinfo/sizing" disable-output-escaping="yes"/></xsl:if>
  166.      <xsl:if test="(reportinfo/sizing='') or not(reportinfo/sizing)">Describe the server specifications for the NMS Server, UMP Server, and Database Server (memory, OS, virtual or physical, etc.). You can provide additional server details in an Appendix.<br /><span class="example">EXAMPLE</span>:The following tables show the current hardware and software specifications and versions for the Nimsoft server(s).</xsl:if>
  167.     </div>
  168.    </div>
  169.    <div class="littleseparator" />
  170.    <xsl:apply-templates select="NMS" />
  171.    <div class="littleseparator" />
  172.    <xsl:apply-templates select="UMP" />
  173.    <div class="littleseparator" />
  174.    <xsl:apply-templates select="DBS" />
  175.    <div class="littleseparator" />
  176.    <xsl:apply-templates select="hubs" />
  177.    <h1>Architecture Overview</h1>
  178.    <div id="arch_overview" class="editablecontent">
  179.     <img src="health_check_files/edit-icon.png" onclick="editcontent('arch_overview','arch_overview_content')" />
  180.     <div id="arch_overview_content">
  181.      <xsl:if test="reportinfo/arch_overview!=''"><xsl:value-of select="reportinfo/arch_overview" disable-output-escaping="yes"/></xsl:if>
  182.      <xsl:if test="(reportinfo/arch_overview='') or not(reportinfo/arch_overview)">Provide an overview of the customer’s architecture. For extensive reference data, such as a hub report, include that data in an appendix.<br /><span class="example">EXAMPLE</span>: The CHS production NMS implementation is a three-tiered architecture. The top tier consists of an HA pair of hubs, a multi-UMP installation, and a MS SQL Server cluster. The mid, or second tier consists of five HA paired sets of “Proxy” hubs. These hubs are analogous to “tunnel hub servers” in other three-tier implementations except that there are no SSL tunnels being used – only Named Services. The third tier is made up of the remote site/location hubs. Attach-get queue pairs are used to pass the monitoring data up through the infrastructure to the Primary hub. Alarms and QoS have been split into individual queues. The three-tier architecture currently implemented at CHS conforms to the Nimsoft “Best Practice” architecture for large scale, geographically dispersed deployments.<br />There are approximately 204 hubs in total. (See the Hub Summary Report, Appendix A., for a listing of current hubs.) “Name Services” is used throughout the entire implementation. This is made possible due to the “flat” nature of the CHS network topology and the use of Named Services instead of tunnels also conforms to the Nimsoft “Best Practices” recommendations with regards to hub-to-hub connectivity. The majority of the hubs are currently installed/designated as HA pairs (an A and B hub).<br />CHS has configured NAS Replication between the tier 1 Primary and Secondary hub nas probes. The replication is bi-directional and is for alarms only. There is no replication for the configuration and/or scripts enabled.</xsl:if>
  183.     </div>
  184.    </div>
  185.    <h1>Event Management</h1>
  186.    <div id="event_mgmt" class="editablecontent">
  187.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('event_mgmt','event_mgmt_content')" />
  188.     <div id="event_mgmt_content">
  189.      <xsl:if test="reportinfo/event_mgmt!=''"><xsl:value-of select="reportinfo/event_mgmt" disable-output-escaping="yes" /></xsl:if>
  190.      <xsl:if test="(reportinfo/event_mgmt='') or not(reportinfo/event_mgmt)">Present your evaluation of the customer’s event management. Include relevant screenshots, such as the Alarm SubConsole and Auto Operator Profiles. Be sure to consider the following in your evaluation:
  191.      <ul>
  192.       <li>Number and pace of alarms</li>
  193.       <li>Suppression counts</li>
  194.       <li>NAS configuration and alert replication</li>
  195.       <li>Auto-Operator profiles in use, conflicts, overuse</li>
  196.       <li>Triggers in use</li>
  197.       <li>Scripts in use</li>
  198.       <li>Ticketing System integration (if applicable)</li>
  199.      </ul>
  200.      For extensive reference data, such as an alarm report, include that data in an appendix. Highlight specific recommendations in Recommendation paragraphs, addressing the different parts of your evaluation.<br />
  201.      <span style="font-weight:bold;color:red;">EXAMPLE SCREENSHOT</span>:<br />
  202.      <span style="font-style:italic;">Auto-Operator Profiles</span><br />
  203.      <img src="health_check_files\event_mgmt_sample_screenshot.png" class="fw_image"/></xsl:if>
  204.     </div>
  205.    </div>
  206.    <h1>Current Infrastructure Performance</h1>
  207.    <div id="inf_perf" class="editablecontent">
  208.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('inf_perf','inf_perf_content')" />
  209.     <div id="inf_perf_content">
  210.      <xsl:if test="reportinfo/inf_perf!=''"><xsl:value-of select="reportinfo/inf_perf" disable-output-escaping="yes"/></xsl:if>
  211.      <xsl:if test="(reportinfo/inf_perf='') or not(reportinfo/inf_perf)">Describe the performance of the current infrastructure, covering Primary/Secondary Hub, Database Server, UMP Server, and Proxy/Database Hubs. For extensive reference data, such as a performance and resource utilization report, include that data in an appendix. Call out specific recommendations in Recommendation paragraphs, addressing the different parts of your evaluation.</xsl:if>
  212.     </div>
  213.    </div>
  214.    <h1>SLA Requirements Review</h1>
  215.    <div id="sla_req_review" class="editablecontent">
  216.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('sla_req_review','sla_req_review_content')" />
  217.     <div id="sla_req_review_content">
  218.      <xsl:if test="reportinfo/sla_req_review!=''"><xsl:value-of select="reportinfo/sla_req_review" disable-output-escaping="yes"/></xsl:if>
  219.      <xsl:if test="(reportinfo/sla_req_review='') or not(reportinfo/sla_req_review)">Describe the current SLA requirements and any additional desired requirements. Call out specific recommendations in a Recommendation paragraph.</xsl:if>
  220.     </div>
  221.    </div>
  222.    <h1>Reporting &amp; Visualization Requirements Review</h1>
  223.    <div id="report_viz_req_review" class="editablecontent">
  224.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('report_viz_req_review','report_viz_req_review_content')" />
  225.     <div id="report_viz_req_review_content">
  226.      <xsl:if test="reportinfo/report_viz_req_review!=''"><xsl:value-of select="reportinfo/report_viz_req_review" disable-output-escaping="yes"/></xsl:if>
  227.      <xsl:if test="(reportinfo/report_viz_req_review='') or not(reportinfo/report_viz_req_review)">Describe the use of custom Dashboards, Reports, and SLA Reports. Provide representative screenshots of each as applicable.</xsl:if>
  228.     </div>
  229.    </div>
  230.    <h1>Open Issues</h1>
  231.    <div id="open_issues" class="editablecontent">
  232.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('open_issues','open_issues_content')" />
  233.     <div id="open_issues_content">
  234.      <xsl:if test="reportinfo/open_issues!=''"><xsl:value-of select="reportinfo/open_issues" disable-output-escaping="yes"/></xsl:if>
  235.      <xsl:if test="(reportinfo/open_issues='') or not(reportinfo/open_issues)">
  236.       Review the customer’s open Support cases.<br /><br /><br />
  237.       <div class="prettify" style="margin:0px;border:1px solid #6d89d5;">
  238.        <table>
  239.         <tr><td>Case ID</td><td>Description</td><td>Status</td></tr>
  240.         <tr><td></td><td></td><td></td></tr>
  241.         <tr><td></td><td></td><td></td></tr>
  242.         <tr><td></td><td></td><td></td></tr>
  243.         <tr><td></td><td></td><td></td></tr>
  244.        </table>
  245.       </div>
  246.      </xsl:if>
  247.     </div>
  248.    </div>
  249.    <a id="recommendations" />
  250.    <h1>Findings &amp; Recommendations</h1>
  251.    <div id="findings_recs" class="editablecontent">
  252.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('findings_recs','findings_recs_content')" />
  253.     <div id="findings_recs_content">
  254.      <xsl:if test="reportinfo/findings_recs!=''"><xsl:value-of select="reportinfo/findings_recs" disable-output-escaping="yes"/></xsl:if>
  255.      <xsl:if test="(reportinfo/findings_recs='') or not(reportinfo/findings_recs)">Provide details of the findings and recommendations for this Health Check. Suggested topics to cover are provided to organize your statements.</xsl:if>
  256.     </div>
  257.    </div>
  258.    <h2>Product Version / Upgrade Path &amp; Process Recommendations</h2>
  259.    <div id="findings_ver" class="editablecontent">
  260.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('findings_ver','findings_ver_content')" />
  261.     <div style="min-height:25px" id="findings_ver_content">
  262.      <xsl:if test="reportinfo/findings_ver!=''"><xsl:value-of select="reportinfo/findings_ver" disable-output-escaping="yes"/></xsl:if>
  263.      <xsl:if test="(reportinfo/findings_ver='') or not(reportinfo/findings_ver)">Sample text</xsl:if>
  264.     </div>
  265.    </div>
  266.    <h2>Sizing Recommendations</h2>
  267.    <div id="findings_sizing" class="editablecontent">
  268.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('findings_sizing','findings_sizing_content')" />
  269.     <div style="min-height:25px" id="findings_sizing_content">
  270.      <xsl:if test="reportinfo/findings_sizing!=''"><xsl:value-of select="reportinfo/findings_sizing" disable-output-escaping="yes"/></xsl:if>
  271.      <xsl:if test="(reportinfo/findings_sizing='') or not(reportinfo/findings_sizing)">Sample text</xsl:if>
  272.     </div>
  273.    </div>
  274.    <h2>Architectural Recommendations</h2>
  275.    <div id="findings_arch" class="editablecontent">
  276.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('findings_arch','findings_arch_content')" />
  277.     <div style="min-height:25px" id="findings_arch_content">
  278.      <xsl:if test="reportinfo/findings_arch!=''"><xsl:value-of select="reportinfo/findings_arch" disable-output-escaping="yes"/></xsl:if>
  279.      <xsl:if test="(reportinfo/findings_arch='') or not(reportinfo/findings_arch)">Sample text</xsl:if>
  280.     </div>
  281.    </div>
  282.    <h2>Database Recommendations</h2>
  283.    <div id="findings_db" class="editablecontent">
  284.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('findings_db','findings_db_content')" />
  285.     <div style="min-height:25px" id="findings_db_content">
  286.      <xsl:if test="reportinfo/findings_db!=''"><xsl:value-of select="reportinfo/findings_db" disable-output-escaping="yes"/></xsl:if>
  287.      <xsl:if test="(reportinfo/findings_db='') or not(reportinfo/findings_db)">Sample text</xsl:if>
  288.     </div>
  289.    </div>
  290.    <h2>Event Management Recommendations</h2>
  291.    <div id="findings_event_mgmt" class="editablecontent">
  292.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('findings_event_mgmt','findings_event_mgmt_content')" />
  293.     <div style="min-height:25px" id="findings_event_mgmt_content">
  294.      <xsl:if test="reportinfo/findings_event_mgmt!=''"><xsl:value-of select="reportinfo/findings_event_mgmt" disable-output-escaping="yes"/></xsl:if>
  295.      <xsl:if test="(reportinfo/findings_event_mgmt='') or not(reportinfo/findings_event_mgmt)">Sample text</xsl:if>
  296.     </div>
  297.    </div>
  298.    <h2>Infrastructure Performance Recommendations</h2>
  299.    <div id="findings_inf_perf" class="editablecontent">
  300.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('findings_inf_perf','findings_inf_perf_content')" />
  301.     <div style="min-height:25px" id="findings_inf_perf_content">
  302.      <xsl:if test="reportinfo/findings_inf_perf!=''"><xsl:value-of select="reportinfo/findings_inf_perf" disable-output-escaping="yes"/></xsl:if>
  303.      <xsl:if test="(reportinfo/findings_inf_perf='') or not(reportinfo/findings_inf_perf)">Sample text</xsl:if>
  304.     </div>
  305.    </div>
  306.    <h2>SLA Requirements Recommendations</h2>
  307.    <div id="findings_sla" class="editablecontent">
  308.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('findings_sla','findings_sla_content')" />
  309.     <div style="min-height:25px" id="findings_sla_content">
  310.      <xsl:if test="reportinfo/findings_sla!=''"><xsl:value-of select="reportinfo/findings_sla" disable-output-escaping="yes"/></xsl:if>
  311.      <xsl:if test="(reportinfo/findings_sla='') or not(reportinfo/findings_sla)">Sample text</xsl:if>
  312.     </div>
  313.    </div>
  314.    <h2>Visualization &amp; Reporting Recommendations</h2>
  315.    <div id="findings_viz_report" class="editablecontent">
  316.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('findings_viz_report','findings_viz_report_content')" />
  317.     <div style="min-height:25px" id="findings_viz_report_content">
  318.      <xsl:if test="reportinfo/findings_viz_report!=''"><xsl:value-of select="reportinfo/findings_viz_report" disable-output-escaping="yes"/></xsl:if>
  319.      <xsl:if test="(reportinfo/findings_viz_report='') or not(reportinfo/findings_viz_report)">Sample text</xsl:if>
  320.     </div>
  321.    </div>
  322.    <h2>Open Issue Recommendations</h2>
  323.    <div id="findings_open_issue" class="editablecontent">
  324.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('findings_open_issue','findings_open_issue_content')" />
  325.     <div style="min-height:25px" id="findings_open_issue_content">
  326.      <xsl:if test="reportinfo/findings_open_issue!=''"><xsl:value-of select="reportinfo/findings_open_issue" disable-output-escaping="yes"/></xsl:if>
  327.      <xsl:if test="(reportinfo/findings_open_issue='') or not(reportinfo/findings_open_issue)">Sample text</xsl:if>
  328.     </div>
  329.    </div>
  330.    <h1>Next Steps</h1>
  331.    <p>The Nimsoft Health Check is typically a starting point – a way to identify opportunities for improvement, a baseline for assessing issues, and a guideline for future enhancement to the CHS implementation.</p>
  332.    <p>Should you have any questions about this Health Check or if there are significant errors or omissions, please contact the author:</p>
  333.    <div id="contact_author" class="editablecontent">
  334.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('contact_author','contact_author_content')" />
  335.     <div id="contact_author_content">
  336.      <xsl:if test="reportinfo/authors!=''"><xsl:value-of select="reportinfo/authors" /></xsl:if>
  337.      <xsl:if test="(reportinfo/authors='') or not(reportinfo/authors)">Aspire Technical Professionals</xsl:if>
  338.     </div>
  339.    </div>
  340.    <div id="contact_title" class="editablecontent">
  341.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('contact_title','contact_title_content')" />
  342.     <div id="contact_title_content">
  343.      <xsl:if test="reportinfo/contact_title!=''"><xsl:value-of select="reportinfo/contact_title" /></xsl:if>
  344.      <xsl:if test="(reportinfo/contact_title='') or not(reportinfo/contact_title)">Senior Consulting Team</xsl:if>
  345.     </div>
  346.    </div>
  347.    <div id="contact_email" class="editablecontent">
  348.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('contact_email','contact_email_content')" />
  349.     <div id="contact_email_content">
  350.      <xsl:if test="reportinfo/contact_email!=''"><xsl:element name="a"><xsl:attribute name="href">mailto:<xsl:value-of select="reportinfo/contact_email" /></xsl:attribute><xsl:value-of select="reportinfo/contact_email" /></xsl:element></xsl:if>
  351.      <xsl:if test="(reportinfo/contact_email='') or not(reportinfo/contact_email)"><a href="mailto:info@aspiretp.com">info@aspiretp.com</a></xsl:if>
  352.     </div>
  353.    </div>
  354.    <div id="contact_phone" class="editablecontent">
  355.     <img id="button" src="health_check_files/edit-icon.png" onclick="editcontent('contact_phone','contact_phone_content')" />
  356.     <div id="contact_phone_content">
  357.      <xsl:if test="reportinfo/contact_phone!=''"><xsl:value-of select="reportinfo/contact_phone" /></xsl:if>
  358.      <xsl:if test="(reportinfo/contact_phone='') or not(reportinfo/contact_phone)">Contact Phone Number</xsl:if>
  359.     </div>
  360.    </div>
  361.   </body>
  362.  </html>
  363. </xsl:template>
  364.  
  365.  
  366.  
  367.  
  368. <xsl:template match="NMS">
  369.  <div class="prettify">
  370.   <table>
  371.    <tr><td colspan="2"><h1>NMS Server</h1></td></tr>
  372.    <tr><td>Robot</td><td><xsl:value-of select="robot" /></td></tr>
  373.    <tr><td>OS</td><td><xsl:value-of select="os_class" /></td></tr>
  374.    <tr><td>Processor</td><td><xsl:value-of select="processor" /></td></tr>
  375.    <tr><td>Number of processors</td><td><xsl:value-of select="proccount" /></td></tr>
  376.    <tr><td>Memory Installed</td><td><xsl:value-of select="memory_phy" /></td></tr>
  377.    <tr><td>Installation Path</td><td><xsl:value-of select="nim_root" /></td></tr>
  378.    <tr><td>Database Version Information</td><td><xsl:value-of select="dbversion" /></td></tr>
  379.    <tr><td>IP Address</td><td><xsl:value-of select="ip" /></td></tr>
  380.    <tr><td>NMS Version</td><td><xsl:value-of select="nms_ver" /></td></tr>
  381.    <tr>
  382.     <td colspan="2">
  383.      <div class="littleseparator" />
  384.      <table id="umpdisks">
  385.       <tr><td colspan="2"><h2>Physical Disks</h2></td></tr>
  386.       <tr><td><h3>Disk</h3></td><td><h3>Free Space</h3></td></tr>
  387.       <xsl:apply-templates select="disks/disk" />
  388.      </table>
  389.      <div class="littleseparator" />
  390.     </td>
  391.    </tr>
  392.   </table>
  393.  </div>
  394. </xsl:template>
  395. <xsl:template match="UMP">
  396.  <div class="prettify">
  397.   <table>
  398.    <tr><td colspan="2"><h1>UMP Server</h1></td></tr>
  399.    <tr><td>Robot</td><td><xsl:value-of select="robot" /></td></tr>
  400.    <tr><td>OS</td><td><xsl:value-of select="os_class" /></td></tr>
  401.    <tr><td>Processor</td><td><xsl:value-of select="processor" /></td></tr>
  402.    <tr><td>Number of processors</td><td><xsl:value-of select="proccount" /></td></tr>
  403.    <tr><td>Memory Installed</td><td><xsl:value-of select="memory_phy" /></td></tr>
  404.    <tr><td>Installation Path</td><td><xsl:value-of select="nim_root" /></td></tr>
  405.    <tr><td>IP Address</td><td><xsl:value-of select="ip" /></td></tr>
  406.    <tr><td>UMP Version</td><td><xsl:value-of select="ver" /></td></tr>
  407.    <tr><td>Port</td><td><xsl:value-of select="port" /></td></tr>
  408.    <tr>
  409.     <td colspan="2">
  410.      <div class="littleseparator" />
  411.      <table id="umpdisks">
  412.       <tr><td colspan="2"><h2>Physical Disks</h2></td></tr>
  413.       <tr><td><h3>Disk</h3></td><td><h3>Free Space</h3></td></tr>
  414.       <xsl:apply-templates select="disks/disk" />
  415.      </table>
  416.      <div class="littleseparator" />
  417.     </td>
  418.    </tr>
  419.   </table>
  420.  </div>
  421. </xsl:template>
  422. <xsl:template match="disks/disk">
  423.  <tr>
  424.   <td><xsl:value-of select="name" /></td>
  425.   <td><xsl:value-of select="free_space" /></td>
  426.  </tr>
  427. </xsl:template>
  428. <xsl:template match="DBS">
  429.  <div class="prettify">
  430.   <table>
  431.    <tr><td colspan="2"><h1>Database Server</h1></td></tr>
  432.    <tr><td>Hostname</td><td><xsl:value-of select="hostname" /></td></tr>
  433.    <tr><td>Port</td><td><xsl:value-of select="port" /></td></tr>
  434.    <tr><td>OS</td><td><xsl:value-of select="os" /></td></tr>
  435.    <tr><td>OS Class</td><td><xsl:value-of select="os_class" /></td></tr>
  436.    <tr><td>OS Details</td><td><xsl:value-of select="os_description" /></td></tr>
  437.    <tr><td>Database Name</td><td><xsl:value-of select="db_name" /></td></tr>
  438.    <tr><td>Machine Name</td><td><xsl:value-of select="machine_name" /></td></tr>
  439.    <tr><td>Hostname (FQDN)</td><td><xsl:value-of select="hostname" /></td></tr>
  440.    <tr><td>IPAddress</td><td><xsl:value-of select="IPAddress" /></td></tr>
  441.    <tr>
  442.     <td colspan="2">
  443.      <div class="littleseparator" />
  444.      <table id="CPU">
  445.       <tr><td colspan="3"><h2>CPU Information</h2></td></tr>
  446.       <tr>
  447.        <!-- <td>Name</td> -->
  448.        <td>CPU ID</td>
  449.        <td>Architecture</td>
  450.        <td>Address Width</td>
  451.        <!-- <td>Hostname</td> -->
  452.       </tr>
  453.       <xsl:apply-templates select="cpu/row" />
  454.      </table>
  455.      <div class="littleseparator" />
  456.      <table id="memory">
  457.       <tr><td colspan="2"><h2>Memory Information</h2></td></tr>
  458.       <tr>
  459.        <!-- <td>Name</td> -->
  460.        <td>RAM</td>
  461.        <td>SWAP</td>
  462.        <!-- <td>Hostname</td> -->
  463.       </tr>
  464.       <xsl:apply-templates select="memory/row" />
  465.      </table>
  466.      <div class="littleseparator" />
  467.      <table id="disk">
  468.       <tr><td><h2 colspan="1">Disk Information</h2></td></tr>
  469.       <tr>
  470.        <!-- <td>Name</td> -->
  471.        <!-- <td>DiskDevice</td> -->
  472.        <!-- <td>Type</td> -->
  473.        <td>File System</td>
  474.        <!-- <td>Hostname</td> -->
  475.       </tr>
  476.       <xsl:apply-templates select="disk/row" />
  477.      </table>
  478.      <div class="littleseparator" />
  479.     </td>
  480.    </tr>
  481.   </table>
  482.  </div>
  483. </xsl:template>
  484. <xsl:template match="memory/row">
  485.  <tr>
  486.   <!-- <td><xsl:value-of select="@name" /></td> -->
  487.   <td><xsl:value-of select="memory" /></td>
  488.   <td><xsl:value-of select="pagesize" /></td>
  489.   <!-- <td><xsl:value-of select="hostname" /></td> -->
  490.  </tr>
  491. </xsl:template>
  492. <xsl:template match="cpu/row">
  493.  <tr>
  494.   <!-- <td><xsl:value-of select="@name" /></td> -->
  495.   <td><xsl:value-of select="cpuid" /></td>
  496.   <td><xsl:value-of select="architecture" /></td>
  497.   <td><xsl:value-of select="address_width" /></td>
  498.   <!-- <td><xsl:value-of select="hostname" /></td> -->
  499.  </tr>
  500. </xsl:template>
  501. <xsl:template match="disk/row">
  502.  <tr>
  503.   <!-- <td><xsl:value-of select="@name" /></td> -->
  504.   <!-- <td><xsl:value-of select="diskdevice" /></td> -->
  505.   <!-- <td><xsl:value-of select="type" /></td> -->
  506.   <td><xsl:value-of select="filesystem" /></td>
  507.   <!-- <td><xsl:value-of select="hostname" /></td> -->
  508.  </tr>
  509. </xsl:template>
  510. <xsl:template match="hubs">
  511.  <div class="prettify">
  512.   <table>
  513.    <tr><td colspan="2"><h1>Hubs</h1></td></tr>
  514.    <tr>
  515.     <!-- <td>ID</td> -->
  516.     <td>Name</td>
  517.     <td>Subscriber Count</td>
  518.    </tr>
  519.    <xsl:apply-templates select="hub" />
  520.   </table>
  521.  </div>
  522. </xsl:template>
  523. <xsl:template match="hub">
  524.  <tr>
  525.   <!-- <td><xsl:value-of select="@id" /></td> -->
  526.   <td><xsl:value-of select="name" /></td>
  527.   <td><xsl:value-of select="subs" /></td>
  528.  </tr>
  529. </xsl:template>
  530. </xsl:stylesheet>
RAW Paste Data
Top