From dd814a7c1a8de056a79f7238578b09236edd5506 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 10 Aug 2023 11:18:49 +0200 Subject: Adding upstream version 1.42.0. Signed-off-by: Daniel Baumann --- collectors/apps.plugin/README.md | 17 +- collectors/apps.plugin/apps_plugin.c | 134 ++++-- collectors/apps.plugin/metadata.yaml | 665 +++++++++++++++++++++++++++++ collectors/apps.plugin/metrics.csv | 81 ---- collectors/apps.plugin/multi_metadata.yaml | 662 ---------------------------- 5 files changed, 778 insertions(+), 781 deletions(-) create mode 100644 collectors/apps.plugin/metadata.yaml delete mode 100644 collectors/apps.plugin/metrics.csv delete mode 100644 collectors/apps.plugin/multi_metadata.yaml (limited to 'collectors/apps.plugin') diff --git a/collectors/apps.plugin/README.md b/collectors/apps.plugin/README.md index ad4e0882f..fd5371f08 100644 --- a/collectors/apps.plugin/README.md +++ b/collectors/apps.plugin/README.md @@ -30,7 +30,7 @@ a predefined set of members (of course, only process groups found running are re Unlike traditional process monitoring tools (like `top`), `apps.plugin` is able to account the resource utilization of exit processes. Their utilization is accounted at their currently running parents. So, `apps.plugin` is perfectly able to measure the resources used by shell scripts and other processes -that fork/spawn other short lived processes hundreds of times per second. +that fork/spawn other short-lived processes hundreds of times per second. ## Charts @@ -75,7 +75,7 @@ The above are reported: - For **Applications** per target configured. - For **Users** per username or UID (when the username is not available). -- For **User Groups** per groupname or GID (when groupname is not available). +- For **User Groups** per group name or GID (when group name is not available). ## Performance @@ -183,8 +183,7 @@ If this fails (i.e. `setcap` fails), `apps.plugin` is setuid to `root`. There are a few cases, like `docker` and `virtuozzo` containers, where `setcap` succeeds, but the capabilities are silently ignored (in `lxc` containers `setcap` fails). -In these cases ()`setcap` succeeds but capabilities do not work), you will have to setuid -to root `apps.plugin` by running these commands: +In this case, you will have to setuid to root `apps.plugin` by running these commands: ```sh chown root:netdata /usr/libexec/netdata/plugins.d/apps.plugin @@ -200,7 +199,7 @@ iterating forever, collecting metrics for each running process and sending them This is a one-way communication, from `apps.plugin` to Netdata. So, since `apps.plugin` cannot be instructed by Netdata for the actions it performs, -we think it is pretty safe to allow it have these increased privileges. +we think it is pretty safe to allow it to have these increased privileges. Keep in mind that `apps.plugin` will still run without escalated permissions, but it will not be able to collect all the information. @@ -219,7 +218,7 @@ Here is an example for the process group `sql` at `https://registry.my-netdata.i ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.processes&dimensions=sql&value_color=green%3E0%7Cred) -Netdata is able give you a lot more badges for your app. +Netdata is able to give you a lot more badges for your app. Examples below for process group `sql`: - CPU usage: ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.cpu&dimensions=sql&value_color=green=0%7Corange%3C50%7Cred) @@ -227,7 +226,7 @@ Examples below for process group `sql`: - Disk Physical Writes ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.pwrites&dimensions=sql&value_color=green%3C100%7Corange%3C1000%7Cred) - Disk Logical Reads ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.lreads&dimensions=sql&value_color=green%3C100%7Corange%3C1000%7Cred) - Disk Logical Writes ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.lwrites&dimensions=sql&value_color=green%3C100%7Corange%3C1000%7Cred) -- Open Files ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.files&dimensions=sql&value_color=green%3E30%7Cred) +- Open Files ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.fds_files&dimensions=sql&value_color=green%3E30%7Cred) - Real Memory ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.mem&dimensions=sql&value_color=green%3C100%7Corange%3C200%7Cred) - Virtual Memory ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.vmem&dimensions=sql&value_color=green%3C100%7Corange%3C1000%7Cred) - Swap Memory ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.swap&dimensions=sql&value_color=green=0%7Cred) @@ -235,8 +234,8 @@ Examples below for process group `sql`: - Processes ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.processes&dimensions=sql&value_color=green%3E0%7Cred) - Threads ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.threads&dimensions=sql&value_color=green%3E=28%7Cred) - Major Faults (swap activity) ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.major_faults&dimensions=sql&value_color=green=0%7Cred) -- Open Pipes ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.pipes&dimensions=sql&value_color=green=0%7Cred) -- Open Sockets ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.sockets&dimensions=sql&value_color=green%3E=3%7Cred) +- Open Pipes ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.fds_pipes&dimensions=sql&value_color=green=0%7Cred) +- Open Sockets ![image](https://registry.my-netdata.io/api/v1/badge.svg?chart=apps.fds_sockets&dimensions=sql&value_color=green%3E=3%7Cred) For more information about badges check [Generating Badges](https://github.com/netdata/netdata/blob/master/web/api/badges/README.md) diff --git a/collectors/apps.plugin/apps_plugin.c b/collectors/apps.plugin/apps_plugin.c index 105c54262..94f997e86 100644 --- a/collectors/apps.plugin/apps_plugin.c +++ b/collectors/apps.plugin/apps_plugin.c @@ -13,7 +13,7 @@ #define APPS_PLUGIN_PROCESSES_FUNCTION_DESCRIPTION "Detailed information on the currently running processes." #define APPS_PLUGIN_FUNCTIONS() do { \ - fprintf(stdout, PLUGINSD_KEYWORD_FUNCTION " \"processes\" 10 \"%s\"\n", APPS_PLUGIN_PROCESSES_FUNCTION_DESCRIPTION); \ + fprintf(stdout, PLUGINSD_KEYWORD_FUNCTION " \"processes\" %d \"%s\"\n", PLUGINS_FUNCTIONS_TIMEOUT_DEFAULT, APPS_PLUGIN_PROCESSES_FUNCTION_DESCRIPTION); \ } while(0) @@ -144,12 +144,13 @@ static const char *proc_states[] = { // log each problem once per process // log flood protection flags (log_thrown) typedef enum __attribute__((packed)) { - PID_LOG_IO = (1 << 0), - PID_LOG_STATUS = (1 << 1), - PID_LOG_CMDLINE = (1 << 2), - PID_LOG_FDS = (1 << 3), - PID_LOG_STAT = (1 << 4), - PID_LOG_LIMITS = (1 << 5), + PID_LOG_IO = (1 << 0), + PID_LOG_STATUS = (1 << 1), + PID_LOG_CMDLINE = (1 << 2), + PID_LOG_FDS = (1 << 3), + PID_LOG_STAT = (1 << 4), + PID_LOG_LIMITS = (1 << 5), + PID_LOG_LIMITS_DETAIL = (1 << 6), } PID_LOG; static int @@ -1362,6 +1363,9 @@ static inline kernel_uint_t get_proc_pid_limits_limit(char *buf, const char *key char *v = &line[key_len]; while(isspace(*v)) v++; + if(strcmp(v, "unlimited") == 0) + return 0; + return str2ull(v, NULL); } @@ -1373,11 +1377,17 @@ static inline int read_proc_pid_limits(struct pid_stat *p, void *ptr) { #else static char proc_pid_limits_buffer[MAX_PROC_PID_LIMITS + 1]; int ret = 0; + bool read_limits = false; + + errno = 0; + proc_pid_limits_buffer[0] = '\0'; kernel_uint_t all_fds = pid_openfds_sum(p); - if(all_fds < p->limits.max_open_files / 2 && p->io_collected_usec > p->last_limits_collected_usec && p->io_collected_usec - p->last_limits_collected_usec <= 60 * USEC_PER_SEC) + if(all_fds < p->limits.max_open_files / 2 && p->io_collected_usec > p->last_limits_collected_usec && p->io_collected_usec - p->last_limits_collected_usec <= 60 * USEC_PER_SEC) { // too frequent, we want to collect limits once per minute + ret = 1; goto cleanup; + } if(unlikely(!p->limits_filename)) { char filename[FILENAME_MAX + 1]; @@ -1394,8 +1404,25 @@ static inline int read_proc_pid_limits(struct pid_stat *p, void *ptr) { if(bytes <= 0) goto cleanup; + // make it '\0' terminated + if(bytes < MAX_PROC_PID_LIMITS) + proc_pid_limits_buffer[bytes] = '\0'; + else + proc_pid_limits_buffer[MAX_PROC_PID_LIMITS - 1] = '\0'; + p->limits.max_open_files = get_proc_pid_limits_limit(proc_pid_limits_buffer, PROC_PID_LIMITS_MAX_OPEN_FILES_KEY, sizeof(PROC_PID_LIMITS_MAX_OPEN_FILES_KEY) - 1, 0); + if(p->limits.max_open_files == 1) { + // it seems a bug in the kernel or something similar + // it sets max open files to 1 but the number of files + // the process has open are more than 1... + // https://github.com/netdata/netdata/issues/15443 + p->limits.max_open_files = 0; + ret = 1; + goto cleanup; + } + p->last_limits_collected_usec = p->io_collected_usec; + read_limits = true; ret = 1; @@ -1405,6 +1432,62 @@ cleanup: else p->openfds_limits_percent = 0.0; + if(p->openfds_limits_percent > 100.0) { + if(!(p->log_thrown & PID_LOG_LIMITS_DETAIL)) { + char *line; + + if(!read_limits) { + proc_pid_limits_buffer[0] = '\0'; + line = "NOT READ"; + } + else { + line = strstr(proc_pid_limits_buffer, PROC_PID_LIMITS_MAX_OPEN_FILES_KEY); + if (line) { + line++; // skip the initial newline + + char *end = strchr(line, '\n'); + if (end) + *end = '\0'; + } + } + + netdata_log_info( + "FDS_LIMITS: PID %d (%s) is using " + "%0.2f %% of its fds limits, " + "open fds = %llu (" + "files = %llu, " + "pipes = %llu, " + "sockets = %llu, " + "inotifies = %llu, " + "eventfds = %llu, " + "timerfds = %llu, " + "signalfds = %llu, " + "eventpolls = %llu " + "other = %llu " + "), open fds limit = %llu, " + "%s, " + "original line [%s]", + p->pid, p->comm, p->openfds_limits_percent, all_fds, + p->openfds.files, + p->openfds.pipes, + p->openfds.sockets, + p->openfds.inotifies, + p->openfds.eventfds, + p->openfds.timerfds, + p->openfds.signalfds, + p->openfds.eventpolls, + p->openfds.other, + p->limits.max_open_files, + read_limits ? "and we have read the limits AFTER counting the fds" + : "but we have read the limits BEFORE counting the fds", + line); + + p->log_thrown |= PID_LOG_LIMITS_DETAIL; + } + } + else + p->log_thrown &= ~PID_LOG_LIMITS_DETAIL; + return ret; #endif } @@ -4489,7 +4572,7 @@ static int check_capabilities() { } #endif -netdata_mutex_t mutex = NETDATA_MUTEX_INITIALIZER; +static netdata_mutex_t mutex = NETDATA_MUTEX_INITIALIZER; #define PROCESS_FILTER_CATEGORY "category:" #define PROCESS_FILTER_USER "user:" @@ -4542,15 +4625,6 @@ static void get_MemTotal(void) { #endif } -static void apps_plugin_function_error(const char *transaction, int code, const char *msg) { - char buffer[PLUGINSD_LINE_MAX + 1]; - json_escape_string(buffer, msg, PLUGINSD_LINE_MAX); - - pluginsd_function_result_begin_to_stdout(transaction, code, "application/json", now_realtime_sec()); - fprintf(stdout, "{\"status\":%d,\"error_message\":\"%s\"}", code, buffer); - pluginsd_function_result_end_to_stdout(); -} - static void apps_plugin_function_processes_help(const char *transaction) { pluginsd_function_result_begin_to_stdout(transaction, HTTP_RESP_OK, "text/plain", now_realtime_sec() + 3600); fprintf(stdout, "%s", @@ -4598,7 +4672,7 @@ static void apps_plugin_function_processes_help(const char *transaction) { buffer_json_add_array_item_double(wb, _tmp); \ } while(0) -static void apps_plugin_function_processes(const char *transaction, char *function __maybe_unused, char *line_buffer __maybe_unused, int line_max __maybe_unused, int timeout __maybe_unused) { +static void function_processes(const char *transaction, char *function __maybe_unused, char *line_buffer __maybe_unused, int line_max __maybe_unused, int timeout __maybe_unused) { struct pid_stat *p; char *words[PLUGINSD_MAX_WORDS] = { NULL }; @@ -4619,21 +4693,21 @@ static void apps_plugin_function_processes(const char *transaction, char *functi if(!category && strncmp(keyword, PROCESS_FILTER_CATEGORY, strlen(PROCESS_FILTER_CATEGORY)) == 0) { category = find_target_by_name(apps_groups_root_target, &keyword[strlen(PROCESS_FILTER_CATEGORY)]); if(!category) { - apps_plugin_function_error(transaction, HTTP_RESP_BAD_REQUEST, "No category with that name found."); + pluginsd_function_json_error(transaction, HTTP_RESP_BAD_REQUEST, "No category with that name found."); return; } } else if(!user && strncmp(keyword, PROCESS_FILTER_USER, strlen(PROCESS_FILTER_USER)) == 0) { user = find_target_by_name(users_root_target, &keyword[strlen(PROCESS_FILTER_USER)]); if(!user) { - apps_plugin_function_error(transaction, HTTP_RESP_BAD_REQUEST, "No user with that name found."); + pluginsd_function_json_error(transaction, HTTP_RESP_BAD_REQUEST, "No user with that name found."); return; } } else if(strncmp(keyword, PROCESS_FILTER_GROUP, strlen(PROCESS_FILTER_GROUP)) == 0) { group = find_target_by_name(groups_root_target, &keyword[strlen(PROCESS_FILTER_GROUP)]); if(!group) { - apps_plugin_function_error(transaction, HTTP_RESP_BAD_REQUEST, "No group with that name found."); + pluginsd_function_json_error(transaction, HTTP_RESP_BAD_REQUEST, "No group with that name found."); return; } } @@ -4659,7 +4733,7 @@ static void apps_plugin_function_processes(const char *transaction, char *functi else { char msg[PLUGINSD_LINE_MAX]; snprintfz(msg, PLUGINSD_LINE_MAX, "Invalid parameter '%s'", keyword); - apps_plugin_function_error(transaction, HTTP_RESP_BAD_REQUEST, msg); + pluginsd_function_json_error(transaction, HTTP_RESP_BAD_REQUEST, msg); return; } } @@ -4672,7 +4746,7 @@ static void apps_plugin_function_processes(const char *transaction, char *functi unsigned int io_divisor = 1024 * RATES_DETAIL; BUFFER *wb = buffer_create(PLUGINSD_LINE_MAX, NULL); - buffer_json_initialize(wb, "\"", "\"", 0, true, false); + buffer_json_initialize(wb, "\"", "\"", 0, true, BUFFER_JSON_OPTIONS_NEWLINE_ON_ARRAY_ITEMS); buffer_json_member_add_uint64(wb, "status", HTTP_RESP_OK); buffer_json_member_add_string(wb, "type", "table"); buffer_json_member_add_time_t(wb, "update_every", update_every); @@ -5149,7 +5223,7 @@ static void apps_plugin_function_processes(const char *transaction, char *functi RRDF_FIELD_FILTER_RANGE, RRDF_FIELD_OPTS_VISIBLE, NULL); buffer_rrdf_table_add_field(wb, field_id++, "Uptime", "Uptime in seconds", RRDF_FIELD_TYPE_DURATION, - RRDF_FIELD_VISUAL_BAR, RRDF_FIELD_TRANSFORM_DURATION, 2, + RRDF_FIELD_VISUAL_BAR, RRDF_FIELD_TRANSFORM_DURATION_S, 2, "seconds", Uptime_max, RRDF_FIELD_SORT_DESCENDING, NULL, RRDF_FIELD_SUMMARY_MAX, RRDF_FIELD_FILTER_RANGE, RRDF_FIELD_OPTS_VISIBLE, NULL); @@ -5449,9 +5523,9 @@ static void apps_plugin_function_processes(const char *transaction, char *functi pluginsd_function_result_end_to_stdout(); } -bool apps_plugin_exit = false; +static bool apps_plugin_exit = false; -void *reader_main(void *arg __maybe_unused) { +static void *reader_main(void *arg __maybe_unused) { char buffer[PLUGINSD_LINE_MAX + 1]; char *s = NULL; @@ -5483,9 +5557,9 @@ void *reader_main(void *arg __maybe_unused) { netdata_mutex_lock(&mutex); if(strncmp(function, "processes", strlen("processes")) == 0) - apps_plugin_function_processes(transaction, function, buffer, PLUGINSD_LINE_MAX + 1, timeout); + function_processes(transaction, function, buffer, PLUGINSD_LINE_MAX + 1, timeout); else - apps_plugin_function_error(transaction, HTTP_RESP_NOT_FOUND, "No function with this name found in apps.plugin."); + pluginsd_function_json_error(transaction, HTTP_RESP_NOT_FOUND, "No function with this name found in apps.plugin."); fflush(stdout); netdata_mutex_unlock(&mutex); @@ -5613,6 +5687,8 @@ int main(int argc, char **argv) { netdata_thread_create(&reader_thread, "APPS_READER", NETDATA_THREAD_OPTION_DONT_LOG, reader_main, NULL); netdata_mutex_lock(&mutex); + APPS_PLUGIN_FUNCTIONS(); + usec_t step = update_every * USEC_PER_SEC; global_iterations_counter = 1; heartbeat_t hb; diff --git a/collectors/apps.plugin/metadata.yaml b/collectors/apps.plugin/metadata.yaml new file mode 100644 index 000000000..9794a5ea2 --- /dev/null +++ b/collectors/apps.plugin/metadata.yaml @@ -0,0 +1,665 @@ +plugin_name: apps.plugin +modules: + # removed system.processes_state + - meta: + plugin_name: apps.plugin + module_name: apps + monitored_instance: + name: Applications + link: "" + categories: + - data-collection.processes-and-system-services + icon_filename: "applications.svg" + related_resources: + integrations: + list: [] + info_provided_to_referring_integrations: + description: "" + keywords: + - applications + - processes + - os + - host monitoring + most_popular: false + overview: + data_collection: + metrics_description: "Monitor Applications for optimal software performance and resource usage." + method_description: "" + supported_platforms: + include: [] + exclude: [] + multi_instance: true + additional_permissions: + description: "" + default_behavior: + auto_detection: + description: "" + limits: + description: "" + performance_impact: + description: "" + setup: + prerequisites: + list: [] + configuration: + file: + name: "" + description: "" + options: + description: "" + folding: + title: "" + enabled: true + list: [] + examples: + folding: + enabled: true + title: "" + list: [] + troubleshooting: + problems: + list: [] + alerts: [] + metrics: + folding: + title: Metrics + enabled: false + description: "" + availability: [] + scopes: + - name: global + description: "" + labels: [] + metrics: + - name: apps.cpu + description: Apps CPU Time (100% = 1 core) + unit: "percentage" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.cpu_user + description: Apps CPU User Time (100% = 1 core) + unit: "percentage" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.cpu_system + description: Apps CPU System Time (100% = 1 core) + unit: "percentage" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.cpu_guest + description: Apps CPU Guest Time (100% = 1 core) + unit: "percentage" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.mem + description: Apps Real Memory (w/o shared) + unit: "MiB" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.rss + description: Apps Resident Set Size (w/shared) + unit: "MiB" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.vmem + description: Apps Virtual Memory Size + unit: "MiB" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.swap + description: Apps Swap Memory + unit: "MiB" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.major_faults + description: Apps Major Page Faults (swap read) + unit: "page faults/s" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.minor_faults + description: Apps Minor Page Faults (swap read) + unit: "page faults/s" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.preads + description: Apps Disk Reads + unit: "KiB/s" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.pwrites + description: Apps Disk Writes + unit: "KiB/s" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.lreads + description: Apps Disk Logical Reads + unit: "KiB/s" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.lwrites + description: Apps I/O Logical Writes + unit: "KiB/s" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.threads + description: Apps Threads + unit: "threads" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.processes + description: Apps Processes + unit: "processes" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.voluntary_ctxt_switches + description: Apps Voluntary Context Switches + unit: "processes" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.involuntary_ctxt_switches + description: Apps Involuntary Context Switches + unit: "processes" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.uptime + description: Apps Carried Over Uptime + unit: "seconds" + chart_type: line + dimensions: + - name: a dimension per app group + - name: apps.uptime_min + description: Apps Minimum Uptime + unit: "seconds" + chart_type: line + dimensions: + - name: a dimension per app group + - name: apps.uptime_avg + description: Apps Average Uptime + unit: "seconds" + chart_type: line + dimensions: + - name: a dimension per app group + - name: apps.uptime_max + description: Apps Maximum Uptime + unit: "seconds" + chart_type: line + dimensions: + - name: a dimension per app group + - name: apps.files + description: Apps Open Files + unit: "open files" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.sockets + description: Apps Open Sockets + unit: "open sockets" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: apps.pipes + description: Apps Open Pipes + unit: "open pipes" + chart_type: stacked + dimensions: + - name: a dimension per app group + - meta: + plugin_name: apps.plugin + module_name: groups + monitored_instance: + name: User Groups + link: "" + categories: + - data-collection.processes-and-system-services + icon_filename: "user.svg" + related_resources: + integrations: + list: [] + info_provided_to_referring_integrations: + description: "" + keywords: + - groups + - processes + - user auditing + - authorization + - os + - host monitoring + most_popular: false + overview: + data_collection: + metrics_description: "This integration monitors resource utilization on a user groups context." + method_description: "" + supported_platforms: + include: [] + exclude: [] + multi_instance: true + additional_permissions: + description: "" + default_behavior: + auto_detection: + description: "" + limits: + description: "" + performance_impact: + description: "" + setup: + prerequisites: + list: [] + configuration: + file: + name: "" + description: "" + options: + description: "" + folding: + title: "" + enabled: true + list: [] + examples: + folding: + enabled: true + title: "" + list: [] + troubleshooting: + problems: + list: [] + alerts: [] + metrics: + folding: + title: Metrics + enabled: false + description: "" + availability: [] + scopes: + - name: global + description: "" + labels: [] + metrics: + - name: groups.cpu + description: User Groups CPU Time (100% = 1 core) + unit: "percentage" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.cpu_user + description: User Groups CPU User Time (100% = 1 core) + unit: "percentage" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.cpu_system + description: User Groups CPU System Time (100% = 1 core) + unit: "percentage" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.cpu_guest + description: User Groups CPU Guest Time (100% = 1 core) + unit: "percentage" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.mem + description: User Groups Real Memory (w/o shared) + unit: "MiB" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.rss + description: User Groups Resident Set Size (w/shared) + unit: "MiB" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.vmem + description: User Groups Virtual Memory Size + unit: "MiB" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.swap + description: User Groups Swap Memory + unit: "MiB" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.major_faults + description: User Groups Major Page Faults (swap read) + unit: "page faults/s" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.minor_faults + description: User Groups Page Faults (swap read) + unit: "page faults/s" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.preads + description: User Groups Disk Reads + unit: "KiB/s" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.pwrites + description: User Groups Disk Writes + unit: "KiB/s" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.lreads + description: User Groups Disk Logical Reads + unit: "KiB/s" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.lwrites + description: User Groups I/O Logical Writes + unit: "KiB/s" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.threads + description: User Groups Threads + unit: "threads" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.processes + description: User Groups Processes + unit: "processes" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.voluntary_ctxt_switches + description: User Groups Voluntary Context Switches + unit: "processes" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: groups.involuntary_ctxt_switches + description: User Groups Involuntary Context Switches + unit: "processes" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: groups.uptime + description: User Groups Carried Over Uptime + unit: "seconds" + chart_type: line + dimensions: + - name: a dimension per user group + - name: groups.uptime_min + description: User Groups Minimum Uptime + unit: "seconds" + chart_type: line + dimensions: + - name: a dimension per user group + - name: groups.uptime_avg + description: User Groups Average Uptime + unit: "seconds" + chart_type: line + dimensions: + - name: a dimension per user group + - name: groups.uptime_max + description: User Groups Maximum Uptime + unit: "seconds" + chart_type: line + dimensions: + - name: a dimension per user group + - name: groups.files + description: User Groups Open Files + unit: "open files" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.sockets + description: User Groups Open Sockets + unit: "open sockets" + chart_type: stacked + dimensions: + - name: a dimension per user group + - name: groups.pipes + description: User Groups Open Pipes + unit: "open pipes" + chart_type: stacked + dimensions: + - name: a dimension per user group + - meta: + plugin_name: apps.plugin + module_name: users + monitored_instance: + name: Users + link: "" + categories: + - data-collection.processes-and-system-services + icon_filename: "users.svg" + related_resources: + integrations: + list: [] + info_provided_to_referring_integrations: + description: "" + keywords: + - users + - processes + - os + - host monitoring + most_popular: false + overview: + data_collection: + metrics_description: "This integration monitors resource utilization on a user context." + method_description: "" + supported_platforms: + include: [] + exclude: [] + multi_instance: true + additional_permissions: + description: "" + default_behavior: + auto_detection: + description: "" + limits: + description: "" + performance_impact: + description: "" + setup: + prerequisites: + list: [] + configuration: + file: + name: "" + description: "" + options: + description: "" + folding: + title: "" + enabled: true + list: [] + examples: + folding: + enabled: true + title: "" + list: [] + troubleshooting: + problems: + list: [] + alerts: [] + metrics: + folding: + title: Metrics + enabled: false + description: "" + availability: [] + scopes: + - name: global + description: "" + labels: [] + metrics: + - name: users.cpu + description: Users CPU Time (100% = 1 core) + unit: "percentage" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.cpu_user + description: Users CPU User Time (100% = 1 core) + unit: "percentage" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.cpu_system + description: Users CPU System Time (100% = 1 core) + unit: "percentage" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.cpu_guest + description: Users CPU Guest Time (100% = 1 core) + unit: "percentage" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.mem + description: Users Real Memory (w/o shared) + unit: "MiB" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.rss + description: Users Resident Set Size (w/shared) + unit: "MiB" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.vmem + description: Users Virtual Memory Size + unit: "MiB" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.swap + description: Users Swap Memory + unit: "MiB" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.major_faults + description: Users Major Page Faults (swap read) + unit: "page faults/s" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.minor_faults + description: Users Page Faults (swap read) + unit: "page faults/s" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.preads + description: Users Disk Reads + unit: "KiB/s" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.pwrites + description: Users Disk Writes + unit: "KiB/s" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.lreads + description: Users Disk Logical Reads + unit: "KiB/s" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.lwrites + description: Users I/O Logical Writes + unit: "KiB/s" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.threads + description: Users Threads + unit: "threads" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.processes + description: Users Processes + unit: "processes" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.voluntary_ctxt_switches + description: Users Voluntary Context Switches + unit: "processes" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: users.involuntary_ctxt_switches + description: Users Involuntary Context Switches + unit: "processes" + chart_type: stacked + dimensions: + - name: a dimension per app group + - name: users.uptime + description: Users Carried Over Uptime + unit: "seconds" + chart_type: line + dimensions: + - name: a dimension per user + - name: users.uptime_min + description: Users Minimum Uptime + unit: "seconds" + chart_type: line + dimensions: + - name: a dimension per user + - name: users.uptime_avg + description: Users Average Uptime + unit: "seconds" + chart_type: line + dimensions: + - name: a dimension per user + - name: users.uptime_max + description: Users Maximum Uptime + unit: "seconds" + chart_type: line + dimensions: + - name: a dimension per user + - name: users.files + description: Users Open Files + unit: "open files" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.sockets + description: Users Open Sockets + unit: "open sockets" + chart_type: stacked + dimensions: + - name: a dimension per user + - name: users.pipes + description: Users Open Pipes + unit: "open pipes" + chart_type: stacked + dimensions: + - name: a dimension per user diff --git a/collectors/apps.plugin/metrics.csv b/collectors/apps.plugin/metrics.csv deleted file mode 100644 index afda7a860..000000000 --- a/collectors/apps.plugin/metrics.csv +++ /dev/null @@ -1,81 +0,0 @@ -metric,scope,dimensions,unit,description,chart_type,labels,plugin,module -system.processes_state,,"running, sleeping_interruptible, sleeping_uninterruptible, zombie, stopped",processes,"System Processes State",line,,apps.plugin,system -apps.cpu,,a dimension per app group,percentage,"Apps CPU Time (100% = 1 core)",stacked,,apps.plugin,apps -apps.cpu_user,,a dimension per app group,percentage,"Apps CPU User Time (100% = 1 core)",stacked,,apps.plugin,apps -apps.cpu_system,,a dimension per app group,percentage,"Apps CPU System Time (100% = 1 core)",stacked,,apps.plugin,apps -apps.cpu_guest,,a dimension per app group,percentage,"Apps CPU Guest Time (100% = 1 core)",stacked,,apps.plugin,apps -apps.mem,,a dimension per app group,MiB,"Apps Real Memory (w/o shared)",stacked,,apps.plugin,apps -apps.rss,,a dimension per app group,MiB,"Apps Resident Set Size (w/shared)",stacked,,apps.plugin,apps -apps.vmem,,a dimension per app group,MiB,"Apps Virtual Memory Size",stacked,,apps.plugin,apps -apps.swap,,a dimension per app group,MiB,"Apps Swap Memory",stacked,,apps.plugin,apps -apps.major_faults,,a dimension per app group,"page faults/s","Apps Major Page Faults (swap read)",stacked,,apps.plugin,apps -apps.minor_faults,,a dimension per app group,"page faults/s","Apps Minor Page Faults (swap read)",stacked,,apps.plugin,apps -apps.preads,,a dimension per app group,"KiB/s","Apps Disk Reads",stacked,,apps.plugin,apps -apps.pwrites,,a dimension per app group,"KiB/s","Apps Disk Writes",stacked,,apps.plugin,apps -apps.lreads,,a dimension per app group,"KiB/s","Apps Disk Logical Reads",stacked,,apps.plugin,apps -apps.lwrites,,a dimension per app group,"KiB/s","Apps I/O Logical Writes",stacked,,apps.plugin,apps -apps.threads,,a dimension per app group,threads,"Apps Threads",stacked,,apps.plugin,apps -apps.processes,,a dimension per app group,processes,"Apps Processes",stacked,,apps.plugin,apps -apps.voluntary_ctxt_switches,,a dimension per app group,processes,"Apps Voluntary Context Switches",stacked,,apps.plugin,apps -apps.involuntary_ctxt_switches,,a dimension per app group,processes,"Apps Involuntary Context Switches",stacked,,apps.plugin,apps -apps.uptime,,a dimension per app group,seconds,"Apps Carried Over Uptime",line,,apps.plugin,apps -apps.uptime_min,,a dimension per app group,seconds,"Apps Minimum Uptime",line,,apps.plugin,apps -apps.uptime_avg,,a dimension per app group,seconds,"Apps Average Uptime",line,,apps.plugin,apps -apps.uptime_max,,a dimension per app group,seconds,"Apps Maximum Uptime",line,,apps.plugin,apps -apps.files,,a dimension per app group,"open files","Apps Open Files",stacked,,apps.plugin,apps -apps.sockets,,a dimension per app group,"open sockets","Apps Open Sockets",stacked,,apps.plugin,apps -apps.pipes,,a dimension per app group,"open pipes","Apps Open Pipes",stacked,,apps.plugin,apps -groups.cpu,,a dimension per user group,percentage,"User Groups CPU Time (100% = 1 core)",stacked,,apps.plugin,groups -groups.cpu_user,,a dimension per user group,percentage,"User Groups CPU User Time (100% = 1 core)",stacked,,apps.plugin,groups -groups.cpu_system,,a dimension per user group,percentage,"User Groups CPU System Time (100% = 1 core)",stacked,,apps.plugin,groups -groups.cpu_guest,,a dimension per user group,percentage,"User Groups CPU Guest Time (100% = 1 core)",stacked,,apps.plugin,groups -groups.mem,,a dimension per user group,MiB,"User Groups Real Memory (w/o shared)",stacked,,apps.plugin,groups -groups.rss,,a dimension per user group,MiB,"User Groups Resident Set Size (w/shared)",stacked,,apps.plugin,groups -groups.vmem,,a dimension per user group,MiB,"User Groups Virtual Memory Size",stacked,,apps.plugin,groups -groups.swap,,a dimension per user group,MiB,"User Groups Swap Memory",stacked,,apps.plugin,groups -groups.major_faults,,a dimension per user group,"page faults/s","User Groups Major Page Faults (swap read)",stacked,,apps.plugin,groups -groups.minor_faults,,a dimension per user group,"page faults/s","User Groups Page Faults (swap read)",stacked,,apps.plugin,groups -groups.preads,,a dimension per user group,"KiB/s","User Groups Disk Reads",stacked,,apps.plugin,groups -groups.pwrites,,a dimension per user group,"KiB/s","User Groups Disk Writes",stacked,,apps.plugin,groups -groups.lreads,,a dimension per user group,"KiB/s","User Groups Disk Logical Reads",stacked,,apps.plugin,groups -groups.lwrites,,a dimension per user group,"KiB/s","User Groups I/O Logical Writes",stacked,,apps.plugin,groups -groups.threads,,a dimension per user group,threads,"User Groups Threads",stacked,,apps.plugin,groups -groups.processes,,a dimension per user group,processes,"User Groups Processes",stacked,,apps.plugin,groups -groups.voluntary_ctxt_switches,,a dimension per app group,processes,"User Groups Voluntary Context Switches",stacked,,apps.plugin,groups -groups.involuntary_ctxt_switches,,a dimension per app group,processes,"User Groups Involuntary Context Switches",stacked,,apps.plugin,groups -groups.uptime,,a dimension per user group,seconds,"User Groups Carried Over Uptime",line,,apps.plugin,groups -groups.uptime_min,,a dimension per user group,seconds,"User Groups Minimum Uptime",line,,apps.plugin,groups -groups.uptime_avg,,a dimension per user group,seconds,"User Groups Average Uptime",line,,apps.plugin,groups -groups.uptime_max,,a dimension per user group,seconds,"User Groups Maximum Uptime",line,,apps.plugin,groups -groups.files,,a dimension per user group,"open files","User Groups Open Files",stacked,,apps.plugin,groups -groups.sockets,,a dimension per user group,"open sockets","User Groups Open Sockets",stacked,,apps.plugin,groups -groups.pipes,,a dimension per user group,"open pipes","User Groups Open Pipes",stacked,,apps.plugin,groups -users.cpu,,a dimension per user,percentage,"Users CPU Time (100% = 1 core)",stacked,,apps.plugin,users -users.cpu_user,,a dimension per user,percentage,"Users CPU User Time (100% = 1 core)",stacked,,apps.plugin,users -users.cpu_system,,a dimension per user,percentage,"Users CPU System Time (100% = 1 core)",stacked,,apps.plugin,users -users.cpu_guest,,a dimension per user,percentage,"Users CPU Guest Time (100% = 1 core)",stacked,,apps.plugin,users -users.mem,,a dimension per user,MiB,"Users Real Memory (w/o shared)",stacked,,apps.plugin,users -users.rss,,a dimension per user,MiB,"Users Resident Set Size (w/shared)",stacked,,apps.plugin,users -users.vmem,,a dimension per user,MiB,"Users Virtual Memory Size",stacked,,apps.plugin,users -users.swap,,a dimension per user,MiB,"Users Swap Memory",stacked,,apps.plugin,users -users.major_faults,,a dimension per user,"page faults/s","Users Major Page Faults (swap read)",stacked,,apps.plugin,users -users.minor_faults,,a dimension per user,"page faults/s","Users Page Faults (swap read)",stacked,,apps.plugin,users -users.preads,,a dimension per user,"KiB/s","Users Disk Reads",stacked,,apps.plugin,users -users.pwrites,,a dimension per user,"KiB/s","Users Disk Writes",stacked,,apps.plugin,users -users.lreads,,a dimension per user,"KiB/s","Users Disk Logical Reads",stacked,,apps.plugin,users -users.lwrites,,a dimension per user,"KiB/s","Users I/O Logical Writes",stacked,,apps.plugin,users -users.threads,,a dimension per user,threads,"Users Threads",stacked,,apps.plugin,users -users.processes,,a dimension per user,processes,"Users Processes",stacked,,apps.plugin,users -users.voluntary_ctxt_switches,,a dimension per app group,processes,"Users Voluntary Context Switches",stacked,,apps.plugin,users -users.involuntary_ctxt_switches,,a dimension per app group,processes,"Users Involuntary Context Switches",stacked,,apps.plugin,users -users.uptime,,a dimension per user,seconds,"Users Carried Over Uptime",line,,apps.plugin,users -users.uptime_min,,a dimension per user,seconds,"Users Minimum Uptime",line,,apps.plugin,users -users.uptime_avg,,a dimension per user,seconds,"Users Average Uptime",line,,apps.plugin,users -users.uptime_max,,a dimension per user,seconds,"Users Maximum Uptime",line,,apps.plugin,users -users.files,,a dimension per user,"open files","Users Open Files",stacked,,apps.plugin,users -users.sockets,,a dimension per user,"open sockets","Users Open Sockets",stacked,,apps.plugin,users -users.pipes,,a dimension per user,"open pipes","Users Open Pipes",stacked,,apps.plugin,users -netdata.apps_cpu,,"user, system",milliseconds/s,"Apps Plugin CPU",stacked,,apps.plugin,netdata -netdata.apps_sizes,,"calls, files, filenames, inode_changes, link_changes, pids, fds, targets, new_pids",files/s,"Apps Plugin Files",line,,apps.plugin,netdata -netdata.apps_fix,,"utime, stime, gtime, minflt, majflt",percentage,"Apps Plugin Normalization Ratios",line,,apps.plugin,netdata -netdata.apps_children_fix,,"utime, stime, gtime, minflt, majflt",percentage,"Apps Plugin Exited Children Normalization Ratios",line,,apps.plugin,netdata \ No newline at end of file diff --git a/collectors/apps.plugin/multi_metadata.yaml b/collectors/apps.plugin/multi_metadata.yaml deleted file mode 100644 index 2bdb3dbf8..000000000 --- a/collectors/apps.plugin/multi_metadata.yaml +++ /dev/null @@ -1,662 +0,0 @@ -name: apps.plugin -modules: - # removed system.processes_state - - meta: - plugin_name: apps.plugin - module_name: apps - monitored_instance: - name: Applications - link: '' - categories: [] - icon_filename: '' - related_resources: - integrations: - list: [] - info_provided_to_referring_integrations: - description: '' - keywords: - - applications - - processes - - os - - host monitoring - most_popular: false - overview: - data_collection: - metrics_description: '' - method_description: '' - supported_platforms: - include: [] - exclude: [] - multi-instance: true - additional_permissions: - description: '' - default_behavior: - auto_detection: - description: '' - limits: - description: '' - performance_impact: - description: '' - setup: - prerequisites: - list: [] - configuration: - file: - name: '' - description: '' - options: - description: '' - folding: - title: '' - enabled: true - list: [] - examples: - folding: - enabled: true - title: '' - list: [] - troubleshooting: - problems: - list: [] - alerts: [] - metrics: - folding: - title: Metrics - enabled: false - description: "" - availability: [] - scopes: - - name: global - description: "" - labels: [] - metrics: - - name: apps.cpu - description: Apps CPU Time (100% = 1 core) - unit: "percentage" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.cpu_user - description: Apps CPU User Time (100% = 1 core) - unit: "percentage" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.cpu_system - description: Apps CPU System Time (100% = 1 core) - unit: "percentage" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.cpu_guest - description: Apps CPU Guest Time (100% = 1 core) - unit: "percentage" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.mem - description: Apps Real Memory (w/o shared) - unit: "MiB" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.rss - description: Apps Resident Set Size (w/shared) - unit: "MiB" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.vmem - description: Apps Virtual Memory Size - unit: "MiB" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.swap - description: Apps Swap Memory - unit: "MiB" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.major_faults - description: Apps Major Page Faults (swap read) - unit: "page faults/s" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.minor_faults - description: Apps Minor Page Faults (swap read) - unit: "page faults/s" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.preads - description: Apps Disk Reads - unit: "KiB/s" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.pwrites - description: Apps Disk Writes - unit: "KiB/s" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.lreads - description: Apps Disk Logical Reads - unit: "KiB/s" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.lwrites - description: Apps I/O Logical Writes - unit: "KiB/s" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.threads - description: Apps Threads - unit: "threads" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.processes - description: Apps Processes - unit: "processes" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.voluntary_ctxt_switches - description: Apps Voluntary Context Switches - unit: "processes" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.involuntary_ctxt_switches - description: Apps Involuntary Context Switches - unit: "processes" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.uptime - description: Apps Carried Over Uptime - unit: "seconds" - chart_type: line - dimensions: - - name: a dimension per app group - - name: apps.uptime_min - description: Apps Minimum Uptime - unit: "seconds" - chart_type: line - dimensions: - - name: a dimension per app group - - name: apps.uptime_avg - description: Apps Average Uptime - unit: "seconds" - chart_type: line - dimensions: - - name: a dimension per app group - - name: apps.uptime_max - description: Apps Maximum Uptime - unit: "seconds" - chart_type: line - dimensions: - - name: a dimension per app group - - name: apps.files - description: Apps Open Files - unit: "open files" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.sockets - description: Apps Open Sockets - unit: "open sockets" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: apps.pipes - description: Apps Open Pipes - unit: "open pipes" - chart_type: stacked - dimensions: - - name: a dimension per app group - - meta: - plugin_name: apps.plugin - module_name: groups - monitored_instance: - name: User Groups - link: '' - categories: [] - icon_filename: '' - related_resources: - integrations: - list: [] - info_provided_to_referring_integrations: - description: '' - keywords: - - groups - - processes - - user auditing - - authorization - - os - - host monitoring - most_popular: false - overview: - data_collection: - metrics_description: '' - method_description: '' - supported_platforms: - include: [] - exclude: [] - multi-instance: true - additional_permissions: - description: '' - default_behavior: - auto_detection: - description: '' - limits: - description: '' - performance_impact: - description: '' - setup: - prerequisites: - list: [] - configuration: - file: - name: '' - description: '' - options: - description: '' - folding: - title: '' - enabled: true - list: [] - examples: - folding: - enabled: true - title: '' - list: [] - troubleshooting: - problems: - list: [] - alerts: [] - metrics: - folding: - title: Metrics - enabled: false - description: "" - availability: [] - scopes: - - name: global - description: "" - labels: [] - metrics: - - name: groups.cpu - description: User Groups CPU Time (100% = 1 core) - unit: "percentage" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.cpu_user - description: User Groups CPU User Time (100% = 1 core) - unit: "percentage" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.cpu_system - description: User Groups CPU System Time (100% = 1 core) - unit: "percentage" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.cpu_guest - description: User Groups CPU Guest Time (100% = 1 core) - unit: "percentage" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.mem - description: User Groups Real Memory (w/o shared) - unit: "MiB" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.rss - description: User Groups Resident Set Size (w/shared) - unit: "MiB" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.vmem - description: User Groups Virtual Memory Size - unit: "MiB" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.swap - description: User Groups Swap Memory - unit: "MiB" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.major_faults - description: User Groups Major Page Faults (swap read) - unit: "page faults/s" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.minor_faults - description: User Groups Page Faults (swap read) - unit: "page faults/s" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.preads - description: User Groups Disk Reads - unit: "KiB/s" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.pwrites - description: User Groups Disk Writes - unit: "KiB/s" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.lreads - description: User Groups Disk Logical Reads - unit: "KiB/s" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.lwrites - description: User Groups I/O Logical Writes - unit: "KiB/s" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.threads - description: User Groups Threads - unit: "threads" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.processes - description: User Groups Processes - unit: "processes" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.voluntary_ctxt_switches - description: User Groups Voluntary Context Switches - unit: "processes" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: groups.involuntary_ctxt_switches - description: User Groups Involuntary Context Switches - unit: "processes" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: groups.uptime - description: User Groups Carried Over Uptime - unit: "seconds" - chart_type: line - dimensions: - - name: a dimension per user group - - name: groups.uptime_min - description: User Groups Minimum Uptime - unit: "seconds" - chart_type: line - dimensions: - - name: a dimension per user group - - name: groups.uptime_avg - description: User Groups Average Uptime - unit: "seconds" - chart_type: line - dimensions: - - name: a dimension per user group - - name: groups.uptime_max - description: User Groups Maximum Uptime - unit: "seconds" - chart_type: line - dimensions: - - name: a dimension per user group - - name: groups.files - description: User Groups Open Files - unit: "open files" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.sockets - description: User Groups Open Sockets - unit: "open sockets" - chart_type: stacked - dimensions: - - name: a dimension per user group - - name: groups.pipes - description: User Groups Open Pipes - unit: "open pipes" - chart_type: stacked - dimensions: - - name: a dimension per user group - - meta: - plugin_name: apps.plugin - module_name: users - monitored_instance: - name: Users - link: '' - categories: [] - icon_filename: '' - related_resources: - integrations: - list: [] - info_provided_to_referring_integrations: - description: '' - keywords: - - users - - processes - - os - - host monitoring - most_popular: false - overview: - data_collection: - metrics_description: '' - method_description: '' - supported_platforms: - include: [] - exclude: [] - multi-instance: true - additional_permissions: - description: '' - default_behavior: - auto_detection: - description: '' - limits: - description: '' - performance_impact: - description: '' - setup: - prerequisites: - list: [] - configuration: - file: - name: '' - description: '' - options: - description: '' - folding: - title: '' - enabled: true - list: [] - examples: - folding: - enabled: true - title: '' - list: [] - troubleshooting: - problems: - list: [] - alerts: [] - metrics: - folding: - title: Metrics - enabled: false - description: "" - availability: [] - scopes: - - name: global - description: "" - labels: [] - metrics: - - name: users.cpu - description: Users CPU Time (100% = 1 core) - unit: "percentage" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.cpu_user - description: Users CPU User Time (100% = 1 core) - unit: "percentage" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.cpu_system - description: Users CPU System Time (100% = 1 core) - unit: "percentage" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.cpu_guest - description: Users CPU Guest Time (100% = 1 core) - unit: "percentage" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.mem - description: Users Real Memory (w/o shared) - unit: "MiB" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.rss - description: Users Resident Set Size (w/shared) - unit: "MiB" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.vmem - description: Users Virtual Memory Size - unit: "MiB" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.swap - description: Users Swap Memory - unit: "MiB" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.major_faults - description: Users Major Page Faults (swap read) - unit: "page faults/s" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.minor_faults - description: Users Page Faults (swap read) - unit: "page faults/s" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.preads - description: Users Disk Reads - unit: "KiB/s" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.pwrites - description: Users Disk Writes - unit: "KiB/s" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.lreads - description: Users Disk Logical Reads - unit: "KiB/s" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.lwrites - description: Users I/O Logical Writes - unit: "KiB/s" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.threads - description: Users Threads - unit: "threads" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.processes - description: Users Processes - unit: "processes" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.voluntary_ctxt_switches - description: Users Voluntary Context Switches - unit: "processes" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: users.involuntary_ctxt_switches - description: Users Involuntary Context Switches - unit: "processes" - chart_type: stacked - dimensions: - - name: a dimension per app group - - name: users.uptime - description: Users Carried Over Uptime - unit: "seconds" - chart_type: line - dimensions: - - name: a dimension per user - - name: users.uptime_min - description: Users Minimum Uptime - unit: "seconds" - chart_type: line - dimensions: - - name: a dimension per user - - name: users.uptime_avg - description: Users Average Uptime - unit: "seconds" - chart_type: line - dimensions: - - name: a dimension per user - - name: users.uptime_max - description: Users Maximum Uptime - unit: "seconds" - chart_type: line - dimensions: - - name: a dimension per user - - name: users.files - description: Users Open Files - unit: "open files" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.sockets - description: Users Open Sockets - unit: "open sockets" - chart_type: stacked - dimensions: - - name: a dimension per user - - name: users.pipes - description: Users Open Pipes - unit: "open pipes" - chart_type: stacked - dimensions: - - name: a dimension per user -- cgit v1.2.3