Dashboard Panels

This topic describes dashboard panels in Sysdig Monitor.

Create a New Panel

Sysdig Monitor supports both form-based and PromQL-based queries.

To create a new panel, you can do one of the following:

  • Create a new dashboard: When you create a new dashboard, it opens to a pre-built panel. You can run a new query and build the dashboard.
  • Use a dashboard from the library: Dashboards from the library are immutable dashboards that can’t be edited. You can copy and customize them. See Dashboard Library.
  • Add a new panel to an existing dashboard.
  • Create a new panel from an exploration in PromQL Query or Metrics Explorer.

The maximum number of panels you can add to a dashboard is 100.

Access Panel Contextual Actions

  • Duplicate a Panel: Duplicate the panel within the same dashboard.
  • Export Data: Export panel data in CSV or JSON format.
  • Create an Alert: Create a Prometheus Alert based on one of the panel queries.
  • Open in PromQL Query: Open the panel queries in PromQL Query for further exploration.
  • Copy to Dashboard: Copy the panel to a new or existing dashboard.
  • Delete: Delete the panel from the dashboard.

Configure Panel Options

  • Unit and Y-Axes: Specify the unit of scale and display format.

  • No Data Display: Determine how to display null data on the dashboard.

  • Min. Interval: Specify the minimum interval to replace $__interval. Ensure that the value is expressed as a time duration, for example: 10s, 1m, 1h, and must be between 10s and 1d.

  • Compare To: Optionally, you can compare the data against historical data. This is helpful for comparing current usage to past usage when determining the conditions of your infrastructure. To compare current data with that from a time range in the past, click Enable and select the Range Offset and time unit. The supported time units are, Hour, Day, Week, and Month.
    When segmentation is applied, comparing time series against historical data is not supported.

  • Axes: Determine scale, unit, display format, and gauge for the Y-axes.

  • Legend: Determine the position of the legend in the Dashboard.

  • Panel: Specify a name and add details about the panel.

Define Axes

Sysdig Monitor provides the flexibility to add two Y-axes to the graph. You can also determine whether you want to use them at all. Having the option to add an extra Y-axis helps when you decide to add an extra query.

Specify the following for both Y-Axis and Y-Axis Right:

  • Show: Select to show the Y-Axis on the graph.
  • Scale: Specify the scale in which you want the data to be shown on the graph.
  • Unit: Specify the unit of scale for the incoming data.
  • Display Format: Specify the unit of scale for the data to be displayed on the Y-Axis.
  • Y-Max: Specify the highest value to be displayed on the Y-Axis. Consider this as the highest point in the range. You can specify the limits as numeric values. However, the type of values that you specify must match the type of values along the axis. Y-Max should be always greater than Y-Min.
  • Y-Min: Specify the lowest value to be displayed on the Y-Axis. Consider this as the lowest point in the range. You can specify both limits or you can specify one limit and let the axes automatically calculate the other.

Configure Panel Size

Individual Panels

You can resize individual panels by dragging their bottom right edge. Clicking Save Layout to save your changes.

All Panels

Configuring this setting overrides all custom panel sizes.

To configure the size of every panel in the dashboard Click the Settings (three dots) icon for the dashboard and select Auto Layout to open the drop-down.

Move Panels

Click and drag panels to move them into a new position.

Click Save Layout to save your changes.

Define Panel Heading and Description

To specify a panel title and description:

  1. Add a new panel, or edit an existing panel.
  2. Underneath the metric graph, select the Panel tab.
  3. Specify a Panel Title, Description, and No Data Message as desired.

Configure Panel Scope

To configure the scope of a dashboard panel:

  1. Click the edit icon on a panel, or create a new panel.

  2. Select the edit icon beside the scope underneath the Panel title.

Create a Form-Based Panel

