Transform your observation data

or click any element in the pipeline to jump to it.

In the transform stage, Sensu executes mutators.

The transform stage of the Sensu observability pipeline executes any mutators you have specified in your handler configuration to transform your observability data so other technologies can consume it. For example, if you’re sending metrics to Graphite using a TCP handler, Graphite expects data that follows the Graphite plaintext protocol. You can add Sensu’s built-in only_check_output mutator to transform the data into the format Graphite can accept.

Here’s how transform stage of the pipeline works: first, the Sensu backend receives an event and executes the filter stage of the observability pipeline. If the event data meets the conditions, triggers, or thresholds you specified in your event filters, Sensu checks the handler for a mutator. If the handler includes a mutator, the Sensu backend executes the mutator.

  • If the mutator executes successfully (that is, returns an exit status code of 0), Sensu applies the mutator to transform the event data, returns the transformed event data to the handler, and executes the handler.
  • If the mutator fails to execute (that is, returns a non-zero exit status code or fails to complete within its configured timeout), Sensu logs an error and does not execute the handler.

This example mutator resource definition uses the Sensu Check Status Metric Mutator dynamic runtime asset:

type: Mutator
api_version: core/v2
  name: sensu-check-status-metric-mutator
  command: sensu-check-status-metric-mutator
  - nixwiz/sensu-check-status-metric-mutator
  "type": "Mutator",
  "api_version": "core/v2",
  "metadata": {
    "name": "sensu-check-status-metric-mutator"
  "spec": {
    "command": "sensu-check-status-metric-mutator",
    "runtime_assets": [

Use Bonsai, the Sensu asset hub, to discover, download, and share Sensu mutator dynamic runtime assets. Read Use assets to install plugins to get started.