blob: e79101b1a4a0df47a3eba6037750a9977f9238f3 [file] [log] [blame]
{{!
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
}}
<div class="row-fluid">
<div class="span12">
<div class="span6">
<div class="host-configuration">
<div class="box">
<div class="box-header">
<h4>{{t hosts.host.summary.header}}</h4>
</div>
<div class="host-summary-content">
<dl class="dl-horizontal">
<dt>{{t hosts.host.summary.hostname}}:</dt><dd>&nbsp;{{view.content.publicHostName}}</dd>
<dt>{{t common.ipAddress}}:</dt><dd>&nbsp;{{view.content.ip}}</dd>
<dt>{{t common.os}}:</dt><dd>&nbsp;{{view.content.osType}}&nbsp;({{view.content.osArch}})</dd>
<dt>{{t common.cpu}}:</dt><dd>&nbsp;{{view.content.cpu}}</dd>
<dt>{{t common.disk}}:</dt><dd>&nbsp;{{view.content.diskInfoBar}}</dd>
<dt>{{t common.memory}}:</dt><dd>&nbsp;{{view.content.memoryFormatted}}</dd>
<dt>{{t common.loadAvg}}:</dt><dd>&nbsp;{{view.content.loadAvg}}</dd>
<dt>{{t hosts.host.summary.agentHeartbeat}}:</dt><dd>{{view.timeSinceHeartBeat}}</dd>
</dl>
</div>
</div>
</div>
{{!components}}
<div class="box">
<div class="box-header">
<h4>Components</h4>
</div>
{{#if view.sortedComponents.length}}
<div class="host-components">
{{#each component in view.sortedComponents}}
<div class="row-fluid">
{{#view view.ComponentView contentBinding="component" decommissionDataNodeHostNamesBinding="view.decommissionDataNodeHostNames"}}
<div class="span7">
<span {{bindAttr class="view.statusClass :components-health"}}></span>&nbsp;
{{component.displayName}}&nbsp;/&nbsp;
<a href="#" {{action routeToService component.service target="controller" }}>{{component.service.displayName}}</a>
</div>
<div class="span5">
{{#if App.isAdmin}}
<div class="btn-group">
<a {{ bindAttr class=":btn :dropdown-toggle view.disabledClass"}} data-toggle="dropdown">
{{t common.action}}
<span class="caret pull-right"></span>
</a>
<ul class="dropdown-menu">
{{#if view.isDataNode}}
<li {{bindAttr class="view.isDataNodeDecommissionAvailable::hidden"}}>
<a href="javascript:void(null)" data-toggle="modal" {{action "decommission" view.content target="controller"}}>
{{t common.decommission}}
</a>
</li>
<li {{bindAttr class="view.isDataNodeRecommissionAvailable::hidden"}}>
<a href="javascript:void(null)" data-toggle="modal" {{action "recommission" view.content target="controller"}}>
{{t common.recommission}}
</a>
</li>
{{/if}}
<li {{bindAttr class="view.isStart::hidden"}}>
<a href="javascript:void(null)" data-toggle="modal" {{action "stopComponent" view.content target="controller"}}>
{{t common.stop}}
</a>
</li>
<li {{bindAttr class="view.isStart:hidden:"}}>
<a href="javascript:void(null)" data-toggle="modal" {{action "startComponent" view.content target="controller"}}>
{{t common.start}}
</a>
</li>
</ul>
</div>
{{/if}}
</div>
{{/view}}
</div>
{{/each}}
{{#if view.clients.length}}
<div class="clients row-fluid">
<div class="span8 row">
<div class="span2">{{t common.clients}}&nbsp;/&nbsp;</div>
<div class="span8">
{{#each component in view.clients}}
{{#if component.isLast}}
{{component.displayName}}
{{else}}
{{component.displayName}},
{{/if}}
{{/each}}
</div>
</div>
</div>
{{/if}}
</div>
{{/if}}
</div>
</div>
{{!metrics}}
<div class="span6">
<div class="box">
<div class="box-header">
<h4>{{t hosts.host.summary.hostMetrics}}</h4>
<div class="btn-group">
<a class="btn" rel="tooltip" title="Go to Ganglia" {{action "showGangliaCharts" target="view"}}><i class="icon-link"></i></a>
</div>
</div>
<div>
{{view App.MainHostMetricsView contentBinding="view.content"}}
</div>
</div>
</div>
</div>
</div>