Exclude Cgroup from alert
I’d like to exclude all cgroups that start with
abc*from the cgroup ram in use alert.
the telegram alert comes in like this
hosts: !abc* * hosts: !cgroup_abc* *
but it doesn’t stop the alerts from coming in (yes I did restart netdata after the config change)
The hosts label is used to filter to which machine hostnames this alarm should run on. I think what you want is to define a
template, define the context
mem_usageand then define the
familiesfor which this context should run against.
template: apache_last_collected_secs on: cgroup.mem_usage_limit families: !abc* * ...
Please do tell me if my suggestion worked! We work towards improving our story around alarms
can I use the hostname of the LXC container? That’s easier than creating a template
No, I don’t think that that’s possible. In general, when we refer to hostnames, we mean that of the host (when netdata runs on).
when we refer to hostnames, we mean that of the host (when netdata runs on)
this clarifies why it won’t work. thanks!
Hello @Eddie ,
An additional information to help you with alarms, every time that you want to change an alarm, you can check the available variables for a chart doing a request like this :
curl -o uptime.json https://localhost:19999/api/v1/alarm_variables?chart=apps.uptime
the last command will store inside
uptime.jsonall variables used with the chart
This post is deleted!
Eddie last edited by Eddie
This is good info to look at an understand what is going in general, thanks @thiago-marques-0. but is this meant to help me with exactly building the template?
@odyslam, is the code above complete? where would i drop the template file? does it get picked up automatically after a restart?
thank you both
PS: whatever forum system you guys use here congrats, the code stylesheet is awesome!
Hello @Eddie ,
Firstly I have to apologize you, I was busy with other PR.
I will give examples for you and if I am not clear, please, let me know and also you can read more details about simple pattern here.
For the first example you used:
bash-5.0# netdata -W simple-pattern '!abc *' 'abc' RESULT: NOT MATCHED - pattern '!abc *' does not match 'abc', wildcarded '' bash-5.0# netdata -W simple-pattern '!abc *' 'cde' RESULT: MATCHED - pattern '!abc *' matches 'cde', wildcarded ''
As you can see Netdata will never match nothing with
abc, but will match other texts. The same thing will happen with
bash-5.0# netdata -W simple-pattern '!cgroup_abc *' 'abc' RESULT: MATCHED - pattern '!cgroup_abc *' matches 'abc', wildcarded '' bash-5.0# netdata -W simple-pattern '!cgroup_abc *' 'cgroup_abc' RESULT: NOT MATCHED - pattern '!cgroup_abc *' does not match 'cgroup_abc', wildcarded ''
Please, pay attention for the fact if two
hostsare given to template, only the last will be used, because it overwrites the first.
you can identify the names used by netdata running
You can store all your
/etc/netdata/health.d. They will never be discarded after the restart, instead, when you store them in the directory, it will be loaded every time you restart Netdata.
Finally you can build a template, you can use this example:
template: dev_dim_template on: system.cpu os: linux lookup: sum -3s at 0 every 3 percentage foreach system,user,nice units: % every: 1s warn: $this > 1 crit: $this > 4 hosts: !abc *
This is a modified example that we have inside Netdata tests directory.
This example applies an alarm to all hosts that are not named
abcon charts with context
thanks, Thiago (or should say obrigado?). i just added
families: !abc* *below hosts and it seems to have done the trick for this time.
but i will get into your instructions to learn some more.
Well @Eddie , about “(or should say obrigado?)”, be free to use the language you prefer.
I am glad that we could help you, please, let us know if you need any other information.