about summary refs log tree commit diff
path: root/bundles/prometheus/files/consoles/prom.html
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/prometheus/files/consoles/prom.html')
-rw-r--r--bundles/prometheus/files/consoles/prom.html88
1 files changed, 88 insertions, 0 deletions
diff --git a/bundles/prometheus/files/consoles/prom.html b/bundles/prometheus/files/consoles/prom.html
new file mode 100644
index 0000000..4bc5eb7
--- /dev/null
+++ b/bundles/prometheus/files/consoles/prom.html
@@ -0,0 +1,88 @@
+{{/* vim: set ft=gotmpl: */}}
+
+{{ template "head" . }}
+
+{{ template "prom_content_head" . }}
+<div class="prom_content_div">
+  <div style="columns:2;">
+    <h1 style="margin-bottom:10px;">Prometheus</h1>
+    <table>
+      <tr><th colspan="2">Overview</th></tr>
+      <tr>
+        <td>CPU</td>
+        <td>{{ template "prom_query_drilldown" (args (printf "irate(process_cpu_seconds_total{job='prometheus',instance='%s'}[5m])" .Params.instance) "s/s" "humanizeNoSmallPrefix") }}</td>
+      </tr>
+      <tr>
+        <td>Memory</td>
+        <td>{{ template "prom_query_drilldown" (args (printf "process_resident_memory_bytes{job='prometheus',instance='%s'}" .Params.instance) "B" "humanize1024") }}</td>
+      </tr>
+      <tr>
+        <td>Version</td>
+        <td>{{ with query (printf "prometheus_build_info{job='prometheus',instance='%s'}" .Params.instance) }}{{. | first | label "version"}}{{end}}</td>
+      </tr>
+    </table>
+    <table>
+      <tr><th colspan="2">Storage</th></tr>
+      <tr>
+        <td>Ingested Samples</td>
+        <td>{{ template "prom_query_drilldown" (args (printf "irate(prometheus_tsdb_head_samples_appended_total{job='prometheus',instance='%s'}[5m])" .Params.instance) "/s" "humanizeNoSmallPrefix") }}</td>
+      </tr>
+      <tr>
+        <td>Head Series</td>
+        <td>{{ template "prom_query_drilldown" (args (printf "prometheus_tsdb_head_series{job='prometheus',instance='%s'}" .Params.instance) "" "humanize") }}</td>
+      </tr>
+      <tr>
+        <td>Blocks Loaded</td>
+        <td>{{ template "prom_query_drilldown" (args (printf "prometheus_tsdb_blocks_loaded{job='prometheus',instance='%s'}" .Params.instance) "" "humanize") }}</td>
+      </tr>
+    </table>
+    <table>
+      <tr><th colspan="2">Rules</th></tr>
+      <tr>
+        <td>Evaluation Duration</td>
+        <td>{{ template "prom_query_drilldown" (args (printf "irate(prometheus_evaluator_duration_seconds_sum{job='prometheus',instance='%s'}[5m]) / irate(prometheus_evaluator_duration_seconds_count{job='prometheus',instance='%s'}[5m])" .Params.instance .Params.instance) "" "humanizeDuration") }}</td>
+      </tr>
+      <tr>
+        <td>Notification Latency</td>
+        <td>{{ template "prom_query_drilldown" (args (printf "irate(prometheus_notifications_latency_seconds_sum{job='prometheus',instance='%s'}[5m]) / irate(prometheus_notifications_latency_seconds_count{job='prometheus',instance='%s'}[5m])" .Params.instance .Params.instance) "" "humanizeDuration") }}</td>
+      </tr>
+      <tr>
+        <td>Notification Queue</td>
+        <td>{{ template "prom_query_drilldown" (args (printf "prometheus_notifications_queue_length{job='prometheus',instance='%s'}" .Params.instance) "" "humanize") }}</td>
+      </tr>
+    </table>
+  </div>
+  <div>
+    <h3>Ingested Samples</h3>
+    <div id="samplesGraph"></div>
+    <script>
+      new PromConsole.Graph({
+      node: document.querySelector("#samplesGraph"),
+      expr: "irate(prometheus_tsdb_head_samples_appended_total{job='prometheus',instance='{{ .Params.instance }}'}[5m])",
+      name: 'Ingested Samples',
+      yAxisFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
+      yHoverFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
+      yTitle: "Samples",
+      yUnits: "/s",
+    })
+    </script>
+  </div>
+  <div>
+    <h3>HTTP Server</h3>
+    <div id="serverGraph"></div>
+    <script>
+      new PromConsole.Graph({
+      node: document.querySelector("#serverGraph"),
+      expr: "irate(prometheus_http_request_duration_seconds_count{job='prometheus',instance='{{ .Params.instance }}'}[5m])",
+      name: '[[handler]]',
+      yAxisFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
+      yHoverFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
+      yTitle: "Requests",
+      yUnits: "/s",
+    })
+    </script>
+  </div>
+</div>
+{{ template "prom_content_tail" . }}
+
+{{ template "tail" }}