Bladeren bron

syslog: add hooks

Sergey Alirzaev 4 jaren geleden
bovenliggende
commit
74356f8b69

+ 3 - 0
modules/HTTP_Server/web_params_api.c

@@ -37,6 +37,7 @@
 #include "tinystdio.h"
 #endif
 #include <string.h>
+#include "syslog.h"
 
 typedef  void (*pFunction)(void);
 pFunction Jump_To_Application;
@@ -411,6 +412,7 @@ void HTTP_ResetSettings(void)
     //taskENTER_CRITICAL();
 
     SNMP_SendUserTrap(DEVICE_RESTORED);
+    syslog_str("Настройки сброшены к настройкам по умолчанию");
     log_event_data(LOG_SYSTEM_DEFCONFIG, name_login);
     vTaskDelay(500);
     SETTINGS_SetPartDefault();
@@ -481,6 +483,7 @@ void vTaskReboot(void *pvParameters)
 
         if (mode) {
             SNMP_SendUserTrap(FW_VERSION_UPDATE);
+            syslog_str("Идёт обновление ПО");
             source_act_t src_act = get_act_source();
 #ifdef CLI_ENABLE
             if (src_act == CLI_ACT) {

+ 3 - 0
modules/MegaTec/megatec.c

@@ -12,6 +12,7 @@
 #include "ups_monitor.h"
 #include "log.h"
 #include "snmp_api.h"
+#include "syslog.h"
 #include "settings_api.h"
 #include "parameters.h"
 #ifdef PRINTF_STDLIB
@@ -778,6 +779,7 @@ void ups_mode_response(char *data)
         memset(value, 0, sizeof(value));
         GetModeStr(value, &len);
         SNMP_SendUserTrap(UPS_MODE);
+        syslog("Режим ИБП: %s", value);
         log_event_data(LOG_UPS_MODE, value);
     }
 #endif
@@ -932,6 +934,7 @@ void kstar_mode(void)
         memset(value, 0, sizeof(value));
         GetModeStr(value, &len);
         SNMP_SendUserTrap(UPS_MODE);
+        syslog("Режим ИБП: %s", value);
         log_event_data(LOG_UPS_MODE, value);
     }
 #endif

+ 2 - 0
modules/buttons/buttons.c

@@ -18,6 +18,7 @@
 #include "log.h"
 #include "snmp_api.h"
 #include "trap_api.h"
+#include "syslog.h"
 #include "hal.h"
 
 #include "FreeRTOS.h"
