summary.hbs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. {{!
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. }}
  18. <div class="row-fluid">
  19. <div class="span12">
  20. <div class="span6">
  21. <div class="host-configuration">
  22. <div class="box">
  23. <div class="box-header">
  24. <h4>Summary</h4>
  25. </div>
  26. <div class="host-summary-content">
  27. <dl class="dl-horizontal">
  28. <dt>Hostname:</dt><dd>&nbsp;{{view.content.publicHostName}}</dd>
  29. <dt>IP Address:</dt><dd>&nbsp;{{view.content.ip}}</dd>
  30. <dt>OS:</dt><dd>&nbsp;{{view.content.osType}}&nbsp;({{view.content.osArch}})</dd>
  31. <dt>CPU:</dt><dd>&nbsp;{{view.content.cpu}}</dd>
  32. <dt>Disk:</dt><dd>&nbsp;{{view.content.diskInfoBar}}</dd>
  33. <dt>Memory:</dt><dd>&nbsp;{{view.content.memoryFormatted}}</dd>
  34. <dt>Load Avg:</dt><dd>&nbsp;{{view.content.loadAvg}}</dd>
  35. <dt>Agent <br/> Heartbeat:</dt><dd>{{view.timeSinceHeartBeat}}</dd>
  36. </dl>
  37. </div>
  38. </div>
  39. </div>
  40. {{!components}}
  41. <div class="box">
  42. <div class="box-header">
  43. <h4>Components</h4>
  44. </div>
  45. {{#if view.sortedComponents.length}}
  46. <div class="host-components">
  47. {{#each component in view.sortedComponents}}
  48. <div class="row-fluid">
  49. {{#view view.ComponentView contentBinding="component" decommissionDataNodeHostNamesBinding="view.decommissionDataNodeHostNames"}}
  50. <div class="span8">
  51. <span {{bindAttr class="view.statusClass :components-health"}}></span>&nbsp;
  52. {{component.displayName}}&nbsp;/&nbsp;
  53. <a href="#" {{action routeToService component.service target="controller" }}>{{component.service.displayName}}</a>
  54. </div>
  55. <div class="span4">
  56. {{#if controller.isAdmin}}
  57. <div class="btn-group">
  58. <a {{ bindAttr class=":btn :dropdown-toggle view.disabledClass"}} data-toggle="dropdown">
  59. Action
  60. <span class="caret pull-right"></span>
  61. </a>
  62. <ul class="dropdown-menu">
  63. {{#if view.isDataNode}}
  64. <li {{bindAttr class="view.isDataNodeDecommissionAvailable::hidden"}}>
  65. <a href="javascript:void(null)" data-toggle="modal" {{action "decommission" view.content target="controller"}}>
  66. Decommission
  67. </a>
  68. </li>
  69. <li {{bindAttr class="view.isDataNodeRecommissionAvailable::hidden"}}>
  70. <a href="javascript:void(null)" data-toggle="modal" {{action "recommission" view.content target="controller"}}>
  71. Recommission
  72. </a>
  73. </li>
  74. {{/if}}
  75. <li {{bindAttr class="view.isStart::hidden"}}>
  76. <a href="javascript:void(null)" data-toggle="modal" {{action "stopComponent" view.content target="controller"}}>
  77. Stop
  78. </a>
  79. </li>
  80. <li {{bindAttr class="view.isStart:hidden:"}}>
  81. <a href="javascript:void(null)" data-toggle="modal" {{action "startComponent" view.content target="controller"}}>
  82. Start
  83. </a>
  84. </li>
  85. </ul>
  86. </div>
  87. {{/if}}
  88. </div>
  89. {{/view}}
  90. </div>
  91. {{/each}}
  92. {{#if view.clients.length}}
  93. <div class="clients row-fluid">
  94. <div class="span8 row">
  95. <div class="span2">Clients&nbsp;/&nbsp;</div>
  96. <div class="span8">
  97. {{#each component in view.clients}}
  98. {{#if component.isLast}}
  99. {{component.displayName}}
  100. {{else}}
  101. {{component.displayName}},
  102. {{/if}}
  103. {{/each}}
  104. </div>
  105. </div>
  106. </div>
  107. {{/if}}
  108. </div>
  109. {{/if}}
  110. </div>
  111. </div>
  112. {{!metrics}}
  113. <div class="span6">
  114. <div class="box">
  115. <div class="box-header">
  116. <h4>Host Metrics</h4>
  117. <div class="btn-group">
  118. <a class="btn" rel="tooltip" title="Go to Ganglia" {{action "showGangliaCharts" target="view"}}><i class="icon-link"></i></a>
  119. </div>
  120. </div>
  121. <div class="row-fluid">
  122. {{view App.MainHostMetricsView contentBinding="view.content"}}
  123. </div>
  124. </div>
  125. </div>
  126. </div>
  127. </div>