2017-08-09 15:10:30 +00:00
|
|
|
{{define "head"}}
|
|
|
|
<link type="text/css" rel="stylesheet" href="{{ pathPrefix }}/static/css/targets.css?v={{ buildVersion }}">
|
|
|
|
<script src="{{ pathPrefix }}/static/js/targets.js?v={{ buildVersion }}"></script>
|
|
|
|
{{end}}
|
2016-05-13 15:59:59 +00:00
|
|
|
|
|
|
|
{{define "content"}}
|
|
|
|
<div class="container-fluid">
|
|
|
|
<h2 id="targets">Targets</h2>
|
2017-08-09 15:10:30 +00:00
|
|
|
<table class="table table-condensed table-bordered table-hover">
|
2016-12-02 12:28:58 +00:00
|
|
|
{{range $job, $pool := .TargetPools }}
|
2017-08-09 15:10:30 +00:00
|
|
|
{{$healthy := numHealthy $pool}}
|
|
|
|
{{$total := len $pool}}
|
|
|
|
<tr class="job_header{{if lt $healthy $total}} danger{{end}}">
|
|
|
|
<td colspan="5">
|
|
|
|
<i class="icon-chevron-up"></i><a id="job-{{$job}}" href="#job-{{$job}}">{{$job}} ({{$healthy}}/{{$total}} up)</a>
|
2016-05-13 15:59:59 +00:00
|
|
|
</td>
|
2017-08-09 15:10:30 +00:00
|
|
|
</tr>
|
2017-08-11 17:31:46 +00:00
|
|
|
<tr class="job_details">
|
2016-05-13 15:59:59 +00:00
|
|
|
<td>
|
2017-08-09 15:10:30 +00:00
|
|
|
<table class="table table-condensed table-bordered table-striped table-hover">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th>Endpoint</th>
|
|
|
|
<th>State</th>
|
|
|
|
<th>Labels</th>
|
|
|
|
<th>Last Scrape</th>
|
|
|
|
<th>Error</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
{{range $pool}}
|
|
|
|
<tr>
|
|
|
|
<td>
|
|
|
|
<a href="{{.URL | globalURL}}">{{.URL.Scheme}}://{{.URL.Host}}{{.URL.Path}}</a><br>
|
|
|
|
{{range $label, $values := .URL.Query }}
|
|
|
|
{{range $i, $value := $values}}
|
|
|
|
<span class="label label-primary">{{$label}}="{{$value}}"</span>
|
|
|
|
{{end}}
|
|
|
|
{{end}}
|
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
<span class="alert alert-{{ .Health | healthToClass }} state_indicator text-uppercase">
|
|
|
|
{{.Health}}
|
|
|
|
</span>
|
|
|
|
</td>
|
|
|
|
<td>
|
2017-11-08 14:30:19 +00:00
|
|
|
<span class="cursor-pointer" data-toggle="tooltip" title="" data-html=true data-original-title="<b>Before relabeling:</b>{{range $k, $v := .DiscoveredLabels.Map}}<br>{{$ev := $v | html}}{{$k}}="{{$ev}}"{{end}}">
|
2017-08-10 14:28:49 +00:00
|
|
|
{{$labels := stripLabels .Labels.Map "job"}}
|
2017-08-09 15:10:30 +00:00
|
|
|
{{range $label, $value := $labels}}
|
|
|
|
<span class="label label-primary">{{$label}}="{{$value}}"</span>
|
|
|
|
{{else}}
|
|
|
|
<span class="label label-default">none</span>
|
|
|
|
{{end}}
|
|
|
|
</span>
|
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
{{if .LastScrape.IsZero}}Never{{else}}{{since .LastScrape}} ago{{end}}
|
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
{{if .LastError}}
|
|
|
|
<span class="alert alert-danger state_indicator">{{.LastError}}</span>
|
|
|
|
{{end}}
|
|
|
|
</td>
|
|
|
|
</tr>
|
2016-05-13 15:59:59 +00:00
|
|
|
{{end}}
|
2017-08-09 15:10:30 +00:00
|
|
|
</tbody>
|
|
|
|
</table>
|
2016-05-13 15:59:59 +00:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
{{end}}
|
|
|
|
</table>
|
|
|
|
</div>
|
2017-11-08 14:30:19 +00:00
|
|
|
{{end}}
|