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…
Thanks
             
            
              
            
           
          
            
              
                ilyam8  
              
                  
                    July 7, 2021, 12:28pm
                   
                  13 
               
             
            
              Hi.
Before: use user python.d.conf if exists, otherwise use stock.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