Browse Source

allow netdata to be easily relocatable

Costa Tsaousis (ktsaou) 8 years ago
parent
commit
577dbe9449
10 changed files with 118 additions and 90 deletions
  1. 36 35
      CMakeLists.txt
  2. 17 17
      src/apps_plugin.c
  3. 11 3
      src/common.c
  4. 9 1
      src/common.h
  5. 4 4
      src/daemon.c
  6. 7 9
      src/health.c
  7. 1 1
      src/ipc.c
  8. 31 18
      src/main.c
  9. 1 1
      src/plugin_proc.c
  10. 1 1
      src/plugin_tc.c

+ 36 - 35
CMakeLists.txt

@@ -10,6 +10,8 @@ find_package (Threads)
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wformat-signedness -Werror=format-security -DNETDATA_INTERNAL_CHECKS=1")
 
 set(NETDATA_SOURCE_FILES
+        src/adaptive_resortable_list.c
+        src/adaptive_resortable_list.h
         src/appconfig.c
         src/appconfig.h
         src/avl.c
@@ -30,29 +32,37 @@ set(NETDATA_SOURCE_FILES
         src/global_statistics.h
         src/health.c
         src/health.h
+        src/inlined.h
         src/ipc.c
         src/ipc.h
         src/log.c
         src/log.h
+        src/macos_fw.c
+        src/macos_mach_smi.c
+        src/macos_sysctl.c
         src/main.c
         src/main.h
         src/plugin_checks.c
         src/plugin_checks.h
+        src/plugin_freebsd.c
+        src/plugin_freebsd.h
         src/plugin_idlejitter.c
         src/plugin_idlejitter.h
+        src/plugin_macos.c
+        src/plugin_macos.h
         src/plugin_nfacct.c
         src/plugin_nfacct.h
         src/plugin_proc.c
         src/plugin_proc.h
-        src/plugins_d.c
-        src/plugins_d.h
+        src/plugin_proc_diskspace.c
+        src/plugin_proc_diskspace.h
         src/plugin_tc.c
         src/plugin_tc.h
+        src/plugins_d.c
+        src/plugins_d.h
         src/popen.c
         src/popen.h
         src/proc_diskstats.c
-        src/procfile.c
-        src/procfile.h
         src/proc_interrupts.c
         src/proc_loadavg.c
         src/proc_meminfo.c
@@ -61,8 +71,8 @@ set(NETDATA_SOURCE_FILES
         src/proc_net_netstat.c
         src/proc_net_rpc_nfs.c
         src/proc_net_rpc_nfsd.c
-        src/proc_net_snmp6.c
         src/proc_net_snmp.c
+        src/proc_net_snmp6.c
         src/proc_net_softnet_stat.c
         src/proc_net_stat_conntrack.c
         src/proc_net_stat_synproxy.c
@@ -71,15 +81,34 @@ set(NETDATA_SOURCE_FILES
         src/proc_softirqs.c
         src/proc_stat.c
         src/proc_sys_kernel_random_entropy_avail.c
+        src/proc_uptime.c
         src/proc_vmstat.c
+        src/procfile.c
+        src/procfile.h
         src/registry.c
         src/registry.h
-        src/rrd2json.c
-        src/rrd2json.h
+        src/registry_db.c
+        src/registry_init.c
+        src/registry_internals.c
+        src/registry_internals.h
+        src/registry_log.c
+        src/registry_machine.c
+        src/registry_machine.h
+        src/registry_person.c
+        src/registry_person.h
+        src/registry_url.c
+        src/registry_url.h
         src/rrd.c
         src/rrd.h
+        src/rrd2json.c
+        src/rrd2json.h
+        src/simple_pattern.c
+        src/simple_pattern.h
+        src/socket.c src/socket.h
         src/storage_number.c
         src/storage_number.h
+        src/sys_devices_system_edac_mc.c
+        src/sys_devices_system_node.c
         src/sys_fs_cgroup.c
         src/sys_kernel_mm_ksm.c
         src/unit_test.c
@@ -94,34 +123,6 @@ set(NETDATA_SOURCE_FILES
         src/web_client.h
         src/web_server.c
         src/web_server.h
-        src/socket.c src/socket.h
-        src/registry_url.c
-        src/registry_url.h
-        src/registry_internals.h
-        src/registry_person.c
-        src/registry_person.h
-        src/registry_machine.c
-        src/registry_machine.h
-        src/registry_internals.c
-        src/registry_init.c
-        src/registry_db.c
-        src/registry_log.c
-        src/proc_uptime.c
-        src/sys_devices_system_edac_mc.c
-        src/plugin_proc_diskspace.c
-        src/plugin_proc_diskspace.h
-        src/simple_pattern.c
-        src/simple_pattern.h
-        src/inlined.h
-        src/adaptive_resortable_list.h
-        src/adaptive_resortable_list.c
-        src/plugin_freebsd.c
-        src/plugin_freebsd.h
-        src/macos_fw.c
-        src/macos_mach_smi.c
-        src/macos_sysctl.c
-        src/plugin_macos.c
-        src/plugin_macos.h
         )
 
 set(APPS_PLUGIN_SOURCE_FILES

+ 17 - 17
src/apps_plugin.c

@@ -687,19 +687,19 @@ static inline int managed_log(struct pid_stat *p, uint32_t log, int status) {
                 p->log_thrown |= log;
                 switch(log) {
                     case PID_LOG_IO:
-                        error("Cannot process %s/proc/%d/io (command '%s')", global_host_prefix, p->pid, p->comm);
+                        error("Cannot process %s/proc/%d/io (command '%s')", netdata_configured_host_prefix, p->pid, p->comm);
                         break;
 
                     case PID_LOG_STATM:
-                        error("Cannot process %s/proc/%d/statm (command '%s')", global_host_prefix, p->pid, p->comm);
+                        error("Cannot process %s/proc/%d/statm (command '%s')", netdata_configured_host_prefix, p->pid, p->comm);
                         break;
 
                     case PID_LOG_CMDLINE:
-                        error("Cannot process %s/proc/%d/cmdline (command '%s')", global_host_prefix, p->pid, p->comm);
+                        error("Cannot process %s/proc/%d/cmdline (command '%s')", netdata_configured_host_prefix, p->pid, p->comm);
                         break;
 
                     case PID_LOG_FDS:
-                        error("Cannot process entries in %s/proc/%d/fd (command '%s')", global_host_prefix, p->pid, p->comm);
+                        error("Cannot process entries in %s/proc/%d/fd (command '%s')", netdata_configured_host_prefix, p->pid, p->comm);
                         break;
 
                     case PID_LOG_STAT:
@@ -760,7 +760,7 @@ static inline int read_proc_pid_cmdline(struct pid_stat *p) {
 
     if(unlikely(!p->cmdline_filename)) {
         char filename[FILENAME_MAX + 1];
-        snprintfz(filename, FILENAME_MAX, "%s/proc/%d/cmdline", global_host_prefix, p->pid);
+        snprintfz(filename, FILENAME_MAX, "%s/proc/%d/cmdline", netdata_configured_host_prefix, p->pid);
         p->cmdline_filename = strdupz(filename);
     }
 
@@ -813,7 +813,7 @@ static inline int read_proc_pid_stat(struct pid_stat *p) {
 
     if(unlikely(!p->stat_filename)) {
         char filename[FILENAME_MAX + 1];
-        snprintfz(filename, FILENAME_MAX, "%s/proc/%d/stat", global_host_prefix, p->pid);
+        snprintfz(filename, FILENAME_MAX, "%s/proc/%d/stat", netdata_configured_host_prefix, p->pid);
         p->stat_filename = strdupz(filename);
     }
 
@@ -935,7 +935,7 @@ static inline int read_proc_pid_stat(struct pid_stat *p) {
     }
 
     if(unlikely(debug || (p->target && p->target->debug)))
-        fprintf(stderr, "apps.plugin: READ PROC/PID/STAT: %s/proc/%d/stat, process: '%s' on target '%s' (dt=%llu) VALUES: utime=" KERNEL_UINT_FORMAT ", stime=" KERNEL_UINT_FORMAT ", cutime=" KERNEL_UINT_FORMAT ", cstime=" KERNEL_UINT_FORMAT ", minflt=" KERNEL_UINT_FORMAT ", majflt=" KERNEL_UINT_FORMAT ", cminflt=" KERNEL_UINT_FORMAT ", cmajflt=" KERNEL_UINT_FORMAT ", threads=%d\n", global_host_prefix, p->pid, p->comm, (p->target)?p->target->name:"UNSET", p->stat_collected_usec - p->last_stat_collected_usec, p->utime, p->stime, p->cutime, p->cstime, p->minflt, p->majflt, p->cminflt, p->cmajflt, p->num_threads);
+        fprintf(stderr, "apps.plugin: READ PROC/PID/STAT: %s/proc/%d/stat, process: '%s' on target '%s' (dt=%llu) VALUES: utime=" KERNEL_UINT_FORMAT ", stime=" KERNEL_UINT_FORMAT ", cutime=" KERNEL_UINT_FORMAT ", cstime=" KERNEL_UINT_FORMAT ", minflt=" KERNEL_UINT_FORMAT ", majflt=" KERNEL_UINT_FORMAT ", cminflt=" KERNEL_UINT_FORMAT ", cmajflt=" KERNEL_UINT_FORMAT ", threads=%d\n", netdata_configured_host_prefix, p->pid, p->comm, (p->target)?p->target->name:"UNSET", p->stat_collected_usec - p->last_stat_collected_usec, p->utime, p->stime, p->cutime, p->cstime, p->minflt, p->majflt, p->cminflt, p->cmajflt, p->num_threads);
 
     if(unlikely(global_iterations_counter == 1)) {
         p->minflt           = 0;
@@ -973,7 +973,7 @@ static inline int read_proc_pid_statm(struct pid_stat *p) {
 
     if(unlikely(!p->statm_filename)) {
         char filename[FILENAME_MAX + 1];
-        snprintfz(filename, FILENAME_MAX, "%s/proc/%d/statm", global_host_prefix, p->pid);
+        snprintfz(filename, FILENAME_MAX, "%s/proc/%d/statm", netdata_configured_host_prefix, p->pid);
         p->statm_filename = strdupz(filename);
     }
 
@@ -1011,7 +1011,7 @@ static inline int read_proc_pid_io(struct pid_stat *p) {
 
     if(unlikely(!p->io_filename)) {
         char filename[FILENAME_MAX + 1];
-        snprintfz(filename, FILENAME_MAX, "%s/proc/%d/io", global_host_prefix, p->pid);
+        snprintfz(filename, FILENAME_MAX, "%s/proc/%d/io", netdata_configured_host_prefix, p->pid);
         p->io_filename = strdupz(filename);
     }
 
@@ -1087,7 +1087,7 @@ static inline int read_proc_stat() {
     static usec_t collected_usec = 0, last_collected_usec = 0;
 
     if(unlikely(!ff)) {
-        snprintfz(filename, FILENAME_MAX, "%s/proc/stat", global_host_prefix);
+        snprintfz(filename, FILENAME_MAX, "%s/proc/stat", netdata_configured_host_prefix);
         ff = procfile_open(filename, " \t:", PROCFILE_FLAG_DEFAULT);
         if(unlikely(!ff)) goto cleanup;
     }
@@ -1406,7 +1406,7 @@ static inline void zero_pid_fds(struct pid_stat *p, int first, int size) {
 static inline int read_pid_file_descriptors(struct pid_stat *p) {
     if(unlikely(!p->fds_dirname)) {
         char dirname[FILENAME_MAX+1];
-        snprintfz(dirname, FILENAME_MAX, "%s/proc/%d/fd", global_host_prefix, p->pid);
+        snprintfz(dirname, FILENAME_MAX, "%s/proc/%d/fd", netdata_configured_host_prefix, p->pid);
         p->fds_dirname = strdupz(dirname);
     }
 
@@ -1449,7 +1449,7 @@ static inline int read_pid_file_descriptors(struct pid_stat *p) {
         if(unlikely(p->fds[fdid] == 0)) {
             // we don't know this fd, get it
 
-            sprintf(fdname, "%s/proc/%d/fd/%s", global_host_prefix, p->pid, de->d_name);
+            sprintf(fdname, "%s/proc/%d/fd/%s", netdata_configured_host_prefix, p->pid, de->d_name);
             ssize_t l = readlink(fdname, linkname, FILENAME_MAX);
             if(unlikely(l == -1)) {
                 if(debug || (p->target && p->target->debug)) {
@@ -1886,7 +1886,7 @@ static int collect_data_for_all_processes(void) {
 
     char dirname[FILENAME_MAX + 1];
 
-    snprintfz(dirname, FILENAME_MAX, "%s/proc", global_host_prefix);
+    snprintfz(dirname, FILENAME_MAX, "%s/proc", netdata_configured_host_prefix);
     DIR *dir = opendir(dirname);
     if(!dir) return 0;
 
@@ -3090,12 +3090,12 @@ int main(int argc, char **argv) {
     error_log_errors_per_period = 100;
     error_log_throttle_period = 3600;
 
-    global_host_prefix = getenv("NETDATA_HOST_PREFIX");
-    if(global_host_prefix == NULL) {
+    netdata_configured_host_prefix = getenv("NETDATA_HOST_PREFIX");
+    if(netdata_configured_host_prefix == NULL) {
         // info("NETDATA_HOST_PREFIX is not passed from netdata");
-        global_host_prefix = "";
+        netdata_configured_host_prefix = "";
     }
-    // else info("Found NETDATA_HOST_PREFIX='%s'", global_host_prefix);
+    // else info("Found NETDATA_HOST_PREFIX='%s'", netdata_configured_host_prefix);
 
     config_dir = getenv("NETDATA_CONFIG_DIR");
     if(config_dir == NULL) {

+ 11 - 3
src/common.c

@@ -8,7 +8,15 @@
 #    define MADV_DONTFORK INHERIT_NONE
 #endif /* __FreeBSD__ || __APPLE__*/
 
-char *global_host_prefix = "";
+char *netdata_configured_config_dir  = NULL;
+char *netdata_configured_log_dir     = NULL;
+char *netdata_configured_plugins_dir = NULL;
+char *netdata_configured_web_dir     = NULL;
+char *netdata_configured_cache_dir   = NULL;
+char *netdata_configured_varlib_dir  = NULL;
+char *netdata_configured_home_dir    = NULL;
+char *netdata_configured_host_prefix = NULL;
+
 int enable_ksm = 1;
 
 volatile sig_atomic_t netdata_exit = 0;
@@ -1115,7 +1123,7 @@ long get_system_cpus(void) {
     #else
 
     char filename[FILENAME_MAX + 1];
-    snprintfz(filename, FILENAME_MAX, "%s/proc/stat", global_host_prefix);
+    snprintfz(filename, FILENAME_MAX, "%s/proc/stat", netdata_configured_host_prefix);
 
     procfile *ff = procfile_open(filename, NULL, PROCFILE_FLAG_DEFAULT);
     if(!ff) {
@@ -1172,7 +1180,7 @@ pid_t get_system_pid_max(void) {
     read = 1;
 
     char filename[FILENAME_MAX + 1];
-    snprintfz(filename, FILENAME_MAX, "%s/proc/sys/kernel/pid_max", global_host_prefix);
+    snprintfz(filename, FILENAME_MAX, "%s/proc/sys/kernel/pid_max", netdata_configured_host_prefix);
 
     unsigned long long max = 0;
     if(read_single_number_file(filename, &max) != 0) {

+ 9 - 1
src/common.h

@@ -217,6 +217,15 @@
 #include "inlined.h"
 #include "adaptive_resortable_list.h"
 
+extern char *netdata_configured_config_dir;
+extern char *netdata_configured_log_dir;
+extern char *netdata_configured_plugins_dir;
+extern char *netdata_configured_web_dir;
+extern char *netdata_configured_cache_dir;
+extern char *netdata_configured_varlib_dir;
+extern char *netdata_configured_home_dir;
+extern char *netdata_configured_host_prefix;
+
 extern void netdata_fix_chart_id(char *s);
 extern void netdata_fix_chart_name(char *s);
 
@@ -255,7 +264,6 @@ extern int savememory(const char *filename, void *mem, size_t size);
 
 extern int fd_is_valid(int fd);
 
-extern char *global_host_prefix;
 extern int enable_ksm;
 
 extern pid_t gettid(void);

+ 4 - 4
src/daemon.c

@@ -84,8 +84,8 @@ int become_user(const char *username, int pid_fd)
     uid_t uid = pw->pw_uid;
     gid_t gid = pw->pw_gid;
 
-    create_needed_dir(CACHE_DIR, uid, gid);
-    create_needed_dir(VARLIB_DIR, uid, gid);
+    create_needed_dir(netdata_configured_cache_dir, uid, gid);
+    create_needed_dir(netdata_configured_varlib_dir, uid, gid);
 
     if(pidfile[0]) {
         if(chown(pidfile, uid, gid) == -1)
@@ -360,8 +360,8 @@ int become_daemon(int dont_fork, const char *user)
         else debug(D_SYSTEM, "Successfully became user '%s'.", user);
     }
     else {
-        create_needed_dir(CACHE_DIR, getuid(), getgid());
-        create_needed_dir(VARLIB_DIR, getuid(), getgid());
+        create_needed_dir(netdata_configured_cache_dir, getuid(), getgid());
+        create_needed_dir(netdata_configured_varlib_dir, getuid(), getgid());
     }
 
     if(pidfd != -1)

+ 7 - 9
src/health.c

@@ -11,9 +11,9 @@ struct health_options {
 };
 
 static struct health_options health = {
-    .health_default_exec = PLUGINS_DIR "/alarm-notify.sh",
+    .health_default_exec = NULL,
     .health_default_recipient = "root",
-    .log_filename = VARLIB_DIR "/health/alarm_log.db",
+    .log_filename = NULL,
     .log_entries_written = 0,
     .log_fp = NULL
 };
@@ -2389,7 +2389,7 @@ void health_readdir(const char *path) {
 
 static inline char *health_config_dir(void) {
     char buffer[FILENAME_MAX + 1];
-    snprintfz(buffer, FILENAME_MAX, "%s/health.d", config_get("global", "config directory", CONFIG_DIR));
+    snprintfz(buffer, FILENAME_MAX, "%s/health.d", netdata_configured_config_dir);
     return config_get("health", "health configuration directory", buffer);
 }
 
@@ -2401,7 +2401,8 @@ void health_init(void) {
         return;
     }
 
-    char *pathname = config_get("health", "health db directory", VARLIB_DIR "/health");
+    char pathname[FILENAME_MAX + 1];
+    snprintfz(pathname, FILENAME_MAX, "%s/health", netdata_configured_varlib_dir);
     if(mkdir(pathname, 0770) == -1 && errno != EEXIST)
         fatal("Cannot create directory '%s'.", pathname);
 
@@ -2414,11 +2415,8 @@ void health_init(void) {
 
     char *path = health_config_dir();
 
-    {
-        char buffer[FILENAME_MAX + 1];
-        snprintfz(buffer, FILENAME_MAX, "%s/alarm-notify.sh", config_get("global", "plugins directory", PLUGINS_DIR));
-        health.health_default_exec = config_get("health", "script to execute on alarm", buffer);
-    }
+    snprintfz(filename, FILENAME_MAX, "%s/alarm-notify.sh", netdata_configured_plugins_dir);
+    health.health_default_exec = config_get("health", "script to execute on alarm", filename);
 
     long n = config_get_number("health", "in memory max health log entries", (long)localhost.health_log.max);
     if(n < 10) {

+ 1 - 1
src/ipc.c

@@ -57,7 +57,7 @@ static inline int ipc_sem_get_limits(struct ipc_limits *lim) {
     static char filename[FILENAME_MAX + 1] = "";
 
     if(unlikely(!filename[0]))
-        snprintfz(filename, FILENAME_MAX, "%s/proc/sys/kernel/sem", global_host_prefix);
+        snprintfz(filename, FILENAME_MAX, "%s/proc/sys/kernel/sem", netdata_configured_host_prefix);
 
     if(unlikely(!ff)) {
         ff = procfile_open(filename, NULL, PROCFILE_FLAG_DEFAULT);

+ 31 - 18
src/main.c

@@ -530,18 +530,26 @@ int main(int argc, char **argv) {
             mallopt(M_ARENA_MAX, 1);
 #endif
 
-        char *config_dir = config_get("global", "config directory", CONFIG_DIR);
-
         // prepare configuration environment variables for the plugins
-        setenv("NETDATA_CONFIG_DIR" , verify_required_directory(config_dir) , 1);
-        setenv("NETDATA_PLUGINS_DIR", verify_required_directory(config_get("global", "plugins directory"  , PLUGINS_DIR)), 1);
-        setenv("NETDATA_WEB_DIR"    , verify_required_directory(config_get("global", "web files directory", WEB_DIR))    , 1);
-        setenv("NETDATA_CACHE_DIR"  , verify_required_directory(config_get("global", "cache directory"    , CACHE_DIR))  , 1);
-        setenv("NETDATA_LIB_DIR"    , verify_required_directory(config_get("global", "lib directory"      , VARLIB_DIR)) , 1);
-        setenv("NETDATA_LOG_DIR"    , verify_required_directory(config_get("global", "log directory"      , LOG_DIR))    , 1);
 
-        setenv("NETDATA_HOST_PREFIX", config_get("global", "host access prefix" , "")         , 1);
-        setenv("HOME"               , config_get("global", "home directory"     , CACHE_DIR)  , 1);
+        netdata_configured_config_dir  = config_get("global", "config directory",    CONFIG_DIR);
+        netdata_configured_log_dir     = config_get("global", "log directory",       LOG_DIR);
+        netdata_configured_plugins_dir = config_get("global", "plugins directory",   PLUGINS_DIR);
+        netdata_configured_web_dir     = config_get("global", "web files directory", WEB_DIR);
+        netdata_configured_cache_dir   = config_get("global", "cache directory",     CACHE_DIR);
+        netdata_configured_varlib_dir  = config_get("global", "lib directory",       VARLIB_DIR);
+        netdata_configured_home_dir    = config_get("global", "home directory",      CACHE_DIR);
+
+        setenv("NETDATA_CONFIG_DIR" , verify_required_directory(netdata_configured_config_dir),  1);
+        setenv("NETDATA_PLUGINS_DIR", verify_required_directory(netdata_configured_plugins_dir), 1);
+        setenv("NETDATA_WEB_DIR"    , verify_required_directory(netdata_configured_web_dir),     1);
+        setenv("NETDATA_CACHE_DIR"  , verify_required_directory(netdata_configured_cache_dir),   1);
+        setenv("NETDATA_LIB_DIR"    , verify_required_directory(netdata_configured_varlib_dir),  1);
+        setenv("NETDATA_LOG_DIR"    , verify_required_directory(netdata_configured_log_dir),     1);
+        setenv("HOME"               , verify_required_directory(netdata_configured_home_dir),    1);
+
+        netdata_configured_host_prefix = config_get("global", "host access prefix", "");
+        setenv("NETDATA_HOST_PREFIX", netdata_configured_host_prefix, 1);
 
         // disable buffering for python plugins
         setenv("PYTHONUNBUFFERED", "1", 1);
@@ -553,8 +561,8 @@ int main(int argc, char **argv) {
         // work while we are cd into config_dir
         // to allow the plugins refer to their config
         // files using relative filenames
-        if(chdir(config_dir) == -1)
-            fatal("Cannot cd to '%s'", config_dir);
+        if(chdir(netdata_configured_config_dir) == -1)
+            fatal("Cannot cd to '%s'", netdata_configured_config_dir);
 
         char path[1024 + 1], *p = getenv("PATH");
         if(!p) p = "/bin:/usr/bin";
@@ -594,18 +602,23 @@ int main(int argc, char **argv) {
 
         // --------------------------------------------------------------------
 
-        global_host_prefix = config_get("global", "host access prefix", "");
-        setenv("NETDATA_HOST_PREFIX", global_host_prefix, 1);
-
         get_system_HZ();
         get_system_cpus();
         get_system_pid_max();
         
         // --------------------------------------------------------------------
 
-        stdout_filename    = config_get("global", "debug log",  LOG_DIR "/debug.log");
-        stderr_filename    = config_get("global", "error log",  LOG_DIR "/error.log");
-        stdaccess_filename = config_get("global", "access log", LOG_DIR "/access.log");
+        {
+            char filename[FILENAME_MAX + 1];
+            snprintfz(filename, FILENAME_MAX, "%s/debug.log", netdata_configured_log_dir);
+            stdout_filename    = config_get("global", "debug log",  filename);
+
+            snprintfz(filename, FILENAME_MAX, "%s/error.log", netdata_configured_log_dir);
+            stderr_filename    = config_get("global", "error log",  filename);
+
+            snprintfz(filename, FILENAME_MAX, "%s/access.log", netdata_configured_log_dir);
+            stdaccess_filename = config_get("global", "access log", filename);
+        }
 
         error_log_throttle_period_backup =
             error_log_throttle_period = config_get_number("global", "errors flood protection period", error_log_throttle_period);

+ 1 - 1
src/plugin_proc.c

@@ -157,7 +157,7 @@ int get_numa_node_count(void)
     numa_node_count = 0;
 
     char name[FILENAME_MAX + 1];
-    snprintfz(name, FILENAME_MAX, "%s%s", global_host_prefix, "/sys/devices/system/node");
+    snprintfz(name, FILENAME_MAX, "%s%s", netdata_configured_host_prefix, "/sys/devices/system/node");
     char *dirname = config_get("plugin:proc:/sys/devices/system/node", "directory to monitor", name);
 
     DIR *dir = opendir(dirname);

+ 1 - 1
src/plugin_tc.c

@@ -782,7 +782,7 @@ void *tc_main(void *ptr) {
 #endif
     uint32_t first_hash;
 
-    snprintfz(buffer, TC_LINE_MAX, "%s/tc-qos-helper.sh", config_get("plugins", "plugins directory", PLUGINS_DIR));
+    snprintfz(buffer, TC_LINE_MAX, "%s/tc-qos-helper.sh", netdata_configured_plugins_dir);
     char *tc_script = config_get("plugin:tc", "script to run to get tc values", buffer);
     
     for(;1;) {

Some files were not shown because too many files changed in this diff