@@ -167,6 +168,7 @@ void BUTTON_DEF_DownHandler(void)
 {
   //taskENTER_CRITICAL();
   SNMP_SendUserTrap(DEVICE_RESTORED);
+  syslog_str("Настройки сброшены к настройкам по умолчанию");
   log_event_data(LOG_SYSTEM_DEFCONFIG, "Администратор");
   vTaskDelay(500);
   SETTINGS_SetDefaultDebug();

+ 2 - 0
modules/cli/CLI_Commands.c

@@ -38,6 +38,7 @@
 #include "cli.h"
 #include "netconf.h"
 #include "control_symbol.h"
+#include "syslog.h"
 
 const int8_t *const pcInvalidCommand = ( int8_t * )
     "Неправильно введены параметры команды.  Введите \"help\" для просмотра списка поддерживаемых команд.\r\n\r\n";
@@ -2226,6 +2227,7 @@ static portBASE_TYPE prvTaskConfigCommand(cli_state_t *cli_state, int8_t *pcWrit
                 vTaskDelay(500);
                 SETTINGS_SetPartDefault();
                 cli_save_config(cli_state);
+                syslog_str("Настройки сброшены к настройкам по умолчанию");
                 strcpy( ( char * ) pcWriteBuffer,
                     "\t\tНастройки сброшены к настройкам по умолчанию!\r\n");
             } else {

+ 2 - 0
modules/common/hal.c

@@ -10,6 +10,7 @@
 #include "log.h"
 #include "snmp_api.h"
 #include "trap_api.h"
+#include "syslog.h"
 #endif
 #include "hal.h"
 #include <stddef.h>
@@ -22,6 +23,7 @@ void Reboot(source_act_t source_reset)
 {
 #ifndef BT6702_SERVICE
     SNMP_SendUserTrap(DEVICE_REBOOTED);
+    syslog_str("Устройство перезагружено");
     switch (source_reset) {
         case WEB_ACT:
             log_event_data(LOG_SYSTEM_BOOT, name_login);

+ 41 - 1
modules/monitor/ups_monitor.c

@@ -25,6 +25,7 @@
 
 #include "trap_api.h"
 #include "snmp_api.h"
+#include "syslog.h"
 
 #include <stdbool.h>
 
@@ -364,6 +365,7 @@ void UPS_TestFinishMonitor(void)
         if (Ccalc_percent >= 80) {
           sprintf(log_string, "Авария(%0.2f Ач)", Ccalc);
           log_event_data(LOG_TEST_ALARM_AKB, log_string);
+	  syslog("Тест батареи: %s", log_string);
 #ifdef RELAY_ALARM_AKB
           relay_setup_log(CurrROtype_Sourse, ALARM_AKB, 1);
           AKBAlarmState = 1;
@@ -371,6 +373,7 @@ void UPS_TestFinishMonitor(void)
         } else {
           sprintf(log_string, "Норма(%0.2f Ач)", Ccalc);
           log_event_data(LOG_TEST_ALARM_AKB, log_string);
+	  syslog("Тест батареи: %s", log_string);
 #ifdef RELAY_ALARM_AKB
           relay_setup_log(CurrROtype_Sourse, ALARM_AKB, 0);
           AKBAlarmState = 0;
@@ -393,9 +396,11 @@ void UPS_TestFinishMonitor(void)
        uint8_t len1 = strlen(log_string);
        sprintf(&log_string[len1], "(%0.1f мин)", time_test_actual);
        log_event_data(LOG_TEST_UPS, log_string);
+       syslog("Тест батареи: %s", log_string);
        test_time = 0;
 #else
       log_event_data(LOG_TEST_UPS, "Завершен");
+      syslog_str("Тест батареи: Завершён");
 #endif
       flUpdateLog = true;
     } else {
@@ -431,6 +436,7 @@ void UPS_TestFinishMonitor(void)
 #endif
       printf("Test start\r\n");
       log_event_data(LOG_TEST_UPS, log_string);
+      syslog("Тест батареи: %s", log_string);
       flUpdateLog = true;
     }
   }
@@ -530,6 +536,7 @@ void UPS_LineFailMonitor(void)
 #endif
     	log_event_data(LOG_ALARM_LINE, log_string);
           SNMP_SendUserTrap(LINE_ALARM);
+          syslog_str("Авария сети");
           flUpdateLog = true;
 #if	defined RELAY_AC_PRESENT
     	relay_setup_log(CurrROtype_Sourse, AC_PRESENT, 1);
@@ -541,6 +548,7 @@ void UPS_LineFailMonitor(void)
 #endif
       log_event_data(LOG_ALARM_LINE, "Норма");
       SNMP_SendUserTrap(LINE_NORM);
+      syslog_str("Нормализация сети");
       flUpdateLog = true;
     }
 
@@ -568,6 +576,7 @@ void UPS_LineFailMonitor(void)
 #endif
     	log_event_data(LOG_ALARM_LINE, log_string);
     	SNMP_SendUserTrap(LINE_ALARM);
+       syslog_str("Авария сети");
 #ifdef AKB_CHANGE_MONITOR
       if(UPS.Alarm & 0x40) {
         log_event_data(LOG_ALARM_CHANGE_AKB, "Авария");
@@ -582,6 +591,7 @@ void UPS_LineFailMonitor(void)
 #endif
       log_event_data(LOG_ALARM_LINE, "Норма");
       SNMP_SendUserTrap(LINE_NORM);
+      syslog_str("Нормализация сети");
       flUpdateLog = true;
     }
   }
@@ -637,8 +647,9 @@ void UPS_VACoutputLowRangeMonitor(void)
 #endif
 	        log_event_data(LOG_ALARM_VAC_LOW_OUTPUT, "Авария");
 #ifdef HARDWARE_BT6711
-	        // Отправка трапа о завышении
+	        // Отправка трапа о занижении
 	        SNMP_SendUserTrap(VAC_LOW_OUTPUT_ALARM);
+		syslog_str("Выходное напряжение занижено");
 #endif
 	        flUpdateLog = true;
 	    } else {
@@ -661,6 +672,7 @@ void UPS_VACoutputLowRangeMonitor(void)
 #ifdef HARDWARE_BT6711
 	        // Отправка трапа о нормализации
 	        SNMP_SendUserTrap(VAC_LOW_OUTPUT_NORM);
+		syslog_str("Выходное напряжение нормализовалось");
 #endif
 	        flUpdateLog = true;
 	    }