Each type of visualization has different settings and the query fields are determined by the type. For example, this topic explains the steps to create a Timechart.

  1. On the Dashboards tab, click Add dashboard: Clicking the (+) icon opens a default panel editor.

  2. Click the Timechart tab to select a visualization type.

    For more information on types of visualization, see Visualisation types.

  3. Select a metric from the drop-down as follows:

    You can either scroll down or type the first few letters of the metrics.

  4. Specify Time Aggregation and Group Rollup.

  5. Specify an appropriate segmentation

  6. Specify the display text in the Display field.


  7. (optional) Specify the scope for the panel you are creating: You can either choose to inherit the dashboard scope as it is or apply the scope to one or all the queries.

  8. Specify the unit of scale and the display format for Y-Axis: This option is currently available only for Timeseries panels.

  9. Determine how to display null data on the dashboard: You can display no data as a gap, a zero value, a dotted line, or a solid line in the graph.

  10. Optionally, compare the data against historical data: When segmentation is applied, comparing metrics against historical data is not supported.

Create a PromQL Panel

  1. Do one of the following:

    • Click Add Dashboard if you are creating a new dashboard.
    • Click Add Panel if you are adding a new panel to an existing Dashboard.
  2. Click the PromQL button. The PromQL panel appears.

  3. Enter the query in the PromQL field:


    In this example, the rate of memory heaps released in bytes in an interval of 5 minutes is calculated and then the total rate is calculated in each Kubernetes cluster.

  4. Specify a descriptive title for the legend and a name for the time series.


    You can specify a variable as shown in the image. The variable name is replaced with the Kubernetes cluster names in the legend.

  5. Specify the unit for incoming data and how it should be displayed.


    For example, you can specify the incoming data to be gathered in kilobytes and displayed as megabytes.

    Also, determine the location of the Y-Axis on the graph. When you have additional queries, the flexibility to place an additional Y-axis on the graph comes in handy.

  6. Determine how to display null data on the dashboard: You can display no data as a gap, a zero value, a dotted line, or a solid line in the graph.

  7. Optionally, compare the data against historical data. When segmentation is applied, comparing metrics against historical data is not supported.

  8. Click Save to save the changes.

Create PromQL Panels from Form Query

Use the Translate to PromQL option to quickly build a PromQL-based panel from form queries as follows:

  1. Build a form query, as described in Create a Form-Based Query. This example shows you how to build a Toplist for the metric sysdig_program_cpu_cores_used, segmented by program_name and container_name.

  1. Click Translate to PromQL.
  2. Click Continue to proceed.
  3. Click Save.

Apply a Dashboard Scope to a PromQL Query

Use $__scope

The dashboard scope is automatically applied only to form-based panels. To scope a panel built from a PromQL query, you must use a scope variable within the query. The variable will take the value of the referenced scope parameter, and the PromQL panel will change accordingly.

The easiest way to apply the full dashboard scope to a PromQL query is to use $__scope.

avg_over_time(sysdig_container_cpu_used_percent{$__scope})

The following example shows how to use scope variables within PromQL queries when a finer control is required (for example when you want to apply a scope entry on specific metrics).

For more information, see Reserved Variables.

Example: CPU Used Percent

The following query returns the CPU used percent for all the hosts, regardless of the scope configured at the dashboard level, with a mobile average depending on the time span defined.

avg_over_time(sysdig_host_cpu_used_percent[$__interval])

To scope this query, you must set up an appropriate scope variable. A key step is to provide a variable name that is referenced as part of the query.

In this example, hostname is used as the variable name. The host can then be referenced using $hostname as follows:

avg_over_time(sysdig_host_cpu_used_percent{host_name=$hostname}[$__interval])

Depending on the operator specified while configuring scope values, you might need to use a different operator within the query.

Scope OperatorPromQL Filter OperatorExample
  • is foo
  • is not foo
  • = : Select labels that are exactly equal to the provided string.
  • != : Select labels that are not equal to the provided string.
sysdig_host_cpu_used_percent{host_name=$hostname}
  • in foo,bar
  • not in foo,bar
  • =~: Select labels that regex-match the provided string.
  • !~ : Select labels that do not regex-match the provided string.
sysdig_host_cpu_used_percent{host_name=~$hostname}