summary.hbs 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  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. {{#if App.supports.hostOverrides}}
  19. {{#if view.service.isRestartRequired}}
  20. {{#if App.isAdmin}}
  21. <div id="summary-restart-bar">
  22. <div class="alert alert-warning clearfix">
  23. <i class="icon-refresh"></i> {{{view.needToRestartMessage}}} {{t services.service.config.restartService.needToRestart}} <a href="#" {{action showComponentsShouldBeRestarted target="view"}}>{{view.componentsCount}} {{pluralize view.componentsCount singular="t:common.component" plural="t:common.components"}}</a> {{t on}} <a href="#" {{action showHostsShouldBeRestarted target="view"}}>{{view.hostsCount}} {{pluralize view.hostsCount singular="t:common.host" plural="t:common.hosts"}}</a>
  24. <span class="restart-components pull-right">&nbsp</span>
  25. <div class="btn-group pull-right">
  26. <button type="button" class="btn btn-default dropdown-toggle btn-warning" data-toggle="dropdown">
  27. {{t hosts.host.details.needToRestart.button}}
  28. <span class="caret"></span>
  29. </button>
  30. <ul class="dropdown-menu">
  31. <li><a href="#" {{action restartAllStaleConfigComponents target="view"}}>{{t restart.service.all}}</a></li>
  32. {{#if view.rollingRestartSlaveComponentName}}
  33. <li><a href="#" {{action rollingRestartStaleConfigSlaveComponents view.rollingRestartSlaveComponentName target="view"}}>{{view.rollingRestartActionName}}</a></li>
  34. {{/if}}
  35. </ul>
  36. </div>
  37. </div>
  38. </div>
  39. {{/if}}
  40. {{/if}}
  41. {{/if}}
  42. <div class="row-fluid service-block">
  43. <div class="span6">
  44. <div class="box">
  45. <div class="box-header">
  46. <h4>{{controller.content.label}} {{t services.service.info.menu.summary}}</h4>
  47. </div>
  48. <div class="service-content">
  49. <table id="summary-info" class="table no-borders table-condensed">
  50. <tbody>
  51. {{#if view.serviceSummaryView}}
  52. {{view view.serviceSummaryView}}
  53. {{/if}}
  54. </tbody>
  55. </table>
  56. </div>
  57. </div>
  58. </div>
  59. <div class="span6">
  60. {{#unless view.isNoAlertsService}}
  61. <div class="box">
  62. <div class="box-header">
  63. <h4>{{t services.alerts.headingOfList}}</h4>
  64. {{#if controller.isNagiosInstalled}}
  65. <div class="btn-group">
  66. {{#if App.router.clusterController.isNagiosUrlLoaded}}
  67. <a class="btn" target="_blank" rel="tooltip" title="Go to Nagios" {{bindAttr href="controller.nagiosUrl"}}><i class="icon-link"></i></a>
  68. {{else}}
  69. <div class="spinner"></div>
  70. {{/if}}
  71. </div>
  72. {{/if}}
  73. </div>
  74. <ul id='summary-alerts-list' class="alerts">
  75. {{#if view.alertsController.isLoaded}}
  76. {{#if view.alerts.length}}
  77. {{#each view.alerts}}
  78. {{view App.AlertItemView contentBinding="this"}}
  79. {{/each}}
  80. {{else}}
  81. {{#if controller.isNagiosInstalled}}
  82. <div class="alert alert-info">
  83. {{t services.service.info.summary.nagios.noAlerts}}
  84. </div>
  85. {{else}}
  86. <div class="alert">
  87. {{t services.service.info.summary.nagios.alerts}}
  88. </div>
  89. {{/if}}
  90. {{/if}}
  91. {{else}}
  92. <div class="spinner"></div>
  93. {{/if}}
  94. </ul>
  95. </div>
  96. {{/unless}}
  97. </div>
  98. </div>
  99. {{#if view.collapsedSections}}
  100. <div class="row-fluid">
  101. <div class="span12 metrics-collapsed-graphs">
  102. {{#each collapsedSection in view.collapsedSections}}
  103. <div {{bindAttr class=":accordion collapsedSection.toggleIndex"}}>
  104. <div class="accordion-group box">
  105. <div class="accordion-heading box-header">
  106. <span class="pull-left accordion-toggle" data-toggle="collapse" {{bindAttr dataParent="collapsedSection.toggleIndex" href="collapsedSection.toggleIndex"}}>
  107. <i class="pull-left icon-caret-toggle"></i>
  108. <span>{{collapsedSection.header}}</span>
  109. </span>
  110. <a class="btn pull-right" {{bindAttr href="collapsedSection.url"}} target="_blank">
  111. <i class="icon-link"></i>
  112. </a>
  113. <div class="clearfix"></div>
  114. </div>
  115. <div class="accordion-body collapse in" {{bindAttr id="collapsedSection.id"}}>
  116. <div class="accordion-inner">
  117. {{#if collapsedSection.metricView}}
  118. {{view collapsedSection.metricView viewDataBinding="collapsedSection.metricViewData"}}
  119. {{/if}}
  120. </div>
  121. </div>
  122. </div>
  123. </div>
  124. {{/each}}
  125. </div>
  126. </div>
  127. {{/if}}
  128. {{#if view.serviceMetricGraphs.length}}
  129. <div class="row-fluid">
  130. <div class="span12">
  131. <div class="box">
  132. <div class="box-header">
  133. <h4>{{controller.content.displayName}} {{t services.service.metrics}}</h4>
  134. {{#if controller.isGangliaInstalled}}
  135. <div class="btn-group">
  136. {{#if App.router.clusterController.isGangliaUrlLoaded}}
  137. <a class="btn" target="_blank" rel="tooltip" title="Go to Ganglia" {{bindAttr href="view.gangliaUrl"}}><i class="icon-link"></i></a>
  138. {{else}}
  139. <div class="spinner"></div>
  140. {{/if}}
  141. </div>
  142. {{/if}}
  143. </div>
  144. <div class="">
  145. <table class="graphs">
  146. {{#each graphs in view.serviceMetricGraphs}}
  147. <tr>
  148. {{#each graph in graphs}}
  149. <td>
  150. <div class="">
  151. {{view graph}}
  152. </div>
  153. </td>
  154. {{/each}}
  155. </tr>
  156. {{/each}}
  157. </table>
  158. </div>
  159. </div>
  160. </div>
  161. </div>
  162. {{/if}}