Permalink
Browse files

Add template

  • Loading branch information...
1 parent 97538f8 commit 47262900eff393497a6e860f5e6dcd2766b9cc58 @bcui6611 committed May 21, 2012
Showing with 239 additions and 0 deletions.
  1. +239 −0 report-htm.tmpl
View
239 report-htm.tmpl
@@ -0,0 +1,239 @@
+<HTML>
+<HEAD><TITLE>sample-report-v2</TITLE>
+<STYLE type="text/css">
+
+body {margin-top: 0px;margin-left: 0px;}
+
+#page_1 {position:relative; overflow: hidden;margin-top: 96px;margin-left: 94px;margin-bottom: 73px;width: 620px;background-image: url(sample-report-v2_images/sample-report-v21.jpg);background-position: 0px 48px;background-size: 604px 704px;background-repeat: no-repeat;}
+
+
+
+#page_2 {position:relative; overflow: hidden;margin-top: 128px;margin-left: 96px;margin-bottom: 107px;width: 607px;background-image: url(sample-report-v2_images/sample-report-v22.jpg);background-position: 60px 362px;background-size: 128px 362px;background-repeat: no-repeat;}
+
+
+
+#page_3 {position:relative; overflow: hidden;margin-top: 63px;margin-left: 120px;margin-bottom: 71px;width: 583px;background-image: url(sample-report-v2_images/sample-report-v23.jpg);background-position: 84px 148px;background-size: 43px 726px;background-repeat: no-repeat;}
+
+
+
+#page_4 {position:relative; overflow: hidden;margin-top: 63px;margin-left: 96px;margin-bottom: 335px;width: 607px;background-image: url(sample-report-v2_images/sample-report-v24.jpg);background-position: 108px 206px;background-size: 23px 19px;background-repeat: no-repeat;}
+
+
+
+.ft0{font: 35px 'Arial';color: #17365d;line-height: 40px;}
+.ft1{font: italic 19px 'Arial';color: #345a8a;line-height: 23px;}
+.ft2{font: bold 16px 'Arial';line-height: 19px;}
+.ft3{font: 16px 'Arial';line-height: 18px;}
+.ft4{font: bold 21px 'Arial';color: #345a8a;line-height: 24px;}
+.ft5{font: bold 17px 'Arial';color: #4f81bd;line-height: 19px;}
+.ft6{font: 16px 'Arial';line-height: 18px;white-space: nowrap;}
+.ft7{font: 13px 'Courier New';line-height: 16px;white-space: nowrap;position: relative; bottom: -18px;}
+.ft8{font: bold 16px 'Arial';line-height: 19px;white-space: nowrap;}
+.ft9{font: 15px 'Arial';line-height: 17px;white-space: nowrap;}
+.ft10{font: 13px 'Courier New';line-height: 15px;}
+.ft11{font: 16px 'Arial';margin-left: 16px;line-height: 17px;}
+.ft12{font: 10px 'Symbol';line-height: 12px;}
+.ft13{font: 16px 'Arial';margin-left: 18px;line-height: 18px;}
+.ft14{font: 16px 'Symbol';line-height: 20px;}
+.ft15{font: bold 16px 'Arial';line-height: 17px;white-space: nowrap;}
+.ft16{font: 16px 'Symbol';line-height: 29px;}
+.ft17{font: 16px 'Arial';line-height: 27px;}
+.ft18{font: 16px 'Courier New';line-height: 27px;}
+.ft19{font: 16px 'Courier New';line-height: 38px;}
+.ft20{font: 16px 'Arial';line-height: 38px;}
+.ft21{font: 15px 'Arial';line-height: 17px;}
+.ft22{font: 16px 'Arial';margin-left: 4px;line-height: 18px;}
+.ft23{font: 10px 'Symbol';line-height: 4px;}
+.ft24{font: 16px 'Arial';margin-left: 18px;line-height: 36px;}
+
+.p0{text-align: left;padding-left: 2px;margin-top: 0px;margin-bottom: 0px;}
+.p1{text-align: left;padding-left: 2px;margin-top: 40px;margin-bottom: 0px;}
+.p2{text-align: left;padding-left: 2px;margin-top: 3px;margin-bottom: 0px;}
+.p3{text-align: left;padding-left: 2px;margin-top: 85px;margin-bottom: 0px;}
+.p4{text-align: left;padding-left: 2px;margin-top: 34px;margin-bottom: 0px;}
+.p5{text-align: justify;padding-left: 74px;margin-top: 0px;margin-bottom: 0px;}
+.p6{text-align: justify;padding-left: 26px;margin-top: 0px;margin-bottom: 0px;}
+.p7{text-align: left;padding-left: 26px;margin-top: 6px;margin-bottom: 0px;}
+.p8{text-align: left;padding-left: 74px;padding-right: 306px;margin-top: 0px;margin-bottom: 0px;text-indent: -47px;}
+.p9{text-align: left;padding-left: 74px;padding-right: 302px;margin-top: 0px;margin-bottom: 0px;}
+.p10{text-align: left;margin-top: 0px;margin-bottom: 0px;}
+.p11{text-align: left;margin-top: 70px;margin-bottom: 0px;}
+.p12{text-align: left;margin-top: 38px;margin-bottom: 0px;}
+.p13{text-align: left;margin-top: 50px;margin-bottom: 0px;}
+.p14{text-align: left;margin-top: 34px;margin-bottom: 0px;}
+.p15{text-align: justify;margin-top: 0px;margin-bottom: 0px;}
+.p16{text-align: justify;padding-left: 24px;margin-top: 6px;margin-bottom: 0px;}
+.p17{text-align: justify;padding-left: 24px;margin-top: 0px;margin-bottom: 0px;}
+.p18{text-align: justify;padding-left: 48px;padding-right: 27px;margin-top: 0px;margin-bottom: 0px;text-indent: -24px;}
+
+.td0{text-align: left;padding-left: 0px;padding-right: 0px;width: 15px;vertical-align: bottom;}
+.td1{text-align: left;padding-left: 9px;padding-right: 0px;width: 251px;vertical-align: bottom;}
+.td2{text-align: left;padding-left: 2px;padding-right: 0px;width: 110px;vertical-align: bottom;}
+.td3{text-align: left;padding-left: 57px;padding-right: 0px;width: 203px;vertical-align: bottom;}
+.td4{text-align: left;padding-left: 0px;padding-right: 0px;width: 112px;vertical-align: bottom;}
+.td5{border-left: #000000 1pt solid;border-right: #000000 1pt solid;border-top: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 140px;vertical-align: bottom;}
+.td6{border-right: #000000 1pt solid;border-top: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 332px;vertical-align: bottom;}
+.td7{border-right: #000000 1pt solid;border-top: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 89px;vertical-align: bottom;}
+.td8{border-left: #000000 1pt solid;border-right: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 140px;vertical-align: bottom;}
+.td9{border-right: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 332px;vertical-align: bottom;}
+.td10{border-right: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 89px;vertical-align: bottom;}
+.td11{border-left: #000000 1pt solid;border-right: #000000 1pt solid;border-top: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 311px;vertical-align: bottom;}
+.td12{border-right: #000000 1pt solid;border-top: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 258px;vertical-align: bottom;}
+.td13{border-left: #000000 1pt solid;border-right: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 311px;vertical-align: bottom;}
+.td14{border-right: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 258px;vertical-align: bottom;}
+.td15{border-left: #000000 1pt solid;border-right: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 311px;vertical-align: bottom;}
+.td16{border-right: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 258px;vertical-align: bottom;}
+.td17{border-left: #000000 1pt solid;border-right: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 0px;padding-right: 0px;width: 318px;vertical-align: bottom;}
+.td18{border-right: #000000 1pt solid;text-align: left;padding-left: 0px;padding-right: 0px;width: 24px;vertical-align: bottom;}
+.td19{border-right: #000000 1pt solid;border-top: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 311px;vertical-align: bottom;}
+.td20{border-right: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 311px;vertical-align: bottom;}
+.td21{border-right: #000000 1pt solid;text-align: left;padding-left: 7px;padding-right: 0px;width: 311px;vertical-align: bottom;}
+.td22{border-right: #000000 1pt solid;border-bottom: #000000 1pt solid;text-align: left;padding-left: 0px;padding-right: 0px;width: 318px;vertical-align: bottom;}
+.td23{text-align: left;padding-left: 0px;padding-right: 0px;width: 342px;vertical-align: bottom;}
+.td24{text-align: left;padding-left: 0px;padding-right: 0px;width: 265px;vertical-align: bottom;}
+.td25{text-align: left;padding-left: 0px;padding-right: 0px;width: 24px;vertical-align: bottom;}
+.td26{text-align: left;padding-left: 24px;padding-right: 0px;width: 294px;vertical-align: bottom;}
+.td27{border-bottom: #000000 1pt solid;text-align: left;padding-left: 0px;padding-right: 0px;line-height: 17px;width: 318px;vertical-align: bottom;}
+.td28{border-bottom: #000000 1pt solid;text-align: left;padding-left: 0px;padding-right: 0px;line-height: 17px;width: 265px;vertical-align: bottom;}
+
+.tr0{height: 54px;}
+.tr1{height: 19px;}
+.tr2{height: 21px;}
+.tr3{height: 20px;}
+.tr4{height: 41px;}
+.tr5{height: 18px;}
+.tr6{height: 40px;}
+.tr7{height: 55px;}
+.tr8{height: 56px;}
+.tr9{height: 53px;}
+.tr10{height: 74px;}
+.tr11{height: 22px;}
+.tr12{height: 34px;}
+.tr13{height: 89px;}
+
+.t0{width: 387px;margin-left: 26px;margin-top: 5px;font: 13px 'Symbol';line-height: 16px;}
+.t1{width: 582px;margin-left: 26px;margin-top: 51px;font: 16px 'Arial';line-height: 18px;}
+.t2{width: 583px;margin-left: 24px;font: 16px 'Arial';line-height: 18px;}
+.t3{width: 607px;font: 16px 'Arial';line-height: 18px;}
+.t4{width: 583px;font: 16px 'Arial';line-height: 18px;}
+
+</STYLE>
+</HEAD>
+
+<BODY>
+<DIV id="page_1">
+
+<P class="p0"><FONT class="ft0">Couchbase Cluster Health Check Report</FONT></P>
+<P class="p1"><FONT class="ft1">Tool Version: $globals['versions']</FONT></P>
+<P class="p0"><FONT class="ft1">Execution Time: $globals['report_time']</FONT></P>
+<P class="p2"><FONT class="ft2">Overall cluster health: </FONT><FONT class="ft3">$globals.cluster_health</FONT></P>
+<P class="p3"><FONT class="ft4">Section 1 - Couchbase &#8211; Alerts</FONT></P>
+<P class="p4"><FONT class="ft5">Cluster-wide metrics</FONT></P>
+#for $counter, $error_values in $indicator_error.iteritems():
+<P class="p0"><FONT class="ft2">1. </FONT><FONT class="ft3">$error_values["description"]</FONT></P>
+<TABLE cellpadding=0 cellspacing=0 class="t0">
+<TR class="tr0">
+ <TD class="td0">&#8226;</TD>
+ <TD class="td1"><FONT class="ft6">Symptom</FONT><FONT class="ft7">o</FONT></TD>
+ <TD class="td2"><FONT class="ft8">
+#for $err_val in $error_values["value"]
+($err_val["node"], $err_val["value"])
+#end for
+ </FONT></TD>
+</TR>
+<TR class="tr1">
+ <TD class="td0">&nbsp;</TD>
+ <TD class="td3"><FONT class="ft9">Disk write queue has reached</FONT></TD>
+ <TD class="td4">&nbsp;</TD>
+</TR>
+</TABLE>
+<P class="p5"><FONT class="ft10">o</FONT><FONT class="ft11">Drain rate has slowed down to</FONT></P>
+<P class="p6"><FONT class="ft12">&#8226;</FONT><FONT class="ft13">Causes - </FONT></P>
+<P class="p6"><FONT class="ft12">&#8226;</FONT><FONT class="ft13">Impact - </FONT></P>
+<P class="p6"><FONT class="ft12">&#8226;</FONT><FONT class="ft13">Action -</FONT></P>
+#end for
+<P class="p4"><FONT class="ft4">Section 2 - Couchbase Cluster Overview</FONT></P>
+<P class="p7"><FONT class="ft14">&#8226; </FONT><FONT class="ft3">Node list</FONT></P>
+<TABLE cellpadding=0 cellspacing=0 class="t1">
+<TR class="tr2">
+ <TD class="td5"><FONT class="ft15">Node IP</FONT></TD>
+ <TD class="td6"><FONT class="ft15">Couchbase Server Version</FONT></TD>
+ <TD class="td7"><FONT class="ft15">Status</FONT></TD>
+</TR>
+#for $node in $node_list["nodeList"]["value"]
+<TR class="tr3">
+ <TD class="td8">$node["ip"]</TD>
+ <TD class="td9">$node["version"]</TD>
+ <TD class="td10">$node["status"]</TD>
+</TR>
+#end for
+</TABLE>
+<P class="p8"><FONT class="ft16">&#8226; </FONT><FONT class="ft17">Total number of nodes in the cluster: $node_list["numNodes"]["value"] </FONT><FONT class="ft18">o </FONT><FONT class="ft17">Number of nodes down: $node_list["numDownNodes"]["value"]</FONT></P>
+<P class="p9"><FONT class="ft19">o </FONT><FONT class="ft20">Number of nodes warming up: $node_list["numWarmupNodes"]["value"] </FONT><FONT class="ft19">o </FONT><FONT class="ft20">Number of nodes failed over: $node_list["numFailedOverNodes"]["value"]</FONT></P>
+</DIV>
+<DIV id="page_2">
+
+<P class="p10"><FONT class="ft5">Cluster-wide metrics</FONT></P>
+<TABLE cellpadding=0 cellspacing=0 class="t2">
+#for $key, $value in $cluster_symptoms.iteritems()
+<TR class="tr4">
+ <TD class="td11">$value["description"]</TD>
+ <TD class="td12">$value["value"]</TD>
+</TR>
+#end for
+</TABLE>
+<P class="p11"><FONT class="ft5">Bucket metrics</FONT></P>
+#for $bucket in $bucket_list
+<P class="p10"><FONT class="ft2">Bucket name: </FONT><FONT class="ft3">$bucket</FONT></P>
+<P class="p12"><FONT class="ft2">Status &#8211; Attention needed</FONT></P>
+<TABLE cellpadding=0 cellspacing=0 class="t3">
+#for $symptom in $bucket_symptoms[$bucket]
+<TR class="tr6">
+ <TD class="td18">&nbsp;</TD>
+ <TD class="td19">$symptom["description"]</TD>
+ <TD class="td12">$symptom["value"]</TD>
+</TR>
+#end for
+</TR>
+</TABLE>
+</DIV>
+<DIV id="page_3">
+<TABLE cellpadding=0 cellspacing=0 class="t4">
+#for $node, $node_values in $bucket_node_symptoms[$bucket].iteritems()
+<TR class="tr7">
+ <TD class="td26"><FONT class="ft8">IP address: </FONT>$node</TD>
+ <TD class="td24">&nbsp;</TD>
+</TR>
+<TR class="tr2">
+ <TD class="td26"><FONT class="ft8">Status &#8211; OK</FONT></TD>
+ <TD class="td24">&nbsp;</TD>
+</TR>
+<TR class="tr5">
+ <TD class="td27">&nbsp;</TD>
+ <TD class="td28">&nbsp;</TD>
+</TR>
+#for $node_value in $node_values
+<TR class="tr3">
+ <TD class="td13">$node_value["description"]</TD>
+ <TD class="td14">$node_value["value"]</TD>
+</TR>
+#end for
+#end for
+</TABLE>
+#end for
+<P class="p13"><FONT class="ft4">Section 3 - Couchbase &#8211; Warning Indicators</FONT></P>
+<P class="p14"><FONT class="ft5">Cluster-wide metrics</FONT></P>
+#for $counter, $warn_values in $indicator_warn.iteritems():
+<P class="p15"><FONT class="ft21">1.</FONT><FONT class="ft22">$warn_values["description"]</FONT></P>
+<P class="p16"><FONT class="ft12">&#8226;</FONT><FONT class="ft13">Symptom -
+#for $warn_val in $warn_values["value"]
+($warn_val["node"], $warn_val["value"])
+#end for
+</FONT></P>
+<P class="p17"><FONT class="ft12">&#8226;</FONT><FONT class="ft13">Cause -</FONT></P>
+<P class="p18"><FONT class="ft23">&#8226;</FONT><FONT class="ft24">Impact - </FONT></P>
+<P class="p17"><FONT class="ft12">&#8226;</FONT><FONT class="ft13">Action -</FONT></P>
+#end for
+</DIV>
+</body>
+</HTML>

0 comments on commit 4726290

Please sign in to comment.