File: node-cpu.html

package info (click to toggle)
prometheus 1.5.2%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 4,640 kB
  • ctags: 3,562
  • sloc: makefile: 100; sh: 98
file content (60 lines) | stat: -rw-r--r-- 2,587 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
{{ template "head" . }}

{{ template "prom_right_table_head" }}
  <tr>
    <th colspan="2">CPU(s): {{ template "prom_query_drilldown" (args (printf "scalar(count(count by (cpu)(node_cpu{job='node',instance='%s'})))" .Params.instance)) }}</th>
  </tr>
{{ range printf "sum by (mode)(irate(node_cpu{job='node',instance='%s'}[5m])) * 100 / scalar(count(count by (cpu)(node_cpu{job='node',instance='%s'})))" .Params.instance .Params.instance | query | sortByLabel "mode" }}
  <tr>
    <td>{{ .Labels.mode | title }} CPU</td>
    <td>{{ .Value | printf "%.1f" }}%</td>
  </tr>
{{ end }}
  <tr><th colspan="2">Misc</th></tr>
  <tr>
    <td>Processes Running</td>
    <td>{{ template "prom_query_drilldown" (args (printf "node_procs_running{job='node',instance='%s'}" .Params.instance) "" "humanize") }}</td>
  </tr>
  <tr>
    <td>Processes Blocked</td>
    <td>{{ template "prom_query_drilldown" (args (printf "node_procs_blocked{job='node',instance='%s'}" .Params.instance) "" "humanize") }}</td>
  </tr>
  <tr>
    <td>Forks</td>
    <td>{{ template "prom_query_drilldown" (args (printf "irate(node_forks{job='node',instance='%s'}[5m])" .Params.instance) "/s" "humanize") }}</td>
  </tr>
  <tr>
    <td>Context Switches</td>
    <td>{{ template "prom_query_drilldown" (args (printf "irate(node_context_switches{job='node',instance='%s'}[5m])" .Params.instance) "/s" "humanize") }}</td>
  </tr>
  <tr>
    <td>Interrupts</td>
    <td>{{ template "prom_query_drilldown" (args (printf "irate(node_intr{job='node',instance='%s'}[5m])" .Params.instance) "/s" "humanize") }}</td>
  </tr>
  <tr>
    <td>1m Loadavg</td>
    <td>{{ template "prom_query_drilldown" (args (printf "node_load1{job='node',instance='%s'}" .Params.instance)) }}</td>
  </tr>
<tr>
</tr>
{{ template "prom_right_table_tail" }}

{{ template "prom_content_head" . }}
  <h1>Node CPU - {{ reReplaceAll "(.*?://)([^:/]+?)(:\\d+)?/.*" "$2" .Params.instance }}</h1>

  <h3>CPU Usage</h3>
  <div id="cpuGraph"></div>
  <script>
  new PromConsole.Graph({
    node: document.querySelector("#cpuGraph"),
    expr: "sum by (mode)(irate(node_cpu{job='node',instance='{{ .Params.instance }}',mode!='idle'}[5m]))",
    renderer: 'area',
    max: {{ with printf "count(count by (cpu)(node_cpu{job='node',instance='%s'}))" .Params.instance | query }}{{ . | first | value }}{{ else}}undefined{{end}},
    yAxisFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
    yHoverFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
    yTitle: 'Cores'
  })
  </script>
{{ template "prom_content_tail" . }}

{{ template "tail" }}