mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-25 21:54:10 -08:00
f08abdb48b
irate is a rate function that only looks at the most recent two data points, and calucaltes a per-second value from that. This produces much more granular graphs for fast moving data, and works sanely across many scrape intervals. It doesn't do so well for slowly moving data.
85 lines
2.9 KiB
HTML
85 lines
2.9 KiB
HTML
{{ template "head" . }}
|
|
|
|
{{ template "prom_right_table_head" }}
|
|
<tr>
|
|
<th>HAProxy</th>
|
|
<th>{{ template "prom_query_drilldown" (args "sum(haproxy_up{job='haproxy'})") }} / {{ template "prom_query_drilldown" (args "count(up{job='haproxy'})") }}</th></tr>
|
|
</tr>
|
|
<tr>
|
|
<td>CPU</td>
|
|
<td>{{ template "prom_query_drilldown" (args "avg by(job)(irate(haproxy_process_cpu_seconds_total{job='haproxy'}[5m]))" "s/s" "humanizeNoSmallPrefix") }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Memory</td>
|
|
<td>{{ template "prom_query_drilldown" (args "avg by(job)(haproxy_process_resident_memory_bytes{job='haproxy'})" "B" "humanize1024") }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan="2">Frontend</th>
|
|
</tr>
|
|
<tr>
|
|
<td>Requests</td>
|
|
<td>{{ template "prom_query_drilldown" (args "sum(irate(haproxy_frontend_http_requests_total{job='haproxy'}[5m]))" "/s" "humanizeNoSmallPrefix") }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Requests Denied</td>
|
|
<td>{{ template "prom_query_drilldown" (args "sum(irate(haproxy_frontend_requests_denied_total{job='haproxy'}[5m]))" "/s" "humanizeNoSmallPrefix") }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Data In</td>
|
|
<td>{{ template "prom_query_drilldown" (args "sum(irate(haproxy_frontend_bytes_in_total{job='haproxy'}[5m]))" "B/s" "humanize") }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Data Out</td>
|
|
<td>{{ template "prom_query_drilldown" (args "sum(irate(haproxy_frontend_bytes_out_total{job='haproxy'}[5m]))" "B/s" "humanize") }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Current Sessions</td>
|
|
<td>{{ template "prom_query_drilldown" (args "sum(haproxy_frontend_current_sessions{job='haproxy'})" "" "humanize") }}</td>
|
|
</tr>
|
|
{{ template "prom_right_table_tail" }}
|
|
|
|
{{ template "prom_content_head" . }}
|
|
<h1>HAProxy</h1>
|
|
|
|
<h3>Frontend Requests</h3>
|
|
<div id="feRequestsGraph"></div>
|
|
<script>
|
|
new PromConsole.Graph({
|
|
node: document.querySelector("#feRequestsGraph"),
|
|
expr: "sum by (frontend)(irate(haproxy_frontend_http_requests_total{job='haproxy'}[5m]))",
|
|
renderer: 'area',
|
|
yTitle: 'Requests',
|
|
name: '[[ frontend ]]',
|
|
yAxisFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
|
|
yHoverFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
|
|
yUnits: '/s'
|
|
})
|
|
</script>
|
|
<h3>Backend Responses</h3>
|
|
<div id="responsesGraph"></div>
|
|
<script>
|
|
new PromConsole.Graph({
|
|
node: document.querySelector("#responsesGraph"),
|
|
expr: "sum by (backend)(irate(haproxy_backend_http_responses_total{job='haproxy'}[5m]))",
|
|
renderer: 'area',
|
|
yTitle: 'Responses',
|
|
name: '[[ backend ]]',
|
|
yAxisFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
|
|
yHoverFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
|
|
yUnits: '/s'
|
|
})
|
|
</script>
|
|
<h3>Current Sessions</h3>
|
|
<div id="sessionsGraph"></div>
|
|
<script>
|
|
new PromConsole.Graph({
|
|
node: document.querySelector("#sessionsGraph"),
|
|
expr: "sum(haproxy_frontend_current_sessions{job='haproxy'})",
|
|
yTitle: 'Sessions',
|
|
name: 'Sessions'
|
|
})
|
|
</script>
|
|
{{ template "prom_content_tail" . }}
|
|
|
|
{{ template "tail" }}
|