@@ -711,6 +723,7 @@ void UPS_VACoutputHighRangeMonitor(void)
 #ifdef HARDWARE_BT6711
 	        // Отправка трапа о завышении
 	        SNMP_SendUserTrap(VAC_HIGH_OUTPUT_ALARM);
+		syslog_str("Выходное напряжение превышено");
 #endif
 	        flUpdateLog = true;
 	    } else {
@@ -732,6 +745,7 @@ void UPS_VACoutputHighRangeMonitor(void)
 #ifdef HARDWARE_BT6711         
 	        // Отправка трапа о нормализации
 	        SNMP_SendUserTrap(VAC_HIGH_OUTPUT_NORM);
+		syslog_str("Выходное напряжение нормализовалось");
 #endif
 	        flUpdateLog = true;
 	    }
@@ -779,6 +793,7 @@ void UPS_LowBatMonitor(void)
     if (lowBatCurrent){
     	log_event_data(LOG_ALARM_LOW_BAT, "Авария");
           SNMP_SendUserTrap(LOW_BAT_ALARM);
+	  syslog_str("Низкий заряд батареи");
           flUpdateLog = true;
 #if defined RELAY_CHARGE_AKB
       relay_setup_log(CurrROtype_Sourse, CHARGE_AKB, 1);
@@ -787,6 +802,7 @@ void UPS_LowBatMonitor(void)
     else{
 	  SNMP_SendUserTrap(LOW_BAT_NORM);
 	  log_event_data(LOG_ALARM_LOW_BAT, "Норма");
+	  syslog_str("Нормальный заряд батареи");
 	  flUpdateLog = true;
 #if defined RELAY_CHARGE_AKB
 	  relay_setup_log(CurrROtype_Sourse, CHARGE_AKB, 0);
@@ -801,6 +817,7 @@ void UPS_LowBatMonitor(void)
 		flag_alarm_time = false;
 		if (lowBatCurrent){
 		  SNMP_SendUserTrap(LOW_BAT_ALARM);
+		  syslog_str("Низкий заряд батареи");
 		  log_event_data(LOG_ALARM_LOW_BAT, "Авария");
 		  flUpdateLog = true;
 #ifdef RELAY_CHARGE_AKB
@@ -809,6 +826,7 @@ void UPS_LowBatMonitor(void)
 		}
 		else{
 		  SNMP_SendUserTrap(LOW_BAT_NORM);
+		  syslog_str("Нормальный заряд батареи");
 		  log_event_data(LOG_ALARM_LOW_BAT, "Норма");
 		  flUpdateLog = true;
 #if defined RELAY_CHARGE_AKB
@@ -876,6 +894,7 @@ void UPS_PowerMonitor(void)
 	  log_event_data(LOG_ALARM_POWER, "Авария");
 	  // Отправка трапа о завышении 
 	  SNMP_SendUserTrap(POWER_ALARM);
+	  syslog_str("Превышена номинальная мощность ИБП");
 	  flUpdateLog = true;
 	}
   }
@@ -896,6 +915,7 @@ void UPS_PowerMonitor(void)
 	  log_event_data(LOG_ALARM_POWER, "Норма");
 	  // Отправка трапа о нормализации 
 	  SNMP_SendUserTrap(POWER_NORM);
+	  syslog_str("Мощность нагрузки ИБП нормализовалась");
 	  flUpdateLog = true;
 	}
   }
@@ -993,6 +1013,7 @@ void UPS_TemperatureHighRangeMonitor(void)
       log_event_data(LOG_ALARM_HIGH_TEMP, "Норма");
       // Отправка трапа о нормализации
 	    SNMP_SendUserTrap(BATTERY_HIGH_TEMPERATURE_NORM);
+      syslog_str("Температура батареи нормализировалась");
       flUpdateLog = true;
     }
     return;
@@ -1013,6 +1034,7 @@ void UPS_TemperatureHighRangeMonitor(void)
 	  log_event_data(LOG_ALARM_HIGH_TEMP, "Авария");
 	  // Отправка трапа о завышении 
 	  SNMP_SendUserTrap(BATTERY_HIGH_TEMPERATURE_ALARM);
+	  syslog_str("Температура батареи превышена");
 	  flUpdateLog = true;
 	}
   }
@@ -1026,6 +1048,7 @@ void UPS_TemperatureHighRangeMonitor(void)
 	    log_event_data(LOG_ALARM_HIGH_TEMP, "Норма");
 	  // Отправка трапа о нормализации 
 	    SNMP_SendUserTrap(BATTERY_HIGH_TEMPERATURE_NORM);
+	    syslog_str("Температура батареи нормализировалась");
 	    flUpdateLog = true;
 	  }
   }
@@ -1052,6 +1075,7 @@ void UPS_TemperatureLowRangeMonitor(void)
       log_event_data(LOG_ALARM_LOW_TEMP, "Норма");
       // Отправка трапа о нормализации
 	    SNMP_SendUserTrap(BATTERY_LOW_TEMPERATURE_NORM);
+	    syslog_str("Температура батареи нормализировалась");
       flUpdateLog = true;
     }
     return;
@@ -1072,6 +1096,7 @@ void UPS_TemperatureLowRangeMonitor(void)
 	  log_event_data(LOG_ALARM_LOW_TEMP, "Авария");
 	  // Отправка трапа о занижении
 	  SNMP_SendUserTrap(BATTERY_LOW_TEMPERATURE_ALARM);
+	  syslog_str("Температура батареи занижена");
 	  flUpdateLog = true;
 	}
   }
@@ -1085,6 +1110,7 @@ void UPS_TemperatureLowRangeMonitor(void)
 	  log_event_data(LOG_ALARM_LOW_TEMP, "Норма");
 	  // Отправка трапа о нормализации
 	  SNMP_SendUserTrap(BATTERY_LOW_TEMPERATURE_NORM);
+	  syslog_str("Температура батареи нормализировалась");
 	  flUpdateLog = true;
 	}
   }
@@ -1113,6 +1139,7 @@ void Cabinet_TemperatureHighRangeMonitor(void)
       log_event_data(LOG_ALARM_HIGH_CABINET_TEMP, "Норма");
       // Отправка трапа о нормализации
 	    SNMP_SendUserTrap(CABINET_HIGH_TEMPERATURE_NORM);
+	    syslog_str("Температура шкафа нормализировалась");
       flUpdateLog = true;
     }
     return;
@@ -1134,6 +1161,7 @@ void Cabinet_TemperatureHighRangeMonitor(void)
 	  log_event_data(LOG_ALARM_HIGH_CABINET_TEMP, "Авария");
 	  // Отправка трапа о завышении 
 	  SNMP_SendUserTrap(CABINET_HIGH_TEMPERATURE_ALARM);
+	  syslog_str("Температура шкафа превышена");
 	  flUpdateLog = true;
 	}
   }
@@ -1148,6 +1176,7 @@ void Cabinet_TemperatureHighRangeMonitor(void)
 	  log_event_data(LOG_ALARM_HIGH_CABINET_TEMP, "Норма");
 	  // Отправка трапа о нормализации 
 	  SNMP_SendUserTrap(CABINET_HIGH_TEMPERATURE_NORM);
+	  syslog_str("Температура шкафа нормализировалась");
 	  flUpdateLog = true;
 	}
   }
@@ -1173,6 +1202,7 @@ void Cabinet_TemperatureLowRangeMonitor(void)
       log_event_data(LOG_ALARM_LOW_CABINET_TEMP, "Норма");
       // Отправка трапа о нормализации
 	    SNMP_SendUserTrap(CABINET_LOW_TEMPERATURE_NORM);
+	    syslog_str("Температура шкафа нормализировалась");
       flUpdateLog = true;
     }
     return;
@@ -1193,6 +1223,7 @@ void Cabinet_TemperatureLowRangeMonitor(void)
 	  log_event_data(LOG_ALARM_LOW_CABINET_TEMP, "Авария");
 	  // Отправка трапа о занижении
 	  SNMP_SendUserTrap(CABINET_LOW_TEMPERATURE_ALARM);
+	  syslog_str("Температура шкафа занижена");
 	  flUpdateLog = true;
 	}
   }
@@ -1207,6 +1238,7 @@ void Cabinet_TemperatureLowRangeMonitor(void)
 	  log_event_data(LOG_ALARM_LOW_CABINET_TEMP, "Норма");
 	  // Отправка трапа о нормализации
 	  SNMP_SendUserTrap(CABINET_LOW_TEMPERATURE_NORM);
+	  syslog_str("Температура шкафа нормализировалась");
 	  flUpdateLog = true;
 	}
   }
