v1
latestSwagger 2.02026-07-178567199.3 KBsources
kapacitors
rules
Get all defined alert rules.
get/sources/{id}/kapacitors/{kapa_id}/rules
Path parameters
idstring required
ID of the source
kapa_idstring required
ID of the kapacitor backend.
Query parameters
patternstring
filter results to contain the specified value in the task name
limitnumber
limits results length, 0 to return unlimited results
parsestring
can be '0' to skip parsing of TICKscript
Response
All alert rules for this specific kapacitor are returned
Example response
{
"rules": [
{
"id": "chronograf-v1-b2b065ea-79bd-4e4f-8c0d-d0ef68477d38",
"query": {
"id": "ce72917d-1ecb-45ea-a6cb-4c122deb93c7",
"database": "telegraf",
"measurement": "cpu",
"retentionPolicy": "autogen",
"fields": [
{
"value": "max",
"type": "func",
"args": [
{
"value": "usage_system",
"type": "field"
}
]
}
],
"tags": {},
"groupBy": {
"time": "10m",
"tags": []
},
"areTagsAccepted": true
},
"every": "30s",
"alertNodes": {
"typeOf": "alert",
"stateChangesOnly": true,
"noRecoveries": false,
"useFlapping": false,
"post": [],
"tcp": [],
"email": [],
"exec": [],
"log": [],
"victorOps": [],
"pagerDuty": [],
"pagerDuty2": [],
"pushover": [],
"sensu": [],
"slack": [],
"telegram": [],
"alerta": [
{
"token": "",
"resource": "res",
"event": "evt",
"environment": "env",
"group": "grp",
"value": "val",
"origin": "kapacitor",
"service": [
"svc"
]
}
],
"opsGenie": [],
"opsGenie2": [],
"talk": [],
"kafka": [],
"serviceNow": null,
"bigPanda": null,
"teams": null,
"zenoss": null
},
"message": "too much spam",
"details": "muh body",
"trigger": "threshold",
"values": {
"operator": "greater than",
"value": "10"
},
"name": "Untitled Rule",
"tickscript": "var db = 'telegraf'\n\nvar rp = 'autogen'\n\nvar measurement = 'cpu'\n\nvar groupBy = []\n\nvar whereFilter = lambda: TRUE\n\nvar period = 10m\n\nvar every = 30s\n\nvar name = 'Untitled Rule'\n\nvar idVar = name + ':{{.Group}}'\n\nvar message = 'too much spam'\n\nvar idTag = 'alertID'\n\nvar levelTag = 'level'\n\nvar messageField = 'message'\n\nvar durationField = 'duration'\n\nvar outputDB = 'chronograf'\n\nvar outputRP = 'autogen'\n\nvar outputMeasurement = 'alerts'\n\nvar triggerType = 'threshold'\n\nvar details = 'muh body'\n\nvar crit = 10\n\nvar data = stream\n |from()\n .database(db)\n .retentionPolicy(rp)\n .measurement(measurement)\n .groupBy(groupBy)\n .where(whereFilter)\n |window()\n .period(period)\n .every(every)\n .align()\n |max('usage_system')\n .as('value')\n\nvar trigger = data\n |alert()\n .crit(lambda: \"value\" > crit)\n .stateChangesOnly()\n .message(message)\n .id(idVar)\n .idTag(idTag)\n .levelTag(levelTag)\n .messageField(messageField)\n .durationField(durationField)\n .details(details)\n .alerta()\n .resource('res')\n .event('evt')\n .environment('env')\n .group('grp')\n .value('val')\n .origin('kapacitor')\n .services('svc')\n .correlated()\n\ntrigger\n |influxDBOut()\n .create()\n .database(outputDB)\n .retentionPolicy(outputRP)\n .measurement(outputMeasurement)\n .tag('alertName', name)\n .tag('triggerType', triggerType)\n\ntrigger\n |httpOut('output')\n",
"type": "stream",
"dbrps": [
{
"db": "telegraf",
"rp": "autogen"
}
],
"status": "disabled",
"executing": false,
"error": "",
"created": "2017-05-05T16:16:03.471138388-05:00",
"modified": "2017-05-23T15:57:42.625909746-05:00",
"last-enabled": "2017-05-05T16:16:25.890210217-05:00",
"links": {
"self": "/chronograf/v1/sources/5/kapacitors/5/rules/chronograf-v1-b2b065ea-79bd-4e4f-8c0d-d0ef68477d38",
"kapacitor": "/chronograf/v1/sources/5/kapacitors/5/proxy?path=%2Fkapacitor%2Fv1%2Ftasks%2Fchronograf-v1-b2b065ea-79bd-4e4f-8c0d-d0ef68477d38",
"output": "/chronograf/v1/sources/5/kapacitors/5/proxy?path=%2Fkapacitor%2Fv1%2Ftasks%2Fchronograf-v1-b2b065ea-79bd-4e4f-8c0d-d0ef68477d38%2Foutput"
}
}
]
}