Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Send to different Slack channels according to some criteria #195

Closed
nhproject opened this issue Feb 2, 2016 · 5 comments
Closed

Send to different Slack channels according to some criteria #195

nhproject opened this issue Feb 2, 2016 · 5 comments

Comments

@nhproject
Copy link

Say I have two channels on Slack: Channel A, Channel B.
Channel A should receive all alerts that involves host A,
Channel B should receive all alerts that involves host B.
Can I do something like that on the .alert() node?

if eq (index .Tags "host") "A"
.slack()
.channel('A')
if eq (index .Tags "host") "B"
.slack()
.channel('B')

10x!

Nitz

@nathanielc
Copy link
Contributor

This is possible but requires different alert nodes for each branch in the logic.

var data = stream or batch ....

var data_a = data.where(lambda: "host" == 'A')

var data_b = data.where(lambda: "host" == 'B')

data_a.alert().slack().channel('A')

data_b.alert().slack().channel('B')

@nhproject
Copy link
Author

Thanks Nat!

I got a panic when I try to do as you wrote:

panic: runtime error: slice bounds out of range

goroutine 162 [running]:
github.com/influxdata/kapacitor.(_WhereNode).runWhere(0xc8201630a0, 0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/where.go:65 +0xd3b
github.com/influxdata/kapacitor.(_WhereNode).(github.com/influxdata/kapacitor.runWhere)-fm(0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/where.go:26 +0x4c
github.com/influxdata/kapacitor.(_node).start.func1(0xc8201630a0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/node.go:95 +0x7f
created by github.com/influxdata/kapacitor.(_node).start
/gopath/src/github.com/influxdata/kapacitor/node.go:96 +0x8d

goroutine 1 [chan receive, 6 minutes]:
main.(*Main).Run(0xc82038df10, 0xc82000a0b0, 0x4, 0x4, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/cmd/kapacitord/main.go:96 +0xbf1
main.main()
/gopath/src/github.com/influxdata/kapacitor/cmd/kapacitord/main.go:41 +0x363

goroutine 17 [syscall, 6 minutes, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1721 +0x1

goroutine 5 [syscall, 6 minutes]:
os/signal.loop()
/usr/local/go/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.1
/usr/local/go/src/os/signal/signal_unix.go:28 +0x37

goroutine 34 [IO wait]:
net.runtime_pollWait(0x7fe3269e7180, 0x72, 0xc820010140)
/usr/local/go/src/runtime/netpoll.go:157 +0x60
net.(_pollDesc).Wait(0xc82013d950, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(_pollDesc).WaitRead(0xc82013d950, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(_netFD).accept(0xc82013d8f0, 0x0, 0x7fe3269a5028, 0xc82000f440)
/usr/local/go/src/net/fd_unix.go:408 +0x27c
net.(_TCPListener).AcceptTCP(0xc82012e098, 0xc8201a2dc0, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:254 +0x4d
net.(_TCPListener).Accept(0xc82012e098, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:264 +0x3d
net/http.(_Server).Serve(0xc820198000, 0x7fe3269e6200, 0xc82012e098, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:1887 +0xb3
net/http.Serve(0x7fe3269e6200, 0xc82012e098, 0x7fe3269a5000, 0xc820138660, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:1765 +0x85
github.com/influxdata/kapacitor/services/httpd.(_Service).serve.func1(0xc820128960)
/gopath/src/github.com/influxdata/kapacitor/services/httpd/service.go:114 +0x6e
created by github.com/influxdata/kapacitor/services/httpd.(_Service).serve
/gopath/src/github.com/influxdata/kapacitor/services/httpd/service.go:122 +0x35

goroutine 19 [select]:
github.com/influxdata/kapacitor.(_Edge).NextPoint(0xc820188840, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/gopath/src/github.com/influxdata/kapacitor/edge.go:119 +0x17d
github.com/influxdata/kapacitor.(_TaskMaster).runForking(0xc820140280, 0xc820188840)
/gopath/src/github.com/influxdata/kapacitor/task_master.go:367 +0xcc
created by github.com/influxdata/kapacitor.(*TaskMaster).stream
/gopath/src/github.com/influxdata/kapacitor/task_master.go:361 +0x14f

goroutine 15 [IO wait]:
net.runtime_pollWait(0x7fe3269e7000, 0x72, 0xc820010140)
/usr/local/go/src/runtime/netpoll.go:157 +0x60
net.(_pollDesc).Wait(0xc82000dc60, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(_pollDesc).WaitRead(0xc82000dc60, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(_netFD).readFrom(0xc82000dc00, 0xc82024e000, 0x10000, 0x10000, 0x0, 0x0, 0x0, 0x7fe329835050, 0xc820010140)
/usr/local/go/src/net/fd_unix.go:259 +0x2a5
net.(_UDPConn).ReadFromUDP(0xc82002a0c8, 0xc82024e000, 0x10000, 0x10000, 0xac, 0xac, 0x0, 0x0)
/usr/local/go/src/net/udpsock_posix.go:61 +0x117
github.com/influxdata/kapacitor/services/udp.(_Service).serve(0xc82007da40)
/gopath/src/github.com/influxdata/kapacitor/services/udp/service.go:125 +0x166
created by github.com/influxdata/kapacitor/services/udp.(_Service).Open
/gopath/src/github.com/influxdata/kapacitor/services/udp/service.go:103 +0xc39

goroutine 16 [chan receive]:
github.com/influxdata/kapacitor/services/udp.(_Service).processPackets(0xc82007da40)
/gopath/src/github.com/influxdata/kapacitor/services/udp/service.go:143 +0xe6
created by github.com/influxdata/kapacitor/services/udp.(_Service).Open
/gopath/src/github.com/influxdata/kapacitor/services/udp/service.go:105 +0xc84

goroutine 41 [select]:
github.com/influxdata/kapacitor.(_Edge).NextBatch(0xc820298210, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/gopath/src/github.com/influxdata/kapacitor/edge.go:130 +0x18a
github.com/influxdata/kapacitor.(_BatchNode).runBatch.func1(0xc820198ae0, 0xc82026e0f0)
/gopath/src/github.com/influxdata/kapacitor/batch.go:277 +0x224
created by github.com/influxdata/kapacitor.(*BatchNode).runBatch
/gopath/src/github.com/influxdata/kapacitor/batch.go:287 +0x6d

goroutine 56 [chan receive, 6 minutes]:
github.com/influxdata/kapacitor.(_BatchNode).runBatch(0xc82026e0f0, 0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/batch.go:292 +0x104
github.com/influxdata/kapacitor.(_BatchNode).(github.com/influxdata/kapacitor.runBatch)-fm(0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/batch.go:106 +0x4c
github.com/influxdata/kapacitor.(_node).start.func1(0xc82026e0f0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/node.go:95 +0x7f
created by github.com/influxdata/kapacitor.(_node).start
/gopath/src/github.com/influxdata/kapacitor/node.go:96 +0x8d

goroutine 57 [select]:
github.com/influxdata/kapacitor.(_Edge).NextBatch(0xc820263ec0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/gopath/src/github.com/influxdata/kapacitor/edge.go:130 +0x18a
github.com/influxdata/kapacitor.(_EvalNode).runEval(0xc8200a0d20, 0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/eval.go:55 +0x6b9
github.com/influxdata/kapacitor.(_EvalNode).(github.com/influxdata/kapacitor.runEval)-fm(0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/eval.go:34 +0x4c
github.com/influxdata/kapacitor.(_node).start.func1(0xc8200a0d20, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/node.go:95 +0x7f
created by github.com/influxdata/kapacitor.(*node).start
/gopath/src/github.com/influxdata/kapacitor/node.go:96 +0x8d

goroutine 58 [select]:
github.com/influxdata/kapacitor.(_Edge).NextBatch(0xc820284180, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/gopath/src/github.com/influxdata/kapacitor/edge.go:130 +0x18a
github.com/influxdata/kapacitor.(_EvalNode).runEval(0xc8200a0e00, 0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/eval.go:55 +0x6b9
github.com/influxdata/kapacitor.(_EvalNode).(github.com/influxdata/kapacitor.runEval)-fm(0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/eval.go:34 +0x4c
github.com/influxdata/kapacitor.(_node).start.func1(0xc8200a0e00, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/node.go:95 +0x7f
created by github.com/influxdata/kapacitor.(*node).start
/gopath/src/github.com/influxdata/kapacitor/node.go:96 +0x8d

goroutine 59 [select]:
github.com/influxdata/kapacitor.(_Edge).NextBatch(0xc820285050, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/gopath/src/github.com/influxdata/kapacitor/edge.go:130 +0x18a
github.com/influxdata/kapacitor.(_AlertNode).runAlert(0xc8200bf7a0, 0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/alert.go:243 +0xb01
github.com/influxdata/kapacitor.(_AlertNode).(github.com/influxdata/kapacitor.runAlert)-fm(0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/alert.go:84 +0x4c
github.com/influxdata/kapacitor.(_node).start.func1(0xc8200bf7a0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/node.go:95 +0x7f
created by github.com/influxdata/kapacitor.(*node).start
/gopath/src/github.com/influxdata/kapacitor/node.go:96 +0x8d

goroutine 60 [select]:
github.com/influxdata/kapacitor.(_Edge).NextBatch(0xc820285f80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/gopath/src/github.com/influxdata/kapacitor/edge.go:130 +0x18a
github.com/influxdata/kapacitor.(_AlertNode).runAlert(0xc8200bfe60, 0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/alert.go:243 +0xb01
github.com/influxdata/kapacitor.(_AlertNode).(github.com/influxdata/kapacitor.runAlert)-fm(0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/alert.go:84 +0x4c
github.com/influxdata/kapacitor.(_node).start.func1(0xc8200bfe60, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/node.go:95 +0x7f
created by github.com/influxdata/kapacitor.(*node).start
/gopath/src/github.com/influxdata/kapacitor/node.go:96 +0x8d

goroutine 61 [select]:
github.com/influxdata/kapacitor.(_ExecutingTask).runSnapshotter(0xc8202436c0)
/gopath/src/github.com/influxdata/kapacitor/task.go:380 +0x845
created by github.com/influxdata/kapacitor.(_ExecutingTask).start
/gopath/src/github.com/influxdata/kapacitor/task.go:184 +0x236

goroutine 62 [select]:
github.com/influxdata/kapacitor.(_BatchNode).doQuery(0xc82026e0f0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/batch.go:223 +0xbce
github.com/influxdata/kapacitor.(_BatchNode).Start.func1(0xc82026e0f0)
/gopath/src/github.com/influxdata/kapacitor/batch.go:184 +0x21
created by github.com/influxdata/kapacitor.(*BatchNode).Start
/gopath/src/github.com/influxdata/kapacitor/batch.go:185 +0xd3

goroutine 63 [chan receive, 6 minutes]:
github.com/influxdata/kapacitor.(_node).Err(0xc8200bfe60, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/node.go:117 +0xc6
github.com/influxdata/kapacitor.(_ExecutingTask).Err.func1(0x7fe32983c1d0, 0xc8200bfe60, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/task.go:267 +0x33
github.com/influxdata/kapacitor.(_ExecutingTask).rwalk(0xc8202436c0, 0xd919f0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/task.go:112 +0x91
github.com/influxdata/kapacitor.(_ExecutingTask).Err(0xc8202436c0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/task.go:268 +0x39
github.com/influxdata/kapacitor/services/task_store.(_Service).StartTask.func1(0xc8202436c0, 0xc8201386c0, 0xc820202cc0)
/gopath/src/github.com/influxdata/kapacitor/services/task_store/service.go:626 +0x30
created by github.com/influxdata/kapacitor/services/task_store.(_Service).StartTask
/gopath/src/github.com/influxdata/kapacitor/services/task_store/service.go:638 +0x224

goroutine 84 [select]:
github.com/influxdata/kapacitor.(_Edge).NextPoint(0xc8202f4180, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/gopath/src/github.com/influxdata/kapacitor/edge.go:119 +0x17d
github.com/influxdata/kapacitor.(_TaskMaster).runForking(0xc820140280, 0xc8202f4180)
/gopath/src/github.com/influxdata/kapacitor/task_master.go:367 +0xcc
created by github.com/influxdata/kapacitor.(*TaskMaster).stream
/gopath/src/github.com/influxdata/kapacitor/task_master.go:361 +0x14f

goroutine 85 [select]:
github.com/influxdata/kapacitor/services/stats.(_Service).sendStats(0xc820133480)
/gopath/src/github.com/influxdata/kapacitor/services/stats/service.go:100 +0x179
created by github.com/influxdata/kapacitor/services/stats.(_Service).Open
/gopath/src/github.com/influxdata/kapacitor/services/stats/service.go:76 +0x1fa

goroutine 86 [select, 6 minutes]:
github.com/influxdata/kapacitor/services/reporting.(_Service).usage(0xc820168480)
/gopath/src/github.com/influxdata/kapacitor/services/reporting/service.go:86 +0x2ee
created by github.com/influxdata/kapacitor/services/reporting.(_Service).Open
/gopath/src/github.com/influxdata/kapacitor/services/reporting/service.go:65 +0x39c

goroutine 87 [chan receive, 6 minutes]:
github.com/influxdata/kapacitor/cmd/kapacitord/run.(_Server).Open.func2(0xc820135100)
/gopath/src/github.com/influxdata/kapacitor/cmd/kapacitord/run/server.go:432 +0x69
created by github.com/influxdata/kapacitor/cmd/kapacitord/run.(_Server).Open
/gopath/src/github.com/influxdata/kapacitor/cmd/kapacitord/run/server.go:435 +0x8f

goroutine 88 [select, 6 minutes]:
github.com/influxdata/kapacitor/cmd/kapacitord/run.(_Command).monitorServerErrors(0xc820168000)
/gopath/src/github.com/influxdata/kapacitor/cmd/kapacitord/run/command.go:147 +0x289
created by github.com/influxdata/kapacitor/cmd/kapacitord/run.(_Command).Run
/gopath/src/github.com/influxdata/kapacitor/cmd/kapacitord/run/command.go:127 +0x1314

goroutine 89 [select, 6 minutes, locked to thread]:
runtime.gopark(0xd92648, 0xc820300728, 0xc328b8, 0x6, 0x431218, 0x2)
/usr/local/go/src/runtime/proc.go:185 +0x163
runtime.selectgoImpl(0xc820300728, 0x0, 0x18)
/usr/local/go/src/runtime/select.go:392 +0xa64
runtime.selectgo(0xc820300728)
/usr/local/go/src/runtime/select.go:212 +0x12
runtime.ensureSigM.func1()
/usr/local/go/src/runtime/signal1_unix.go:227 +0x353
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1721 +0x1

goroutine 114 [chan send, 5 minutes]:
github.com/influxdata/kapacitor/tick.lexSingleOrTripleString(0xc82029cab0, 0xd91b90)
/gopath/src/github.com/influxdata/kapacitor/tick/lex.go:493 +0x231
github.com/influxdata/kapacitor/tick.(*lexer).run(0xc82029cab0)
/gopath/src/github.com/influxdata/kapacitor/tick/lex.go:198 +0x32
created by github.com/influxdata/kapacitor/tick.lex
/gopath/src/github.com/influxdata/kapacitor/tick/lex.go:190 +0xc1

goroutine 132 [select]:
github.com/influxdata/kapacitor.(_Edge).CollectBatch(0xc82039d890, 0xc820517be0, 0xe, 0xc820511600, 0x36, 0xece43e644, 0x0, 0x101fa40, 0xc8202bb620, 0xc82000b090, ...)
/gopath/src/github.com/influxdata/kapacitor/edge.go:163 +0x176
github.com/influxdata/kapacitor.(_BatchNode).runBatch.func1(0xc8200146c0, 0xc82026e690)
/gopath/src/github.com/influxdata/kapacitor/batch.go:279 +0x149
created by github.com/influxdata/kapacitor.(*BatchNode).runBatch
/gopath/src/github.com/influxdata/kapacitor/batch.go:287 +0x6d

goroutine 126 [chan receive]:
github.com/influxdata/kapacitor.(_BatchNode).runBatch(0xc82026e690, 0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/batch.go:292 +0x104
github.com/influxdata/kapacitor.(_BatchNode).(github.com/influxdata/kapacitor.runBatch)-fm(0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/batch.go:106 +0x4c
github.com/influxdata/kapacitor.(_node).start.func1(0xc82026e690, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/node.go:95 +0x7f
created by github.com/influxdata/kapacitor.(_node).start
/gopath/src/github.com/influxdata/kapacitor/node.go:96 +0x8d

goroutine 127 [select]:
github.com/influxdata/kapacitor.(_Edge).CollectBatch(0xc82039c450, 0xc820517be0, 0xe, 0xc820511600, 0x36, 0xece43e644, 0x0, 0x101fa40, 0xc8202bb620, 0xc82000b090, ...)
/gopath/src/github.com/influxdata/kapacitor/edge.go:163 +0x176
github.com/influxdata/kapacitor.(_WhereNode).runWhere(0xc820162c40, 0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/where.go:69 +0xc4a
github.com/influxdata/kapacitor.(_WhereNode).(github.com/influxdata/kapacitor.runWhere)-fm(0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/where.go:26 +0x4c
github.com/influxdata/kapacitor.(_node).start.func1(0xc820162c40, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/node.go:95 +0x7f
created by github.com/influxdata/kapacitor.(*node).start
/gopath/src/github.com/influxdata/kapacitor/node.go:96 +0x8d

goroutine 128 [runnable]:
sync.(_Pool).pin(0x1027e90, 0x3d)
/usr/local/go/src/sync/pool.go:148
sync.(_Pool).Put(0x1027e90, 0xbfe880, 0xc820136000)
/usr/local/go/src/sync/pool.go:71 +0x35
fmt.(_pp).free(0xc820136000)
/usr/local/go/src/fmt/print.go:149 +0x79
fmt.Sprintf(0xd23800, 0x28, 0xc820119468, 0x2, 0x2, 0x0, 0x0)
/usr/local/go/src/fmt/print.go:205 +0xc8
fmt.Errorf(0xd23800, 0x28, 0xc820119468, 0x2, 0x2, 0x0, 0x0)
/usr/local/go/src/fmt/print.go:212 +0x65
github.com/influxdata/kapacitor/tick.(_Scope).Get(0xc8201b7b70, 0xc8205afa30, 0x5, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/tick/scope.go:39 +0x39f
github.com/influxdata/kapacitor/tick.(_StatefulExpr).evalBinary(0xc8205b8480, 0x20, 0xc8201b7b70, 0xc8201199a8, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/tick/stateful_expr.go:182 +0xee
github.com/influxdata/kapacitor/tick.(_StatefulExpr).eval(0xc8205b8480, 0x7fe32983b048, 0xc8205b7530, 0xc8201b7b70, 0xc8201199a8, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/tick/stateful_expr.go:115 +0x1306
github.com/influxdata/kapacitor/tick.(_StatefulExpr).EvalBool(0xc8205b8480, 0xc8201b7b70, 0x101fa40, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/tick/stateful_expr.go:36 +0x9b
github.com/influxdata/kapacitor.EvalPredicate(0xc8205b8480, 0xece43e770, 0x0, 0x101fa40, 0xc8205cc5d0, 0xc8202bb5f0, 0x101fa00, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/expr.go:17 +0xaf
github.com/influxdata/kapacitor.(_AlertNode).determineLevel(0xc8205b47e0, 0xece43e770, 0x0, 0x101fa40, 0xc8205cc5d0, 0xc8202bb5f0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/alert.go:289 +0xf5
github.com/influxdata/kapacitor.(_AlertNode).runAlert(0xc8205b47e0, 0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/alert.go:246 +0x803
github.com/influxdata/kapacitor.(_AlertNode).(github.com/influxdata/kapacitor.runAlert)-fm(0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/alert.go:84 +0x4c
github.com/influxdata/kapacitor.(_node).start.func1(0xc8205b47e0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/node.go:95 +0x7f
created by github.com/influxdata/kapacitor.(_node).start
/gopath/src/github.com/influxdata/kapacitor/node.go:96 +0x8d

goroutine 129 [runnable]:
log.(_Logger).formatHeader(0xc820129590, 0xc8201295c0, 0xece43e77a, 0x2134cf93, 0x10287a0, 0x0, 0x0, 0x0)
/usr/local/go/src/log/log.go:90
log.(_Logger).Output(0xc820129590, 0x2, 0xc8202aa300, 0x5e, 0x0, 0x0)
/usr/local/go/src/log/log.go:161 +0x1dd
log.(_Logger).Println(0xc820129590, 0xc820387ae8, 0x2, 0x2)
/usr/local/go/src/log/log.go:182 +0x6a
github.com/influxdata/kapacitor.(_AlertNode).determineLevel(0xc8205b4d80, 0xece43e770, 0x0, 0x101fa40, 0xc8205cc5d0, 0xc8202bb5f0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/alert.go:292 +0x28d
github.com/influxdata/kapacitor.(_AlertNode).runAlert(0xc8205b4d80, 0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/alert.go:246 +0x803
github.com/influxdata/kapacitor.(_AlertNode).(github.com/influxdata/kapacitor.runAlert)-fm(0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/alert.go:84 +0x4c
github.com/influxdata/kapacitor.(_node).start.func1(0xc8205b4d80, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/node.go:95 +0x7f
created by github.com/influxdata/kapacitor.(_node).start
/gopath/src/github.com/influxdata/kapacitor/node.go:96 +0x8d

goroutine 163 [runnable]:
github.com/influxdata/kapacitor.(_Edge).NextBatch(0xc8203a0a80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/gopath/src/github.com/influxdata/kapacitor/edge.go:130 +0x18a
github.com/influxdata/kapacitor.(_AlertNode).runAlert(0xc8205b58c0, 0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/alert.go:243 +0xb01
github.com/influxdata/kapacitor.(_AlertNode).(github.com/influxdata/kapacitor.runAlert)-fm(0x0, 0x0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/alert.go:84 +0x4c
github.com/influxdata/kapacitor.(_node).start.func1(0xc8205b58c0, 0x0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/node.go:95 +0x7f
created by github.com/influxdata/kapacitor.(*node).start
/gopath/src/github.com/influxdata/kapacitor/node.go:96 +0x8d

goroutine 164 [select]:
github.com/influxdata/kapacitor.(_ExecutingTask).runSnapshotter(0xc820608cb0)
/gopath/src/github.com/influxdata/kapacitor/task.go:372 +0x8a2
created by github.com/influxdata/kapacitor.(_ExecutingTask).start
/gopath/src/github.com/influxdata/kapacitor/task.go:184 +0x236

goroutine 165 [select]:
github.com/influxdata/kapacitor.(_Edge).CollectBatch(0xc8203a0cc0, 0xc820517cc0, 0xe, 0xc820511640, 0x32, 0xece43e770, 0x0, 0x101fa40, 0xc8202bb680, 0xc82000b5e0, ...)
/gopath/src/github.com/influxdata/kapacitor/edge.go:163 +0x176
github.com/influxdata/kapacitor.(_BatchNode).doQuery(0xc82026e690, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/batch.go:261 +0xa95
github.com/influxdata/kapacitor.(_BatchNode).Start.func1(0xc82026e690)
/gopath/src/github.com/influxdata/kapacitor/batch.go:184 +0x21
created by github.com/influxdata/kapacitor.(_BatchNode).Start
/gopath/src/github.com/influxdata/kapacitor/batch.go:185 +0xd3

goroutine 166 [chan receive]:
github.com/influxdata/kapacitor.(_node).Err(0xc8205b58c0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/node.go:117 +0xc6
github.com/influxdata/kapacitor.(_ExecutingTask).Err.func1(0x7fe32983c1d0, 0xc8205b58c0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/task.go:267 +0x33
github.com/influxdata/kapacitor.(_ExecutingTask).rwalk(0xc820608cb0, 0xd919f0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/task.go:112 +0x91
github.com/influxdata/kapacitor.(_ExecutingTask).Err(0xc820608cb0, 0x0, 0x0)
/gopath/src/github.com/influxdata/kapacitor/task.go:268 +0x39
github.com/influxdata/kapacitor/services/task_store.(_Service).StartTask.func1(0xc820608cb0, 0xc8201386c0, 0xc820349a00)
/gopath/src/github.com/influxdata/kapacitor/services/task_store/service.go:626 +0x30
created by github.com/influxdata/kapacitor/services/task_store.(_Service).StartTask
/gopath/src/github.com/influxdata/kapacitor/services/task_store/service.go:638 +0x224

@nhproject
Copy link
Author

Here is my task:

var warnThreshold=80
var critThreshold=85

var msg = '...'

var data = batch
// Get The CPU Idle Value In Percents
.query('''
SELECT mean("value")
FROM DB_NAME.RET_POLICY.cpu_usage_idle
WHERE "cpu" = 'cpu-total'
''')
// Window size is 5 minutes, update the window every 10 seconds
.period(5m)
.every(10s)
// Group The Values By 5-min time interval and by host
.groupBy(time(5m),'host')
// Calculate the used value
.eval(lambda: 100.0 - "mean")
.as('value')

var data1 = data.where(lambda: "host" == 'host1')

var data2 = data.where(lambda: "host" != 'host1')

data1
.alert()
.message(msg)
.crit(lambda: "value" > critThreshold)
.warn(lambda: "value" > warnThreshold)
.stateChangesOnly()
// Slack Notification
.slack()
.channel('#CHANNEL1')

data2
.alert()
.message(msg)
.crit(lambda: "value" > critThreshold)
.warn(lambda: "value" > warnThreshold)
.stateChangesOnly()
// Slack Notification
.slack()
.channel('#CHANNEL2')

@nathanielc
Copy link
Contributor

@nhproject Can you try again? I fixed some issues with the where node.

@nhproject
Copy link
Author

I installed the nightly debian - works good.
Thanks Nat!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants