Sagar Mehta
2018-04-02 22:12:12 UTC
Hello,
I want to send alert email that indicates what environment I am in. I would
like to use variable in html template.
From the description of details node I found I can access variable using
Tags or Fields. Now I set the variable in tags using default() .
tag(<string>,<string>) variable. I am able to access the variable in alert
Node but not in the deadman node. Can anyone help me with that?
Below is my working tickscript
dbrp "telegraf"."autogen"
var info=70
var warn =80
var crit =10
var period =20s
var every =20s
var landscape= 'Sandbox'
var data=stream
|from()
.measurement('cpu')
.groupBy('host')
.where(lambda: "cpu" == 'cpu-total' AND isPresent("usage_idle") )
data
|eval(lambda:100.0 - "usage_idle")
.as('used')
|window()
.period(period)
.every(every)
|mean('used')
.as('stat')
|default()
.tag('landscapeTag',landscape)
|log()
|alert()
.warn(lambda: "stat" > warn)
.crit(lambda: "stat" > crit)
.id('{{ index .Tags "host" }}')
.message('Landscape - {{index .Tags "landscapeTag"}} :: HOST -
{{.ID}} :: CPU USAGE is at {{.Level}} level.')
.details('''
<h2>CPU USAGE ALERT </h2>
<div>HOST - {{.ID}} </br>
Landscape - {{index .Tags "landscapeTag"}} </br>
CPU USAGE is <b> {{ index .Fields "stat"}} </b> which is at <b>
{{.Level}} </b> level.</div>
''')
.stateChangesOnly(5m)
// Send alerts to the `cpu` topic
.topic('cpu')
----------Output: alert in email --------
CPU USAGE ALERT
HOST - ip-172-31-87-132
Landscape - Sandbox
CPU USAGE is *0.7000000006519258 *which is at *OK *level.
Below is not working tickscript:
dbrp "telegraf"."autogen"
var threshold = 1.0
var interval =30s
var landscape= 'Sandbox'
var data=stream
|from()
.measurement('cpu')
.groupBy('host')
.where(lambda: "cpu" == 'cpu-total' AND isPresent("usage_idle") )
data
|default()
.tag('xyz',landscape)
|log()
var log = data
|deadman(threshold,interval)
.id('{{ index .Tags "host" }}')
.message('Landscape - {{ index .Tags "xyz" }} :: Host - {{ .ID }}
:: Telegraf Agent is {{ if eq .Level "OK" }}ONLINE {{ else }}OFFLINE{{ end
}} ')
.details('''
<h2>TELEGRAF AGENT STATUS ALERT </h2>
Landscape - {{ index .Tags "xyz" }}
</br>Telegraf Agent on HOST: <b> {{.ID}} </b>
</br> <b>
{{ if eq .Level "OK" }} Info: Telegraf available {{ else }} Error:
Telegraf disabled or defective. {{ end }} </b>
</div>
''')
.topic('cpu')
.log('/var/log/kapacitor/alerts.log')
// .stateChangesOnly(2m)
------------Output : alert in email--------
TELEGRAF AGENT STATUS ALERT Landscape -
Telegraf Agent on HOST: *ip-172-31-87-132 *
*Error: Telegraf disabled or defective.*
Kindly let me know if you need more clarification. Thank You!
Regards,
Sagar Mehta
I want to send alert email that indicates what environment I am in. I would
like to use variable in html template.
From the description of details node I found I can access variable using
Tags or Fields. Now I set the variable in tags using default() .
tag(<string>,<string>) variable. I am able to access the variable in alert
Node but not in the deadman node. Can anyone help me with that?
Below is my working tickscript
dbrp "telegraf"."autogen"
var info=70
var warn =80
var crit =10
var period =20s
var every =20s
var landscape= 'Sandbox'
var data=stream
|from()
.measurement('cpu')
.groupBy('host')
.where(lambda: "cpu" == 'cpu-total' AND isPresent("usage_idle") )
data
|eval(lambda:100.0 - "usage_idle")
.as('used')
|window()
.period(period)
.every(every)
|mean('used')
.as('stat')
|default()
.tag('landscapeTag',landscape)
|log()
|alert()
.warn(lambda: "stat" > warn)
.crit(lambda: "stat" > crit)
.id('{{ index .Tags "host" }}')
.message('Landscape - {{index .Tags "landscapeTag"}} :: HOST -
{{.ID}} :: CPU USAGE is at {{.Level}} level.')
.details('''
<h2>CPU USAGE ALERT </h2>
<div>HOST - {{.ID}} </br>
Landscape - {{index .Tags "landscapeTag"}} </br>
CPU USAGE is <b> {{ index .Fields "stat"}} </b> which is at <b>
{{.Level}} </b> level.</div>
''')
.stateChangesOnly(5m)
// Send alerts to the `cpu` topic
.topic('cpu')
----------Output: alert in email --------
CPU USAGE ALERT
HOST - ip-172-31-87-132
Landscape - Sandbox
CPU USAGE is *0.7000000006519258 *which is at *OK *level.
Below is not working tickscript:
dbrp "telegraf"."autogen"
var threshold = 1.0
var interval =30s
var landscape= 'Sandbox'
var data=stream
|from()
.measurement('cpu')
.groupBy('host')
.where(lambda: "cpu" == 'cpu-total' AND isPresent("usage_idle") )
data
|default()
.tag('xyz',landscape)
|log()
var log = data
|deadman(threshold,interval)
.id('{{ index .Tags "host" }}')
.message('Landscape - {{ index .Tags "xyz" }} :: Host - {{ .ID }}
:: Telegraf Agent is {{ if eq .Level "OK" }}ONLINE {{ else }}OFFLINE{{ end
}} ')
.details('''
<h2>TELEGRAF AGENT STATUS ALERT </h2>
Landscape - {{ index .Tags "xyz" }}
</br>Telegraf Agent on HOST: <b> {{.ID}} </b>
</br> <b>
{{ if eq .Level "OK" }} Info: Telegraf available {{ else }} Error:
Telegraf disabled or defective. {{ end }} </b>
</div>
''')
.topic('cpu')
.log('/var/log/kapacitor/alerts.log')
// .stateChangesOnly(2m)
------------Output : alert in email--------
TELEGRAF AGENT STATUS ALERT Landscape -
Telegraf Agent on HOST: *ip-172-31-87-132 *
*Error: Telegraf disabled or defective.*
Kindly let me know if you need more clarification. Thank You!
Regards,
Sagar Mehta
--
Remember to include the version number!
---
You received this message because you are subscribed to the Google Groups "InfluxData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to influxdb+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/influxdb.
To view this discussion on the web visit https://groups.google.com/d/msgid/influxdb/CACf-h4RBzzg0Geh4hPwfH-xVEyMukcMtU4--57gKS0NFuOHn0A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Remember to include the version number!
---
You received this message because you are subscribed to the Google Groups "InfluxData" group.
To unsubscribe from this group and stop receiving emails from it, send an email to influxdb+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/influxdb.
To view this discussion on the web visit https://groups.google.com/d/msgid/influxdb/CACf-h4RBzzg0Geh4hPwfH-xVEyMukcMtU4--57gKS0NFuOHn0A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.