Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var db = 'progettogr'
- var rp = 'autogen'
- var measurement = 'dns_table'
- var groupBy = ['IPv4']
- var whereFilter = lambda: isPresent("alert")
- var name = 'dns wrong reponses'
- var idVar = name + '-{{.Group}}'
- var message = 'Host {{ index .Tags "IPv4" }} received {{ index .Fields "count" }} ({{ index .Fields "threshold" }}) DNS wrong responses: {{.Level}}'
- var idTag = 'alertID'
- var levelTag = 'level'
- var messageField = 'message'
- var durationField = 'duration'
- var outputDB = 'chronograf'
- var outputRP = 'autogen'
- var outputMeasurement = 'alerts'
- var triggerType = 'threshold'
- var crit = 1
- var data = stream
- |from()
- .database(db)
- .retentionPolicy(rp)
- .measurement(measurement)
- .groupBy(groupBy)
- .where(whereFilter)
- |eval(lambda: "alert")
- .as('value')
- var trigger = data
- |alert()
- .crit(lambda: "value" == crit)
- .message(message)
- .id(idVar)
- .idTag(idTag)
- .levelTag(levelTag)
- .messageField(messageField)
- .durationField(durationField)
- .telegram()
- .chatId('659170882')
- .parseMode('Markdown')
- trigger
- |eval(lambda: float("value"))
- .as('value')
- .keep('value')
- |influxDBOut()
- .create()
- .database(outputDB)
- .retentionPolicy(outputRP)
- .measurement(outputMeasurement)
- .tag('alertName', name)
- .tag('triggerType', triggerType)
- trigger
- |httpOut('output')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement