summaryrefslogtreecommitdiffstats
path: root/collectors/cgroups.plugin/cgroup-network.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--collectors/cgroups.plugin/cgroup-network.c39
1 files changed, 25 insertions, 14 deletions
diff --git a/collectors/cgroups.plugin/cgroup-network.c b/collectors/cgroups.plugin/cgroup-network.c
index b00f246bb..508ea07c6 100644
--- a/collectors/cgroups.plugin/cgroup-network.c
+++ b/collectors/cgroups.plugin/cgroup-network.c
@@ -10,12 +10,16 @@
#include <sched.h>
#endif
-char environment_variable2[FILENAME_MAX + 50] = "";
-char environment_variable3[FILENAME_MAX + 50] = "";
+char env_netdata_host_prefix[FILENAME_MAX + 50] = "";
+char env_netdata_log_method[FILENAME_MAX + 50] = "";
+char env_netdata_log_format[FILENAME_MAX + 50] = "";
+char env_netdata_log_level[FILENAME_MAX + 50] = "";
char *environment[] = {
"PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin",
- environment_variable2,
- environment_variable3,
+ env_netdata_host_prefix,
+ env_netdata_log_method,
+ env_netdata_log_format,
+ env_netdata_log_level,
NULL
};
@@ -288,7 +292,8 @@ int switch_namespace(const char *prefix, pid_t pid) {
pid_t read_pid_from_cgroup_file(const char *filename) {
int fd = open(filename, procfile_open_flags);
if(fd == -1) {
- collector_error("Cannot open pid_from_cgroup() file '%s'.", filename);
+ if (errno != ENOENT)
+ collector_error("Cannot open pid_from_cgroup() file '%s'.", filename);
return 0;
}
@@ -648,12 +653,11 @@ void usage(void) {
}
int main(int argc, char **argv) {
- stderror = stderr;
pid_t pid = 0;
- program_name = argv[0];
program_version = VERSION;
- error_log_syslog = 0;
+ clocks_init();
+ nd_log_initialize_for_external_plugins("cgroup-network");
// since cgroup-network runs as root, prevent it from opening symbolic links
procfile_open_flags = O_RDONLY|O_NOFOLLOW;
@@ -662,7 +666,7 @@ int main(int argc, char **argv) {
// make sure NETDATA_HOST_PREFIX is safe
netdata_configured_host_prefix = getenv("NETDATA_HOST_PREFIX");
- if(verify_netdata_host_prefix() == -1) exit(1);
+ if(verify_netdata_host_prefix(false) == -1) exit(1);
if(netdata_configured_host_prefix[0] != '\0' && verify_path(netdata_configured_host_prefix) == -1)
fatal("invalid NETDATA_HOST_PREFIX '%s'", netdata_configured_host_prefix);
@@ -671,11 +675,20 @@ int main(int argc, char **argv) {
// build a safe environment for our script
// the first environment variable is a fixed PATH=
- snprintfz(environment_variable2, sizeof(environment_variable2) - 1, "NETDATA_HOST_PREFIX=%s", netdata_configured_host_prefix);
+ snprintfz(env_netdata_host_prefix, sizeof(env_netdata_host_prefix) - 1, "NETDATA_HOST_PREFIX=%s", netdata_configured_host_prefix);
- char *s = getenv("NETDATA_LOG_SEVERITY_LEVEL");
+ char *s;
+
+ s = getenv("NETDATA_LOG_METHOD");
+ snprintfz(env_netdata_log_method, sizeof(env_netdata_log_method) - 1, "NETDATA_LOG_METHOD=%s", nd_log_method_for_external_plugins(s));
+
+ s = getenv("NETDATA_LOG_FORMAT");
+ if (s)
+ snprintfz(env_netdata_log_format, sizeof(env_netdata_log_format) - 1, "NETDATA_LOG_FORMAT=%s", s);
+
+ s = getenv("NETDATA_LOG_LEVEL");
if (s)
- snprintfz(environment_variable3, sizeof(environment_variable3) - 1, "NETDATA_LOG_SEVERITY_LEVEL=%s", s);
+ snprintfz(env_netdata_log_level, sizeof(env_netdata_log_level) - 1, "NETDATA_LOG_LEVEL=%s", s);
// ------------------------------------------------------------------------
@@ -686,8 +699,6 @@ int main(int argc, char **argv) {
if(argc != 3)
usage();
-
- log_set_global_severity_for_external_plugins();
int arg = 1;
int helper = 1;