From 5da14042f70711ea5cf66e034699730335462f66 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 5 May 2024 14:08:03 +0200 Subject: Merging upstream version 1.45.3+dfsg. Signed-off-by: Daniel Baumann --- libnetdata/health/Makefile.am | 7 -- libnetdata/health/health.c | 169 ------------------------------------------ libnetdata/health/health.h | 53 ------------- 3 files changed, 229 deletions(-) delete mode 100644 libnetdata/health/Makefile.am delete mode 100644 libnetdata/health/health.c delete mode 100644 libnetdata/health/health.h (limited to 'libnetdata/health') diff --git a/libnetdata/health/Makefile.am b/libnetdata/health/Makefile.am deleted file mode 100644 index 643458b74..000000000 --- a/libnetdata/health/Makefile.am +++ /dev/null @@ -1,7 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later - -AUTOMAKE_OPTIONS = subdir-objects -MAINTAINERCLEANFILES = $(srcdir)/Makefile.in - -dist_noinst_DATA = \ - $(NULL) diff --git a/libnetdata/health/health.c b/libnetdata/health/health.c deleted file mode 100644 index 2b3b8f7d6..000000000 --- a/libnetdata/health/health.c +++ /dev/null @@ -1,169 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -#include "health.h" - -SILENCERS *silencers; - -/** - * Create Silencer - * - * Allocate a new silencer to Netdata. - * - * @return It returns the address off the silencer on success and NULL otherwise - */ -SILENCER *create_silencer(void) { - SILENCER *t = callocz(1, sizeof(SILENCER)); - netdata_log_debug(D_HEALTH, "HEALTH command API: Created empty silencer"); - - return t; -} - -/** - * Health Silencers add - * - * Add more one silencer to the list of silencers. - * - * @param silencer - */ -void health_silencers_add(SILENCER *silencer) { - // Add the created instance to the linked list in silencers - silencer->next = silencers->silencers; - silencers->silencers = silencer; - netdata_log_debug( - D_HEALTH, - "HEALTH command API: Added silencer %s:%s:%s:%s", - silencer->alarms, - silencer->charts, - silencer->contexts, - silencer->hosts); -} - -/** - * Silencers Add Parameter - * - * Create a new silencer and adjust the variables - * - * @param silencer a pointer to the silencer that will be adjusted - * @param key the key value sent by client - * @param value the value sent to the key - * - * @return It returns the silencer configured on success and NULL otherwise - */ -SILENCER *health_silencers_addparam(SILENCER *silencer, char *key, char *value) { - static uint32_t - hash_alarm = 0, - hash_template = 0, - hash_chart = 0, - hash_context = 0, - hash_host = 0; - - if (unlikely(!hash_alarm)) { - hash_alarm = simple_uhash(HEALTH_ALARM_KEY); - hash_template = simple_uhash(HEALTH_TEMPLATE_KEY); - hash_chart = simple_uhash(HEALTH_CHART_KEY); - hash_context = simple_uhash(HEALTH_CONTEXT_KEY); - hash_host = simple_uhash(HEALTH_HOST_KEY); - } - - uint32_t hash = simple_uhash(key); - if (unlikely(silencer == NULL)) { - if ( - (hash == hash_alarm && !strcasecmp(key, HEALTH_ALARM_KEY)) || - (hash == hash_template && !strcasecmp(key, HEALTH_TEMPLATE_KEY)) || - (hash == hash_chart && !strcasecmp(key, HEALTH_CHART_KEY)) || - (hash == hash_context && !strcasecmp(key, HEALTH_CONTEXT_KEY)) || - (hash == hash_host && !strcasecmp(key, HEALTH_HOST_KEY)) - ) { - silencer = create_silencer(); - } - } - - if (hash == hash_alarm && !strcasecmp(key, HEALTH_ALARM_KEY)) { - silencer->alarms = strdupz(value); - silencer->alarms_pattern = simple_pattern_create(silencer->alarms, NULL, SIMPLE_PATTERN_EXACT, true); - } else if (hash == hash_chart && !strcasecmp(key, HEALTH_CHART_KEY)) { - silencer->charts = strdupz(value); - silencer->charts_pattern = simple_pattern_create(silencer->charts, NULL, SIMPLE_PATTERN_EXACT, true); - } else if (hash == hash_context && !strcasecmp(key, HEALTH_CONTEXT_KEY)) { - silencer->contexts = strdupz(value); - silencer->contexts_pattern = simple_pattern_create(silencer->contexts, NULL, SIMPLE_PATTERN_EXACT, true); - } else if (hash == hash_host && !strcasecmp(key, HEALTH_HOST_KEY)) { - silencer->hosts = strdupz(value); - silencer->hosts_pattern = simple_pattern_create(silencer->hosts, NULL, SIMPLE_PATTERN_EXACT, true); - } - - return silencer; -} - -/** - * JSON Read Callback - * - * Callback called by netdata to create the silencer. - * - * @param e the main json structure - * - * @return It always return 0. - */ -int health_silencers_json_read_callback(JSON_ENTRY *e) -{ - switch(e->type) { - case JSON_OBJECT: -#ifndef ENABLE_JSONC - e->callback_function = health_silencers_json_read_callback; - if(strcmp(e->name,"")) { - // init silencer - netdata_log_debug(D_HEALTH, "JSON: Got object with a name, initializing new silencer for %s",e->name); -#endif - e->callback_data = create_silencer(); - if(e->callback_data) { - health_silencers_add(e->callback_data); - } -#ifndef ENABLE_JSONC - } -#endif - break; - - case JSON_ARRAY: - e->callback_function = health_silencers_json_read_callback; - break; - - case JSON_STRING: - if(!strcmp(e->name,"type")) { - netdata_log_debug(D_HEALTH, "JSON: Processing type=%s",e->data.string); - if (!strcmp(e->data.string,"SILENCE")) silencers->stype = STYPE_SILENCE_NOTIFICATIONS; - else if (!strcmp(e->data.string,"DISABLE")) silencers->stype = STYPE_DISABLE_ALARMS; - } else { - netdata_log_debug(D_HEALTH, "JSON: Adding %s=%s", e->name, e->data.string); - if (e->callback_data) - (void)health_silencers_addparam(e->callback_data, e->name, e->data.string); - } - break; - - case JSON_BOOLEAN: - netdata_log_debug(D_HEALTH, "JSON: Processing all_alarms"); - silencers->all_alarms=e->data.boolean?1:0; - break; - - case JSON_NUMBER: - case JSON_NULL: - break; - } - - return 0; -} - -/** - * Initialize Global Silencers - * - * Initialize the silencer for the whole netdata system. - * - * @return It returns 0 on success and -1 otherwise - */ -int health_initialize_global_silencers() { - silencers = mallocz(sizeof(SILENCERS)); - silencers->all_alarms = 0; - silencers->stype = STYPE_NONE; - silencers->silencers = NULL; - - return 0; -} diff --git a/libnetdata/health/health.h b/libnetdata/health/health.h deleted file mode 100644 index 31173fe61..000000000 --- a/libnetdata/health/health.h +++ /dev/null @@ -1,53 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -#ifndef NETDATA_HEALTH_LIB -# define NETDATA_HEALTH_LIB 1 - -# include "../libnetdata.h" - -#define HEALTH_ALARM_KEY "alarm" -#define HEALTH_TEMPLATE_KEY "template" -#define HEALTH_CONTEXT_KEY "context" -#define HEALTH_CHART_KEY "chart" -#define HEALTH_HOST_KEY "hosts" -#define HEALTH_OS_KEY "os" -#define HEALTH_LOOKUP_KEY "lookup" -#define HEALTH_CALC_KEY "calc" - -typedef struct silencer { - char *alarms; - SIMPLE_PATTERN *alarms_pattern; - - char *hosts; - SIMPLE_PATTERN *hosts_pattern; - - char *contexts; - SIMPLE_PATTERN *contexts_pattern; - - char *charts; - SIMPLE_PATTERN *charts_pattern; - - struct silencer *next; -} SILENCER; - -typedef enum silence_type { - STYPE_NONE, - STYPE_DISABLE_ALARMS, - STYPE_SILENCE_NOTIFICATIONS -} SILENCE_TYPE; - -typedef struct silencers { - int all_alarms; - SILENCE_TYPE stype; - SILENCER *silencers; -} SILENCERS; - -extern SILENCERS *silencers; - -SILENCER *create_silencer(void); -int health_silencers_json_read_callback(JSON_ENTRY *e); -void health_silencers_add(SILENCER *silencer); -SILENCER * health_silencers_addparam(SILENCER *silencer, char *key, char *value); -int health_initialize_global_silencers(); - -#endif -- cgit v1.2.3