mirror of https://github.com/cppla/ServerStatus
eval
parent
962d564c80
commit
e2a59a5465
|
@ -51,7 +51,7 @@
|
|||
},
|
||||
{
|
||||
"name": "ipv4 offline warning",
|
||||
"rule": "online4==0",
|
||||
"rule": "online4=0",
|
||||
"callback": "https://yourSMSurl"
|
||||
},
|
||||
{
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -7,6 +7,7 @@
|
|||
#include <json.h>
|
||||
#include "server.h"
|
||||
#include "main.h"
|
||||
#include "exprtk.hpp"
|
||||
|
||||
#if defined(CONF_FAMILY_UNIX)
|
||||
#include <signal.h>
|
||||
|
@ -246,18 +247,66 @@ int CMain::HandleMessage(int ClientNetID, char *pMessage)
|
|||
return 1;
|
||||
}
|
||||
|
||||
|
||||
void CMain::WatchdogMessage(double load_1, double load_5, double load_15, double ping_10010, double ping_189, double ping_10086,
|
||||
double time_10010, double time_189, double time_10086, int tcp, int udp, int process, int thread,
|
||||
int64_t network_rx, int64_t network_tx, int64_t network_in, int64_t network_out, int memory_total, int memory_used,
|
||||
int swap_total, int swap_used, int hdd_total, int hdd_used, int io_read, int io_write, int cpu,
|
||||
int online4, int online6)
|
||||
double time_10010, double time_189, double time_10086, double tcp, double udp, double process, double thread,
|
||||
double network_rx, double network_tx, double network_in, double network_out, double memory_total, double memory_used,
|
||||
double swap_total, double swap_used, double hdd_total, double hdd_used, double io_read, double io_write, double cpu,
|
||||
double online4, double online6)
|
||||
{
|
||||
printf("%f\t%f\t%f\n", load_1, load_5, load_15);
|
||||
printf("%f\t%f\t%f\n", ping_10010, ping_189, ping_10086);
|
||||
printf("%f\t%f\t%f\n", time_10010, time_189, time_10086);
|
||||
printf("%d\t%d\t%d\t%d\t%ld\t%ld\t%ld\t%ld\t\n", tcp, udp, process, thread, network_rx, network_tx, network_in, network_out);
|
||||
printf("%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t\n", memory_total, memory_used, swap_total, swap_used, hdd_total, hdd_used, io_read, io_write);
|
||||
printf("%d\t%d\t%d\t\n", cpu, online4, online6);
|
||||
int ID = 0;
|
||||
while (strcmp(Watchdog(ID)->m_aName, "NULL"))
|
||||
{
|
||||
typedef exprtk::symbol_table<double> symbol_table_t;
|
||||
typedef exprtk::expression<double> expression_t;
|
||||
typedef exprtk::parser<double> parser_t;
|
||||
const std::string expression_string = Watchdog(ID)->m_aRule;
|
||||
|
||||
symbol_table_t symbol_table;
|
||||
symbol_table.add_variable("load_1",load_1);
|
||||
symbol_table.add_variable("load_5",load_5);
|
||||
symbol_table.add_variable("load_15",load_15);
|
||||
symbol_table.add_variable("ping_10010",ping_10010);
|
||||
symbol_table.add_variable("ping_189",ping_189);
|
||||
symbol_table.add_variable("ping_10086",ping_10086);
|
||||
symbol_table.add_variable("time_10010",time_10010);
|
||||
symbol_table.add_variable("time_189",time_189);
|
||||
symbol_table.add_variable("time_10086",time_10086);
|
||||
symbol_table.add_variable("tcp",tcp);
|
||||
symbol_table.add_variable("udp",udp);
|
||||
symbol_table.add_variable("process",process);
|
||||
symbol_table.add_variable("thread",thread);
|
||||
symbol_table.add_variable("network_rx",network_rx);
|
||||
symbol_table.add_variable("network_tx",network_tx);
|
||||
symbol_table.add_variable("network_in",network_in);
|
||||
symbol_table.add_variable("network_out",network_out);
|
||||
symbol_table.add_variable("memory_total",memory_total);
|
||||
symbol_table.add_variable("memory_used",memory_used);
|
||||
symbol_table.add_variable("swap_total",swap_total);
|
||||
symbol_table.add_variable("swap_used",swap_used);
|
||||
symbol_table.add_variable("hdd_total",hdd_total);
|
||||
symbol_table.add_variable("hdd_used",hdd_used);
|
||||
symbol_table.add_variable("io_read",io_read);
|
||||
symbol_table.add_variable("io_write",io_write);
|
||||
symbol_table.add_variable("cpu",cpu);
|
||||
symbol_table.add_variable("online4",online4);
|
||||
symbol_table.add_variable("online6",online6);
|
||||
symbol_table.add_constants();
|
||||
|
||||
expression_t expression;
|
||||
expression.register_symbol_table(symbol_table);
|
||||
|
||||
parser_t parser;
|
||||
parser.compile(expression_string,expression);
|
||||
|
||||
if (expression.value() > 0)
|
||||
{
|
||||
printf("name: %s\n", Watchdog(ID)->m_aName);
|
||||
printf("debug \n");
|
||||
}
|
||||
|
||||
ID++;
|
||||
}
|
||||
}
|
||||
|
||||
void CMain::JSONUpdateThread(void *pUser)
|
||||
|
@ -454,6 +503,7 @@ int CMain::ReadConfig()
|
|||
|
||||
ID++;
|
||||
}
|
||||
str_copy(Watchdog(ID)->m_aName, "NULL", sizeof(Watchdog(ID)->m_aName));
|
||||
}
|
||||
|
||||
// if file exists, read last network traffic record,reset m_LastNetworkIN and m_LastNetworkOUT
|
||||
|
|
|
@ -107,10 +107,10 @@ public:
|
|||
|
||||
CWatchDog *Watchdog(int ruleID) { return &m_aCWatchDogs[ruleID]; }
|
||||
void WatchdogMessage(double load_1, double load_5, double load_15, double ping_10010, double ping_189, double ping_10086,
|
||||
double time_10010, double time_189, double time_10086, int tcp, int udp, int process, int thread,
|
||||
int64_t network_rx, int64_t network_tx, int64_t network_in, int64_t network_out,
|
||||
int memory_total, int memory_used,int swap_total, int swap_used, int hdd_total,
|
||||
int hdd_used, int io_read, int io_write, int cpu,int online4, int online6);
|
||||
double time_10010, double time_189, double time_10086, double tcp, double udp, double process, double thread,
|
||||
double network_rx, double network_tx, double network_in, double network_out,double memory_total,
|
||||
double memory_used,double swap_total, double swap_used, double hdd_total,
|
||||
double hdd_used, double io_read, double io_write, double cpu,double online4, double online6);
|
||||
|
||||
CClient *Client(int ClientID) { return &m_aClients[ClientID]; }
|
||||
CClient *ClientNet(int ClientNetID);
|
||||
|
|
Loading…
Reference in New Issue