SensuGo Filter expressions throwing JS Type Error

Hello Team - I have been evaluating the EventFilters for one of the checks and it looks like, I am getting a JS Error. Could you help ?

sensuctl event info my-checks | jq .entity.metadata.labels.az
n1
sensuctl event info my-checks | jq .check.metadata.namespace
n1

{
“check”: {
“metadata”: {
“name”: “my-checks”,
“namespace”: “n1”
}
}
}

“entity”: {
“metadata”: {
“name”: “hostname”,
“namespace”: “n1”,
“labels”: {
“az”: “n1”
}
}
}

Filter Expressions: None of these worked.
["(event.check.occurrences % 1 == 0) && (event.check.metadata.namespace == ‘n1’) && (event.check.status == 2 || event.check.status == 1)"]
["(event.check.occurrences % 1 == 0) && (event.metadata.namespace == ‘n1’) && (event.check.status == 2 || event.check.status == 1)"]
["(event.check.occurrences % 1 == 0) && (entity.metadata.labels.az == ‘n1’) && (event.check.status == 2 || event.check.status == 1)"]

ERROR MESSAGE IN LOGS:
{“component”:“pipelined”,“error”:“TypeError: Cannot access member ‘namespace’ of undefined”,“level”:“error”,“msg”:“error executing JS”,“time”:“2020-05-26T10:09:19Z”}

{“component”:“pipelined”,“error”:“TypeError: Cannot access member ‘labels’ of undefined”,“level”:“error”,“msg”:“error executing JS”,“time”:“2020-05-26T09:50:48Z”}

Sorry guys, it worked after changing my filter expression to

(event.check.occurrences % 1 == 0) && (event.entity.namespace == ‘n1’) && (event.check.status == 2 || event.check.status == 1)

2 Likes