diff options
Diffstat (limited to 'src/collectors/plugins.d/ndsudo.c')
-rw-r--r-- | src/collectors/plugins.d/ndsudo.c | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/src/collectors/plugins.d/ndsudo.c b/src/collectors/plugins.d/ndsudo.c index f5fa78bf58..aeb2865252 100644 --- a/src/collectors/plugins.d/ndsudo.c +++ b/src/collectors/plugins.d/ndsudo.c @@ -14,6 +14,38 @@ struct command { const char *search[MAX_SEARCH]; } allowed_commands[] = { { + .name = "storcli-controllers-info", + .params = "/cALL show all J nolog", + .search = { + [0] = "storcli", + [1] = NULL, + }, + }, + { + .name = "storcli-drives-info", + .params = "/cALL/eALL/sALL show all J nolog", + .search = { + [0] = "storcli", + [1] = NULL, + }, + }, + { + .name = "lvs-report-json", + .params = "--reportformat json --units b --nosuffix -o {{options}}", + .search = { + [0] = "lvs", + [1] = NULL, + }, + }, + { + .name = "igt-json", + .params = "-J -s {{interval}}", + .search = { + [0] = "intel_gpu_top", + [1] = NULL, + }, + }, + { .name = "nvme-list", .params = "list --output-format=json", .search = { @@ -109,7 +141,7 @@ bool check_string(const char *str, size_t index, char *err, size_t err_size) { if(!((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || - c == ' ' || c == '_' || c == '-' || c == '/' || c == '.')) { + c == ' ' || c == '_' || c == '-' || c == '/' || c == '.' || c == ',')) { snprintf(err, err_size, "command line argument No %zu includes invalid character '%c'", index, c); return false; } @@ -260,6 +292,9 @@ int main(int argc, char *argv[]) { return 3; } + char new_path[] = "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"; + setenv("PATH", new_path, 1); + bool found = false; char filename[FILENAME_MAX]; |