Really poor title... Sorry

On Friday, 27 January 2017 10:36:41 UTC-5, Kristopher Cieplak wrote:
>
> I have a tick task that monitors memory usage by host. 
>
> If said tick script groups by the "host" tag, then then creates a window, 
> alert chain.
>
> My understanding is that it will create a unique chain for each "host".
>
> -Will that chain remain in existence forever? I.e. hosts come and go and 
> are named dynamically.
> -Will I have memory and threading issues, when I have 20K hosts?
> -Is there a better way to handle this.
>
> Tick script is as follows:
>
> //This task will check to see if the average memory usage is above a 
> threshold for a period of 2 minute,
> //indicating that a host has memory issues.
>
> var data = stream
>     |from()
>         .database(database)
>         .retentionPolicy(retention_policy)
>         .measurement('mem')
>         .groupBy('host')
>     |where(lambda: "deployment" == deployment)
>     //|log() //Uncomment to debug
>
> //Criteria Check
> data
>     |window()
>         .period(memory_used_window_period)
>         .every(memory_used_window_every)
>     |mean('used_percent')
>         .as('_value')
>     //Slack
>     |alert()
>         .stateChangesOnly()
>         .message('\'{{.TaskName}}\' --> \'{{ .Level }}\'
>             Host \'{{ index .Tags "host" }}\'
>             Used memory percentage is at {{ index .Fields "_value" | 
> printf "%0.2f" }}% -- Expecting < {{ if eq .Level "CRITICAL" }}' + 
> string(memory_used_critical_level) + '{{ else }}' + 
> string(memory_used_warn_level) + '{{ end }}%')
>         .warn(lambda: "_value" > memory_used_warn_level)
>         .crit(lambda: "_value" > memory_used_critical_level)
>         .slack()
>           .channel(slack_channel)
>
>     //OpsGenie
>     |alert()
>         .stateChangesOnly()
>         .message('\'{{.TaskName}}\' --> \'{{ .Level }}\'
>             Host \'{{ index .Tags "host" }}\'
>             Used memory percentage is at {{ index .Fields "_value" | 
> printf "%0.2f" }}% -- Expecting < {{ if eq .Level "CRITICAL" }}' + 
> string(memory_used_critical_level) + '{{ else }}' + 
> string(memory_used_warn_level) + '{{ end }}%')
>         .crit(lambda: "_value" > memory_used_critical_level AND callout == 
> TRUE)
>         .slack()
>           .channel(slack_channel)
>         .opsGenie()
>              .teams(opsgenie_team)
>              .recipients([ opsgenie_recipients ])
>
>

-- 
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+unsubscr...@googlegroups.com.
To post to this group, send email to influxdb@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/a70dc917-8960-46ad-8283-9808d600480e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to