Blues · Schema

Monitor

IoTCellularConnectivityDevice ManagementFleet ManagementSatelliteLoRaWiFiNotecardNotehub

Properties

Name Type Description
aggregate_function string Aggregate function to apply to the selected values before applying the condition. [none, sum, average, max, min]
aggregate_window string The time window to aggregate the selected values. It follows the format of a number followed by a time unit
alert boolean If true, the monitor is in alert state.
alert_routes array
condition_type string A comparison operation to apply to the value selected by the source_selector [greater_than, greater_than_or_equal_to, less_than, less_than_or_equal_to, equal_to, not_equal_to]
description string
disabled boolean If true, the monitor will not be evaluated.
fleet_filter array
last_routed_at string The last time the monitor was evaluated and routed.
name string
notefile_filter array
per_device boolean Only relevant when using an aggregate_function. If true, the monitor will be evaluated per device, | rather than across the set of selected devices. If true then if a single device matches the specifi
routing_cooldown_period string The time period to wait before routing another event after the monitor | has been triggered. It follows the format of a number followed by a time unit.
silenced boolean If true, alerts will be created, but no notifications will be sent.
source_selector string A valid JSONata expression that selects the value to monitor from the source. | It should return a single, numeric value.
source_type string The type of source to monitor. Supported values are "event" and "heartbeat".
threshold integer The type of condition to apply to the value selected by the source_selector
uid string
usage_scope string For usage monitors: the scope of aggregation. Supported values are "device" and "fleet".
usage_type string For usage monitors: the type of data usage to monitor. Supported values are "cellular" and "satellite".
usage_window integer For usage monitors: the rolling time window in days to sum usage over (e.g. 30 for 30 days).
View JSON Schema on GitHub

JSON Schema

blues-wireless-monitor.json Raw ↑
{
  "type": "object",
  "properties": {
    "aggregate_function": {
      "description": "Aggregate function to apply to the selected values before applying the condition. [none, sum, average, max, min]",
      "type": "string",
      "enum": [
        "none",
        "sum",
        "average",
        "max",
        "min"
      ]
    },
    "aggregate_window": {
      "description": "The time window to aggregate the selected values. It follows the format of a number followed by a time unit",
      "type": "string",
      "example": "10m or 5h30m40s",
      "pattern": "^[0-9]+[smh]$"
    },
    "alert": {
      "description": "If true, the monitor is in alert state.",
      "type": "boolean"
    },
    "alert_routes": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SlackWebHookNotification"
          },
          {
            "$ref": "#/components/schemas/SlackBearerNotification"
          },
          {
            "$ref": "#/components/schemas/EmailNotification"
          }
        ]
      }
    },
    "condition_type": {
      "description": "A comparison operation to apply to the value selected by the source_selector [greater_than, greater_than_or_equal_to, less_than, less_than_or_equal_to, equal_to, not_equal_to]",
      "type": "string",
      "enum": [
        "greater_than",
        "greater_than_or_equal_to",
        "less_than",
        "less_than_or_equal_to",
        "equal_to",
        "not_equal_to",
        "count"
      ]
    },
    "description": {
      "type": "string"
    },
    "disabled": {
      "description": "If true, the monitor will not be evaluated.",
      "type": "boolean"
    },
    "fleet_filter": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "last_routed_at": {
      "description": "The last time the monitor was evaluated and routed.",
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "notefile_filter": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "per_device": {
      "description": "Only relevant when using an aggregate_function. If true, the monitor will be evaluated per device, | rather than across the set of selected devices. If true then if a single device matches the specified criteria, | and alert will be created, otherwise the aggregate function will be applied across all devices.",
      "type": "boolean"
    },
    "routing_cooldown_period": {
      "description": "The time period to wait before routing another event after the monitor | has been triggered. It follows the format of a number followed by a time unit.",
      "type": "string",
      "example": "10m or 5h30m40s",
      "pattern": "^[0-9]+[smh]$"
    },
    "silenced": {
      "description": "If true, alerts will be created, but no notifications will be sent.",
      "type": "boolean"
    },
    "source_selector": {
      "description": "A valid JSONata expression that selects the value to monitor from the source. | It should return a single, numeric value.",
      "type": "string",
      "example": "body.temperature"
    },
    "source_type": {
      "description": "The type of source to monitor. Supported values are \"event\" and \"heartbeat\".",
      "type": "string",
      "enum": [
        "event",
        "heartbeat"
      ]
    },
    "threshold": {
      "description": "The type of condition to apply to the value selected by the source_selector",
      "type": "integer"
    },
    "uid": {
      "type": "string"
    },
    "usage_scope": {
      "description": "For usage monitors: the scope of aggregation. Supported values are \"device\" and \"fleet\".",
      "type": "string"
    },
    "usage_type": {
      "description": "For usage monitors: the type of data usage to monitor. Supported values are \"cellular\" and \"satellite\".",
      "type": "string"
    },
    "usage_window": {
      "description": "For usage monitors: the rolling time window in days to sum usage over (e.g. 30 for 30 days).",
      "type": "integer",
      "format": "int32"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Monitor"
}