k0ste
February 28, 2021, 9:53am
1
Hi,
Currently netdata support to define ‘local’ settings, this settings redefine builtin (comes with package settings) settings.
But if I need on
or off
the whole plugin, I should write to python.d.conf
file, and with next netdata release my defaults in present ‘present’ state, not ‘latest’.
May be possible for some python.d.conf.local
file or on
/off
from conf.d/python.d/module.conf
ilyam8
February 28, 2021, 6:06pm
2
Hi @k0ste
But if I need on
or off
the whole plugin
You can set it in the netdata.conf
([plugins]
section).
and with next netdata release my defaults in present ‘present’ state, not ‘latest’.
I am not sure i understand it. Can you give an example or rephrase?
k0ste
March 1, 2021, 7:24am
3
Can you paste a example? For example for ‘samba’ plugin, I think is that I looking for.
ilyam8
March 1, 2021, 9:13am
4
Oh, indeed, i misunderstood you. There is always a confusion between plugin/plugin module.
No, you can’t disable specific python plugin module (e.g. samba
) in the netdata.conf
. You are correct, the only place where you can do it is python.d.conf
.
k0ste
March 1, 2021, 9:48am
5
Now you should understood, when I make changes in python.d.conf - I will be outdated about this file changes in upstream. New python.d.conf
will be python.d.conf.{pacnew, rpmnew}
, etc…
k0ste
March 2, 2021, 8:07pm
6
@ilyam8 this conversation enough for feature request?
ilyam8
March 3, 2021, 12:48pm
7
I am still not quite sure about the value
I will be outdated about this file changes in upstream
Yes, indeed. But why is that a problem? Can you provide a specific example/your case?
That is how it works for all the configs - actual version (upstream) is in the configurations stock dir.
k0ste
March 3, 2021, 1:19pm
8
Yes, indeed. But why is that a problem? Can you provide a specific example/your case?
For example:
new feature (plugin) is enabled - I miss it
some plugin turned off from on (due bugs, or another changes) - in my configuration is still enabled
That is how it works for all the configs - actual version (upstream) is in the configurations stock dir.
Yes, and I wan’t to just override some configuration keys. Locally.
Super example:
installed netdata 1.1
explicity turned on some_plugin in pytond.d.conf
in netdata 1.1 found regression in some_plugin
netdata 1.2 release disable or remove some_plugin
update 1.1 package to netdata 1.2
result: installation try enable some_plugin
that disabled or removed on upstream
ilyam8
March 17, 2021, 10:13am
9
k0ste:
Super example:
installed netdata 1.1
explicity turned on some_plugin in pytond.d.conf
in netdata 1.1 found regression in some_plugin
netdata 1.2 release disable or remove some_plugin
update 1.1 package to netdata 1.2
On the other hand, if you have them enabled, then you should have them. User config > stock config.
Yes, and I wan’t to just override some configuration keys. Locally.
The sequence above would result the same if you have some configuration keys overriden (you have it enabled).
If there is some serious bug discovered in a collector we can temporary disable the collector in the python.d.plugin
That is what happened with python sslcheck
collector at some point, see
def available_modules():
obsolete = (
'apache_cache', # replaced by web_log
'cpuidle', # rewritten in C
'cpufreq', # rewritten in C
'gunicorn_log', # replaced by web_log
'linux_power_supply', # rewritten in C
'nginx_log', # replaced by web_log
'mdstat', # rewritten in C
'sslcheck', # rewritten in Go, memory leak bug https://github.com/netdata/netdata/issues/5624
'unbound', # rewritten in Go
)
files = sorted(os.listdir(DIRS.modules))
modules = [m[:-len(MODULE_SUFFIX)] for m in files if m.endswith(MODULE_SUFFIX)]
avail = [m for m in modules if m not in obsolete]
return tuple(avail)
AVAILABLE_MODULES = available_modules()
ilyam8
March 17, 2021, 10:19am
10
I see what you mean and it makes sense for me. Current pattern is to overwrite the whole file. There are plans to improve configuration management in general. However, from what i know, the way we want to do it is not refined.
ilyam8
May 25, 2021, 7:01pm
11
Very related discussion Override config files
Implemented for python.d.plugin in PR#11217
k0ste
July 7, 2021, 11:38am
12
Sorry for late reply…
Where I should place my override plugins on/off file?
In what netdata release this feature landed?
Thanks
ilyam8
July 7, 2021, 12:28pm
13
Hi.
Before: use user python.d.conf
if exists, otherwise use stock.
Now: merge user python.d.conf
into stock (use user to override stock ).
The change in the master, not in the latest stable (v1.31.0).
1 Like