heXoughts - arco's braindumps & musings

In my quest for an answer to nature's existence, I wish to be an inter-galactic hitchhiker..

Monitoring in Satperf: Metrics Collection

| Comments

Satperf utilizes a visualization framework called Grafana, to present graphs.

Metrics Collected

An explanation of how the following metrics are placed in the satperf monitoring dashboard, is described in the ‘Grafana Dashboard’ section. If you wanna copy these metrics, refer to this file [2] in references

  • The panels that satperf monitoring module provides:

Figure 1

  • The metrics that satperf monitoring module collects for processes:

Figure 1


The Grafana dashboard is divided into rows and each row has either a single or multiple panels. Each of those panels query specific metrics. Here’s how those metrics in the template [1] are grouped:

  • Grafana variable templating
  • Rows > Panels > Queries

The rows are named as following:

Figure 1

A sample “CPU ALL” row with all panels:

Figure 2

On clicking edit in one of the panels in that row, we get the metric query frame, like this:

Figure 3

The templating $Cloud, $Node etc.. are included at the top of the dashboard, like this:

Figure 4

Grafana Dashboard

  1. Satperf Dashboard template can be obtained here
  2. Variables replaced in that template are in this file

Satperf Dashboard templating explained

So in the jinja template [1], we have multiple “title”(s) under “rows” section and variables from [2] are replaced inside the template as illustrated in following piece of that jinja template:

{# Loop over per-process options here #}
    {% for metrics in per_process_metrics %}
        “collapse”: true,
        “editable”: true,
        “height”: “200px”,
        “panels”: [

      {% for panel in per_process_panels[item.process_list_name] %}

Additionally, "title": "CPU All" in the dashboard template [1] refers to one row of the dashboard.

Note: This post is a spin off from the main satperf project.