diff options
Diffstat (limited to 'log-forward')
-rw-r--r-- | log-forward | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/log-forward b/log-forward deleted file mode 100644 index def04e6..0000000 --- a/log-forward +++ /dev/null @@ -1,68 +0,0 @@ -#!rsc by RouterOS -# RouterOS script: log-forward -# Copyright (c) 2020-2021 Christian Hesse <mail@eworm.de> -# https://git.eworm.de/cgit/routeros-scripts/about/COPYING.md -# -# forward log messages via notification -# https://git.eworm.de/cgit/routeros-scripts/about/doc/log-forward.md - -:local 0 "log-forward"; -:global GlobalFunctionsReady; -:while ($GlobalFunctionsReady != true) do={ :delay 500ms; } - -:global Identity; -:global LogForwardFilter; -:global LogForwardFilterMessage; -:global LogForwardLast; -:global LogForwardRateLimit; - -:global IfThenElse; -:global LogPrintExit2; -:global ScriptLock; -:global SendNotification; -:global SymbolForNotification; -:global WaitFullyConnected; - -$ScriptLock $0; - -:if ([ :typeof $LogForwardRateLimit ] = "nothing") do={ - :set LogForwardRateLimit 0; -} - -:if ($LogForwardRateLimit > 30) do={ - :set LogForwardRateLimit ($LogForwardRateLimit - 1); - $LogPrintExit2 info $0 ("Rate limit in action, not forwarding logs, if any!") true; -} - -$WaitFullyConnected; - -:local Count 0; -:local Messages ""; -:local MessageVal; - -:foreach Message in=[ / log find where !(topics~$LogForwardFilter) !(message~$LogForwardFilterMessage) ] do={ - :set MessageVal [ / log get $Message ]; - - :if ($LogForwardLast = ($MessageVal->".id")) do={ - :set Messages ""; - :set Count 0; - } else={ - :set Messages ($Messages . "\n" . $MessageVal->"time" . " " . \ - [ :tostr ($MessageVal->"topics") ] . " " . $MessageVal->"message"); - :set Count ($Count + 1); - } -} - -:if ($Count > 0) do={ - $SendNotification ([ $SymbolForNotification "warning-sign" ] . "Log Forwarding") \ - ("The log on " . $Identity . " contains " . [ $IfThenElse ($Count = 1) \ - "this message" ("these " . $Count . " messages") ] . " after " . \ - [ / system resource get uptime ] . " uptime.\n" . $Messages); - - :set LogForwardRateLimit ($LogForwardRateLimit + 10); - :set LogForwardLast ($MessageVal->".id"); -} else={ - :if ($LogForwardRateLimit > 0) do={ - :set LogForwardRateLimit ($LogForwardRateLimit - 1); - } -} |