netdata/libnetdata/health/health.h

56 lines
1.3 KiB
C

#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_FAMILIES_KEY "families"
#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;
char *families;
SIMPLE_PATTERN *families_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;
SILENCERS *silencers;
extern SILENCER *create_silencer(void);
extern int health_silencers_json_read_callback(JSON_ENTRY *e);
extern void health_silencers_add(SILENCER *silencer);
extern SILENCER * health_silencers_addparam(SILENCER *silencer, char *key, char *value);
extern int health_initialize_global_silencers();
#endif