Skip to main content

Dashboards

Last updated on

The Resilience Testing (RT) module provides dashboards that visualize key metrics from your chaos testing operations. You access them under the Dashboards section of the Risk Insights left navigation.

The module ships with out-of-the-box (OOTB) dashboards for a high-level view of chaos testing across an account, and you can also build your own custom dashboards from Harness Unified Data Platform (UDP) queries.

The Dashboards item under the Risk Insights section of the Resilience Testing left navigation

The Dashboards item under Risk Insights in the Resilience Testing module.

Selecting Dashboards opens the dashboards landing page.

The Dashboards landing page in the Resilience Testing module

Out-of-the-box dashboards

The OOTB dashboards fall under three categories:

  • Experiment Activity
  • Experiment Outcomes & Scores
  • Authoring & People

The following dashboards ship out of the box:

DashboardCategoryKey widgets
Chaos Experiments by TargetExperiment ActivityTotal Chaos Experiment Runs, Experiment Runs by Status, Faults created per Infrastructure, Experiments created per Infrastructure, Chaos Experiment Runs (Daily/Weekly), Experiment Runs per Chaos Experiment, Average & Median Resilience score, Chaos Experiment Runs (Project/Org)
Chaos Experiment Outcomes SummaryExperiment ActivityTotal Chaos Experiment Runs, Chaos Experiment Outcome Distribution, Weekly Chaos Experiment Run Trend, Chaos Experiment Run Outcomes (Project/Org/Infrastructure)
Resilience Score Trend (per Chaos Experiment)Experiment Outcomes & ScoresChaos Experiment Run trend, Latest Run (Per Experiment), Chaos Experiment Pass Rate, Experiment Resilience score variance
Top Repeat-Failing ExperimentsExperiment Outcomes & ScoresRepeat-failing experiments, Repeat failing experiments (User)
Chaos Experiment Creation Trend by UserAuthoring & PeopleChaos Experiments created by users, Experiment creation per user (weekly), Chaos experiment creation (new users), Chaos Experiment Runs Creation (User)
Top Contributors & Hub AuthorsAuthoring & PeopleTop Actions Contributors, Top Probe contributors, Top Hub contributors, Top Probe creation by Probe type

The following is an example OOTB dashboard:

An example out-of-the-box dashboard showing chaos experiment metrics

Create a custom dashboard

You can create your own dashboards to visualize the metrics that matter to your team. Complete the following steps.

  1. Select the nine-dot icon at the top of the left navigation bar.
The nine-dot icon at the top of the left navigation bar
  1. At the bottom of the navigation bar, select Dashboards.
The Dashboards item at the bottom of the navigation bar
Switch to the new experience

If you see a prompt to switch experiences, use the dropdown and select Switch to new experience.

The Switch to new experience option in the dropdown

You now see the dashboards home.

The dashboards home screen
  1. Select + Create Dashboard. A right-side drawer opens.
The Create Dashboard drawer
  1. Enter a name and description. Add two mandatory tags so the RT module can identify and classify the dashboard:

    • Chaos
    • <Category>, where the category is one of Experiment Activity, Experiment Outcomes & Scores, or Authoring & People.
The dashboard tags, showing the mandatory Chaos tag and a category tag
Tags are required

The Chaos tag and a category tag are mandatory. Without them, the RT module cannot identify or classify the dashboard, so it does not appear in the module's Dashboards section.

  1. Select Submit. You land on the new, empty dashboard.
The new empty dashboard after submit
  1. Select + Add Widget to start adding widgets (individual tables or graphs).
The Add Widget button on the dashboard
  1. Select Data Widget.
The Data Widget option
  1. Toggle Code View.
The Code View toggle on the widget editor
  1. Enter a name and description for the widget, then write your query in the Query text area. Go to Dashboard query schema to review the available event and entity types.
The widget name, description, and Query text area
  1. Select Run Query to fetch data from Harness UDP.
The Run Query result showing fetched data
  1. Choose a visualization. The available visualizations are:

    • Table View
    • Metric Card
    • Donut Chart
    • Bar Chart
    • Column Chart
    • Line Chart
    • Area Chart
    • Scatter Chart

    This example uses a Donut Chart.

A Donut Chart visualization of the query results
  1. Select Add Widget at the top right to save the widget.
The Add Widget button at the top right of the widget editor
  1. The dashboard shows the widget you added. Add any remaining widgets, then select Save at the top right.
The dashboard showing the newly added widget with the Save button
  1. Return to the RT module from the left navigation bar.
The left navigation bar option to return to the Resilience Testing module
  1. In the RT module, go back to the Dashboards page under Risk Insights.
The Dashboards page under Risk Insights in the RT module

Your custom dashboard now appears in the Dashboards section, filtered under the category you tagged it with, and you can open it to see the widgets you created.

The custom Test Dashboard visible in the Dashboards section under its tagged category

RBAC considerations

Dashboards fall under the Shared Resources category, with View and Manage permissions:

  • View: Required to see the RT module in-product dashboards.
  • Manage: Required to create your own dashboards.
