tickscript.deadman() function

The tickscript.deadman() function is a user-contributed function maintained by the package author and can be updated or removed at any time.

The tickscript.deadman() function detects low data throughput and writes a point with a critical status to the InfluxDB _monitoring system bucket. For each input table containing a number of rows less than or equal to the specified threshold, the function assigns a crit value to the _level column.

This function is comparable to the Kapacitor AlertNode deadman.

import "contrib/bonitoo-io/tickscript"

  check: {},
  measurement: "example-measurement",
  threshold: 0,
  id: (r)=>"${r._check_id}",
  message: (r) => "Deadman Check: ${r._check_name} is: " + (if r.dead then "dead" else "alive"),
  topic: ""



(Required) InfluxDB check data. See tickscript.defineCheck().

Data type: Record


(Required) Measurement name. Should match the queried measurement.

Data type: String


Count threshold. The function assigns a crit status to input tables with a number of rows less than or equal to the threshold. Default is 0.

Data type: Integer


Function that returns the InfluxDB check ID provided by the check record. Default is (r) => "${r._check_id}".

Data type: Function


Function that returns the InfluxDB check message using data from input rows. Default is (r) => "Deadman Check: ${r._check_name} is: " + (if r.dead then "dead" else "alive").

Data type: Function


Check topic. Default is "".

Data type: String


import "contrib/bonitoo-io/tickscript"

option task = {name: "Example task", every: 1m;}

from(bucket: "example-bucket")
  |> range(start: -task.every)
  |> filter(fn: (r) => r._measurement == "pulse" and r._field == "value")
  |> tickscript.deadman(
    check: tickscript.defineCheck(id: "000000000000", name: "task/${r.service}"),
    measurement: "pulse",
    threshold: 2
data = batch
  |query('SELECT value from pulse')

  |deadman(2.0, 1m)
    .id('kapacitor/{{ index .Tags "service" }}')
    .message('{{ .ID }} is {{ .Level }} value:{{ index .Fields "value" }}')

Package author and maintainer

Github: @bonitoo-io, @alespour
InfluxDB Slack: @Ales Pour

Cloud or OSS?

InfluxDB OSS 2.0 now generally available!

InfluxDB OSS 2.0 is now generally available and ready for production use. See the InfluxDB OSS 2.0 release notes.

For information about upgrading to InfluxDB OSS 2.0, see: