next add callback

This commit is contained in:
cppla 2022-07-13 17:11:22 +08:00
parent 7316dbdddb
commit f70705d872
3 changed files with 7 additions and 1 deletions

@ -42,21 +42,25 @@
{ {
"name": "cpu high warning", "name": "cpu high warning",
"rule": "cpu>90", "rule": "cpu>90",
"interval": 600,
"callback": "https://yourSMSurl" "callback": "https://yourSMSurl"
}, },
{ {
"name": "memory high warning", "name": "memory high warning",
"rule": "(memory_used/memory_total)*100>90", "rule": "(memory_used/memory_total)*100>90",
"interval": 600,
"callback": "https://yourSMSurl" "callback": "https://yourSMSurl"
}, },
{ {
"name": "ipv4 offline warning", "name": "ipv4 offline warning",
"rule": "online4=0", "rule": "online4=0",
"interval": 1800,
"callback": "https://yourSMSurl" "callback": "https://yourSMSurl"
}, },
{ {
"name": "you can parse an expression combining any known field", "name": "you can parse an expression combining any known field",
"rule": "(hdd_used/hdd_total)*100>95", "rule": "(hdd_used/hdd_total)*100>95",
"interval": 1800,
"callback": "https://yourSMSurl" "callback": "https://yourSMSurl"
} }
] ]

@ -311,7 +311,7 @@ void CMain::WatchdogMessage(int ClientNetID, double load_1, double load_5, doubl
{ {
int ClientID = ClientNetToClient(ClientNetID); int ClientID = ClientNetToClient(ClientNetID);
time_t currentStamp = (long long)time(/*ago*/0); time_t currentStamp = (long long)time(/*ago*/0);
if ((currentStamp-Client(ClientID)->m_AlarmLastTime) > 1800) if ((currentStamp-Client(ClientID)->m_AlarmLastTime) > Watchdog(ID)->m_aInterval)
{ {
Client(ClientID)->m_AlarmLastTime = currentStamp; Client(ClientID)->m_AlarmLastTime = currentStamp;
printf("node info: %s\n", Client(ClientID)->m_aUsername); printf("node info: %s\n", Client(ClientID)->m_aUsername);
@ -517,6 +517,7 @@ int CMain::ReadConfig()
str_copy(Watchdog(ID)->m_aName, jStart[i]["name"].u.string.ptr, sizeof(Watchdog(ID)->m_aName)); str_copy(Watchdog(ID)->m_aName, jStart[i]["name"].u.string.ptr, sizeof(Watchdog(ID)->m_aName));
str_copy(Watchdog(ID)->m_aRule, jStart[i]["rule"].u.string.ptr, sizeof(Watchdog(ID)->m_aRule)); str_copy(Watchdog(ID)->m_aRule, jStart[i]["rule"].u.string.ptr, sizeof(Watchdog(ID)->m_aRule));
Watchdog(ID)->m_aInterval = jStart[i]["interval"].u.integer;
str_copy(Watchdog(ID)->m_aCallback, jStart[i]["callback"].u.string.ptr, sizeof(Watchdog(ID)->m_aCallback)); str_copy(Watchdog(ID)->m_aCallback, jStart[i]["callback"].u.string.ptr, sizeof(Watchdog(ID)->m_aCallback));
ID++; ID++;

@ -86,6 +86,7 @@ class CMain
struct CWatchDog{ struct CWatchDog{
char m_aName[128]; char m_aName[128];
char m_aRule[128]; char m_aRule[128];
int m_aInterval;
char m_aCallback[128]; char m_aCallback[128];
} m_aCWatchDogs[NET_MAX_CLIENTS]; } m_aCWatchDogs[NET_MAX_CLIENTS];