From 47992fa660c9c82858120c4d16fba0501903ceb9 Mon Sep 17 00:00:00 2001 From: arf20 Date: Mon, 10 Nov 2025 13:48:37 +0100 Subject: REST POST API alert working --- alert.c | 8 ++++---- events.log | 5 +++++ monitor.c | 3 +++ monitor.cfg | 27 --------------------------- 4 files changed, 12 insertions(+), 31 deletions(-) delete mode 100644 monitor.cfg diff --git a/alert.c b/alert.c index a9f51f1..a1ba674 100644 --- a/alert.c +++ b/alert.c @@ -130,8 +130,8 @@ alert_init() alerts[alerts_size].body_tmpl = strdup(body_tmpl); printf("\t%s: %s\n", - alerts[alerts_size].target, - type_str[alerts[alerts_size].type] + type_str[alerts[alerts_size].type], + alerts[alerts_size].target ); alerts_size++; @@ -157,9 +157,9 @@ alert_trigger(const target_t *target) strftime(timestr, 256, "%F %T", tm_now); for (int i = 0; i < alerts_size; i++) { - printf("[%s] [monitor] alerted %s about %s\n", + printf("[%s] [monitor] alerted %.16s about %s\n", timestr, alerts[i].target, target->name); - send_funcs[target->type](target, alerts[i].target, alerts[i].extra, + send_funcs[alerts[i].type](target, alerts[i].target, alerts[i].extra, alerts[i].body_tmpl); } } diff --git a/events.log b/events.log index 8399053..c481d10 100644 --- a/events.log +++ b/events.log @@ -78,3 +78,8 @@ dns,2025-10-27T15:43:17+0000,up https,2025-10-27T15:43:17+0000,up http,2025-11-04T18:39:12Z,down http,2025-11-04T18:40:12Z,up +test,2025-11-10T12:34:07+0000,down +test,2025-11-10T12:42:29+0000,up +test,2025-11-10T12:42:54+0000,down +test,2025-11-10T12:45:09+0000,up +test,2025-11-10T12:46:50+0000,down diff --git a/monitor.c b/monitor.c index 109de89..a35e7ba 100644 --- a/monitor.c +++ b/monitor.c @@ -10,6 +10,7 @@ #include "monitor.h" +#include "alert.h" #include "config.h" @@ -499,6 +500,8 @@ monitor_update_events(const char *log_path) printf("[%s] [monitor] %s is now %s\n", timestr, targets[i].name, status_str[targets[i].status]); + alert_trigger(&targets[i]); + targets[i].status_1 = targets[i].status; } } diff --git a/monitor.cfg b/monitor.cfg deleted file mode 100644 index 226a88e..0000000 --- a/monitor.cfg +++ /dev/null @@ -1,27 +0,0 @@ -# Monitor config -# target=type,name,target - -# listen port -port=8888 - -# monitor interval in seconds (sleep) -interval=5 - -# monitor events log path -log=events.log - -# targets to monitor -target=reach,ipv4,2.59.235.35 -target=dns,dns,arf20.com -target=web,http,http://arf20.com -target=web,https,https://arf20.com - -# email From -from=status@arf20.com - -# what to alert -# alert=api,,, -alert=api,https://arf20.com/%s,application/json,{"content":"%s is %s"} -# alert=email,
,, -alert=email,arf20@arf20.com,%s is %s,%s is %s - -- cgit v1.2.3