{{ 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" }}