diff options
Diffstat (limited to '')
-rw-r--r-- | src/health/health_silencers.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/health/health_silencers.h b/src/health/health_silencers.h new file mode 100644 index 000000000..fe80c2477 --- /dev/null +++ b/src/health/health_silencers.h @@ -0,0 +1,55 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +#ifndef NETDATA_HEALTH_SILENCERS_H +#define NETDATA_HEALTH_SILENCERS_H + +#include "health.h" + +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(); + +void free_silencers(SILENCER *t); + +struct web_client; +int web_client_api_request_v1_mgmt_health(RRDHOST *host, struct web_client *w, char *url); + +const char *health_silencers_filename(void); +void health_set_silencers_filename(void); +void health_silencers_init(void); +SILENCE_TYPE health_silencers_check_silenced(RRDCALC *rc, const char *host); +int health_silencers_update_disabled_silenced(RRDHOST *host, RRDCALC *rc); + +#endif //NETDATA_HEALTH_SILENCERS_H |