blob: 3f53e35b2c7c6ba893f322f620fd01b2b04e3c80 [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 service-block">
<div class="span6">
{{#if view.service.quickLinks.length}}
{{#view App.QuickViewLinks contentBinding="view.service"}}
<ul class="nav nav-pills move">
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Quick Links<b class="caret"></b></a>
<ul class="dropdown-menu">
{{#each view.quickLinks}}
<a {{bindAttr href="url"}} {{bindAttr target="view.linkTarget"}}>{{label}}</a>
{{/each}}
</ul>
</li>
</ul>
{{/view}}
{{/if}}
<div class="box">
<div class="box-header">
<h4>{{controller.content.label}} Summary</h4>
</div>
<div class="service-content">
<table id="summary-info" class="table no-borders table-condensed">
<tbody>
{{#unless view.serviceStatus.oozie}}
{{#unless view.serviceStatus.hive}}
{{#unless view.serviceStatus.zookeeper}}
{{#unless view.serviceStatus.hdfs}}
{{#unless view.serviceStatus.mapreduce}}
{{#unless view.serviceStatus.hbase}}
{{#each component in controller.content.components}}
<tr>
{{#if component.isMaster}}
<td class="summary-label">{{component.displayName}}</td>
<td><a {{action selectHost component.host}} href="javascript:void(null)">{{component.host.publicHostName}}</a></td>
{{else}}
<td class="summary-label">{{component.displayName}}s</td>
<td><a {{action filterHosts component}} href="javascript:void(null)">{{component.displayName}}s</a></td>
{{/if}}
</tr>
{{/each}}
{{#if view.serviceStatus.ganglia}}
<tr>
<td class="summary-label">Ganglia Web UI</td>
<td><a target=_blank href="http://{{unbound view.gangliaServer}}/ganglia">{{view.gangliaServer}}/ganglia</a></td>
</tr>
{{/if}}
{{#if view.serviceStatus.nagios}}
<tr>
<td class="summary-label">Nagios Web UI</td>
<td><a target=_blank href="http://{{unbound view.nagiosServer}}/nagios">{{view.nagiosServer}}/nagios</a></td>
</tr>
{{/if}}
{{/unless}}
{{/unless}}
{{/unless}}
{{/unless}}
{{/unless}}
{{/unless}}
{{#if view.serviceStatus.hdfs}}
{{view App.MainDashboardServiceHdfsView showOnlyRows=true serviceBinding="view.service"}}
{{/if}}
{{#if view.serviceStatus.mapreduce}}
{{view App.MainDashboardServiceMapreduceView showOnlyRows=true serviceBinding="view.service"}}
{{/if}}
{{#if view.serviceStatus.hbase}}
{{view App.MainDashboardServiceHbaseView showOnlyRows=true serviceBinding="view.service"}}
{{/if}}
{{#if view.serviceStatus.zookeeper}}
<tr>
<td class="summary-label">Hosts</td>
<td>
{{#each component in controller.content.components}}
<a {{action selectHost component.host}} href="javascript:void(null)">{{component.host.publicHostName}}</a>
{{/each}}
</td>
</tr>
{{/if}}
{{#if view.serviceStatus.oozie}}
<tr>
<td class="summary-label">Hosts</td>
<td>
{{#each component in controller.content.components}}
<a {{action selectHost component.host}} href="javascript:void(null)">{{component.host.publicHostName}}</a>
{{/each}}
</td>
</tr>
{{/if}}
{{#if view.serviceStatus.hive}}
<tr>
<td class="summary-label">Host</td>
<td>
{{#each component in controller.content.components}}
<a {{action selectHost component.host}} href="javascript:void(null)">{{component.host.publicHostName}}</a>
{{/each}}
</td>
</tr>
<tr>
<td>Database</td>
<td>{{view.data.hive.database}}</td>
</tr>
<tr>
<td>Database Name</td>
<td>{{view.data.hive.databaseName}}</td>
</tr>
<tr>
<td>User</td>
<td>{{view.data.hive.user}}</td>
</tr>
{{/if}}
</tbody>
</table>
{{!view view.moreStatsView}}
</div>
{{!
<div class="box-footer">
</div>
}}
</div>
</div>
<div class="span6">
{{#if view.hasAlertsBox }}
<div class="box">
<div class="box-header">
<h4>Alerts and Health Checks</h4>
<div class="btn-group">
<a class="btn" target="_blank" rel="tooltip" title="Go to Nagios" {{bindAttr href="controller.nagiosUrl"}}><i class="icon-link"></i></a>
</div>
</div>
<ul id='summary-alerts-list' class="alerts">
{{#if controller.alerts.length}}
{{#each controller.alerts}}
{{view view.alertItemView contentBinding="this"}}
{{/each}}
{{else}}
{{#if controller.isNagiosInstalled}}
<div class="alert alert-info">
No alerts
</div>
{{else}}
<div class="alert">
Nagios service required for viewing alerts
</div>
{{/if}}
{{/if}}
</ul>
</div>
{{/if}}
</div>
</div>
{{#if view.serviceMetricGraphs.length}}
<div class="row-fluid">
<div class="span12">
<div class="box">
<div class="box-header">
<h4>{{controller.content.label}} Metrics</h4>
<div class="btn-group">
<a class="btn" target="_blank" rel="tooltip" title="Go to Ganglia" {{bindAttr href="view.gangliaUrl"}}><i class="icon-link"></i></a>
</div>
</div>
<div class="summary-metric-graphs row-fluid">
{{#each graph in view.serviceMetricGraphs}}
<div class="span3">
{{view graph}}
</div>
{{/each}}
</div>
</div>
</div>
</div>
{{/if}}