@@ -1236,10 +1268,12 @@ void UPS_ConnectMonitor(void)
     if (!connectCurrent){
     	log_event_data(LOG_ALARM_UPS, "Авария");
     	SNMP_SendUserTrap(CONNECT_MONITOR_ALARM);
+	syslog_str("Потеряна связь с ИБП");
     }
     else{
     	log_event_data(LOG_ALARM_UPS, "Норма");
 		SNMP_SendUserTrap(CONNECT_MONITOR_NORM);
+		syslog_str("Восстановлена связь с ИБП");
 		flUpdateLog = true;
     }
     return;
@@ -1254,11 +1288,13 @@ void UPS_ConnectMonitor(void)
     if (connectCurrent){
       log_event_data(LOG_ALARM_UPS, "Норма");
       SNMP_SendUserTrap(CONNECT_MONITOR_NORM);
+      syslog_str("Восстановлена связь с ИБП");
       flUpdateLog = true;
     }
     else{
       log_event_data(LOG_ALARM_UPS, "Авария");
       SNMP_SendUserTrap(CONNECT_MONITOR_ALARM);
+      syslog_str("Потеряна связь с ИБП");
     }
   }
   
@@ -1300,6 +1336,7 @@ void UPS_BatteryConnectMonitor(void)
     if (AKBconnectCurrent){
       log_event_data(LOG_ALARM_AKB, "Авария");
 	  SNMP_SendUserTrap(BATTERY_CONNECT_ALARM);
+	  syslog_str("Не удалось связаться с батареей");
 	  flUpdateLog = true;
 #if defined RELAY_OFF_AKB
       relay_setup_log(CurrROtype_Sourse, OFF_AKB, 1);
@@ -1308,6 +1345,7 @@ void UPS_BatteryConnectMonitor(void)
     else{
     	log_event_data(LOG_ALARM_AKB, "Норма");
 		  SNMP_SendUserTrap(BATTERY_CONNECT_NORM);
+		  syslog_str("Связь с батареей восстановлена");
 		  flUpdateLog = true;
 #if	defined RELAY_OFF_AKB
 		  relay_setup_log(CurrROtype_Sourse, OFF_AKB, 0);
@@ -1323,6 +1361,7 @@ void UPS_BatteryConnectMonitor(void)
 		if (!AKBconnectCurrent){
 		  log_event_data(LOG_ALARM_AKB, "Норма");
 		  SNMP_SendUserTrap(BATTERY_CONNECT_NORM);
+		  syslog_str("Связь с батареей восстановлена");
 		  flUpdateLog = true;
 #if defined RELAY_OFF_AKB
 		  relay_setup_log(CurrROtype_Sourse, OFF_AKB, 0);
@@ -1331,6 +1370,7 @@ void UPS_BatteryConnectMonitor(void)
 		else{
 		  log_event_data(LOG_ALARM_AKB, "Авария");
 		  SNMP_SendUserTrap(BATTERY_CONNECT_ALARM);
+		  syslog_str("Не удалось связаться с батареей");
 		  flUpdateLog = true;
 #if defined RELAY_OFF_AKB
 		  relay_setup_log(CurrROtype_Sourse, OFF_AKB, 1);

+ 4 - 0
modules/parameters.c

@@ -44,6 +44,7 @@
 #include <string.h>
 #include <stdlib.h>
 #include <math.h>
+#include "syslog.h"
 
 #ifdef NOTIFICATION_CONTROL_ENABLE
 extern const char* name_traps[];
@@ -1647,6 +1648,9 @@ void GetSyslogPort(char *str, uint8_t *len)
 void SetSyslogEnable(char *str)
 {
   sSettings.sSyslog.enabled = strncmp(str, "on", 2) == 0;
+  if (sSettings.sSyslog.enabled) {
+    openlog();
+  }
 }
 void SetSyslogServer(char *str)
 {

+ 1 - 1
thirdparty/FreeRadius/lib/fr_log.c

@@ -43,7 +43,7 @@ void rc_log(int prio, char const *format, ...)
 	va_end(ap);
 
 #ifndef _MSC_VER  TODO: Fix me 
-	syslog(prio, "%s", buff);
+	syslog_str(prio, "%s", buff);
 #endif
 */    
 }

+ 2 - 1
user/init_task.c

@@ -66,7 +66,7 @@
 #ifdef PRINTF_CUSTOM
 #include "tinystdio.h"
 #endif
-
+#include "syslog.h"
 #include "FreeRTOS.h"
 #include "task.h"
 
@@ -185,6 +185,7 @@ void InitTask(void *params)
 #ifdef SSH_ENABLE
     ssh_server_init();
 #endif
+    openlog();
 #endif
 // -----------------------------------------------------------------------------
     /* SNTP */