The Shared Resources dashboard permissions, showing View and Manage

Go to RBAC in Harness to configure roles and permissions.


Dashboard query schema

Custom dashboard widgets query Harness UDP using event and entity types. The following reference lists the available types and example queries.

Event types

Chaos Experiment Runs (chaos:experiment_run_event)

find event chaos:experiment_run_event | select { created_at, resiliency_score, db_id, unique_id, parent_unique_id, last_modified_at, phase, infrastructure_id, event_timestamp, org_identifier, updated_by, fk_experiment_id, cdc_operation_type, experiment_run_id, sequence, experiment_name, project_identifier, created_by, target_services, account_identifier, yaml, deleted } | filter event_timestamp > ago(1h) | limit 10

Entity types

Chaos Action (chaos:action)

find entity chaos:action | select { created_at, description, tags, type, identifier, db_id, unique_id, parent_unique_id, last_modified_at, name, org_identifier, updated_by, account_identifier, project_identifier, created_by, infrastructure_type, deleted } | limit 10

Chaos Action Template (chaos:action_template)

find entity chaos:action_template | select { created_at, description, tags, type, identifier, db_id, unique_id, hub_identifier, last_modified_at, parent_unique_id, name, org_identifier, updated_by, account_identifier, project_identifier, created_by, infrastructure_type, deleted } | limit 10

Chaos Execution Node (chaos:execution_node)

find entity chaos:execution_node | select { experiment_id, db_id, finished_at, status, infrastructure_id, name, org_identifier, step_type, last_updated_at, experiment_run_id, spec, account_identifier, project_identifier, infrastructure_type, started_at, deleted } | limit 10

Chaos Experiment (chaos:experiment)

find entity chaos:experiment | select { created_at, description, tags, experiment_id, identifier, db_id, unique_id, parent_unique_id, last_modified_at, infrastructure_id, name, org_identifier, updated_by, account_identifier, project_identifier, created_by, infrastructure_type, deleted } | limit 10

Chaos Experiment Run (chaos:experiment_run)

find entity chaos:experiment_run | select { created_at, resiliency_score, db_id, unique_id, parent_unique_id, last_modified_at, phase, infrastructure_id, org_identifier, updated_by, fk_experiment_id, experiment_run_id, sequence, experiment_name, project_identifier, created_by, target_services, account_identifier, yaml, deleted } | limit 10

Chaos Experiment Template (chaos:experiment_template)

find entity chaos:experiment_template | select { created_at, description, tags, identifier, db_id, unique_id, hub_identifier, last_modified_at, parent_unique_id, name, org_identifier, updated_by, is_default, account_identifier, project_identifier, created_by, revision, template_uid, yaml, infrastructure_type, deleted } | limit 10

Chaos Fault (chaos:fault)

find entity chaos:fault | select { created_at, description, tags, type, identifier, db_id, unique_id, parent_unique_id, last_modified_at, name, org_identifier, updated_by, account_identifier, project_identifier, created_by, infrastructure_type, deleted } | limit 10

Chaos Fault Template (chaos:fault_template)

find entity chaos:fault_template | select { created_at, description, tags, type, identifier, db_id, unique_id, hub_identifier, last_modified_at, parent_unique_id, name, org_identifier, updated_by, is_default, account_identifier, project_identifier, created_by, revision, template_uid, yaml, infrastructure_type, deleted } | limit 10

Chaos Hub (chaos:hub)

find entity chaos:hub | select { created_at, description, tags, identifier, db_id, unique_id, parent_unique_id, last_modified_at, hub_id, name, org_identifier, updated_by, account_identifier, project_identifier, created_by, deleted } | limit 10

Chaos K8s Infrastructure V2 (chaos:k8s_infrastructure_v2)

find entity chaos:k8s_infrastructure_v2 | select { created_at, description, tags, kind, identifier, db_id, unique_id, parent_unique_id, last_modified_at, environment_identifier, name, org_identifier, updated_by, api_version, account_identifier, project_identifier, created_by, deleted } | limit 10

Chaos Linux Infrastructure (chaos:linux_infrastructure)

find entity chaos:linux_infrastructure | select { created_at, start_time, tags, description, db_id, infra_id, is_active, parent_unique_id, last_modified_at, unique_id, environment_identifier, name, version, is_infra_confirmed, is_registered, updated_by, org_identifier, account_identifier, project_identifier, hostname, created_by, last_heartbeat, deleted } | limit 10

Chaos Probe (chaos:probe)

find entity chaos:probe | select { created_at, description, tags, type, identifier, db_id, unique_id, parent_unique_id, last_modified_at, name, org_identifier, updated_by, account_identifier, project_identifier, created_by, infrastructure_type, deleted } | limit 10

Chaos Probe Template (chaos:probe_template)

find entity chaos:probe_template | select { created_at, description, tags, type, identifier, db_id, unique_id, hub_identifier, last_modified_at, parent_unique_id, name, org_identifier, updated_by, account_identifier, project_identifier, created_by, infrastructure_type, deleted } | limit 10