Featured How-To Logman Collector - Monitorowanie aktywności serwera (Gadu-Gadu lub Log4Net/nLog)

Dyskusja w 'Oh'Linux? Software hacking' rozpoczęta przez użytkownika Silas Mariusz, 26 Październik 2014.

Ładowanie...
  1. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 369
    Miejscowość:
    Nowy Sącz
    Local Time:
    04:32
    Oceny:
    +1 421 / 30 / -6
    Followers:
    23
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE

    Logman_Collector.
    LogMan Collector to program umożliwiający monitorowanie w czasie rzeczywistym dziennika zdarzeń (logów) serwera QNAP NAS i przekazywanie aktywności za pośrednictwem sieci Gadu-Gadu.

    upload_2014-11-2_19-57-53.

    upload_2014-11-2_19-58-32.

    Monitorowane informacje
    • (Connection Logs) aktywność połączeń systemowych/operacji usług sieciowych na plikach
    • (Event Logs) zdarzenia systemowe
    • dla aplikacji drugich: inne powiadomienia z pliku announce.out po otrzymaniu sygnału SIGHUP
    Metody przekazywania
    • Gadu-Gadu Bot (lub dowolny inny zewnętrzny skrypt PHP wywoływany zapytaniem http..)

      Czytelne formatowanie wiadomości

    W przypadku korzystania z usługi Gadu-Gadu za pomocą klienta wtw.im/ zalecena zainstalowanie wtyczki [wtwBIU] Formatowanie wiadomości wysyłanych dla lepszej czytelności przekazywanych informacji.




    Jak zainstalować?

    1. Pobierz i zainstaluj Gadu-Gadu
      wtw.
      Alternatywnie do Gadu-Gadu czy AQQ, zainstaluj komunikator WTW. (Pobierz ze strony: WTW.im)

    2. Zainstaluj Optware lub Qnapware
      optware_vs_qnapware.
      Zaloguj się do panelu zarządzania QNAP i z App Center zainstaluj Optware, bądź alternatywnie zainstaluj Entware/Qnapware - następce Optware. Do pobrania z zasobów forum.

    3. Włącz logowanie połączeń
      qnap_system_logs_start_logging.
      Aby monitorować zdarzenia usług plików, przejdź do logów zdarzeń i włącz logowanie połączeń.

    4. Dodaj nowy kontakt bota Logman #51816153
      qnap_wtw_dodaj_nowy_kontakt.
      Do Gadu-Gadu dodaj nowy kontakt o numerze: 51816153 i podpisz np. Logman

    5. Potwierdź swój numer Gadu-Gadu
      qnap_logman_subscribe.
      Napisz do bota Logman #51816153 wiadomość: ZAPISZ - (pamiętaj! DUŻE litery). W ten sposób autoryzujesz swój numer Gadu-Gadu i potwierdzisz chęć otrzymywanie wiadomości.

    6. Połącz się na konsolę shell po SSH serwerem QNAP
      putty_host_name.
      Za pomocą programu PuTTY połącz się po SSH z serwerem QNAP. (Uwaga: Upewnij się, że w panelu zarządzania QNAP włączyłeś usługę SSH!)

    7. Zaloguj jako admin
      putty_login_as_admin.
      Użyj poświadczeń administratora, aby zalogować się na serwer. (Notka dla początkujących: Wprowadzanie hasła jest ukryte - kursor nie zmienia swojej pozycji.)

    8. Pobierz program Logman
      qnap_logman_download.
      Wpisz poniższą linijkę, aby pobrać program Logman:
      Kod (Bash):
      1. wget http://pool.qnapclub.pl/projects/tools/logman/releases/last/logman.sh
    9. Nadaj uprawnienia pliku wykonywalnego
      qnap_logman_chmod_plus_x.
      Aby móc uruchomić pobrany plik, nadaj mu odpowiednie uprawnienia zezwalające na jego uruchomienie. W tym celu wpisz:
      Kod (Bash):
      1. chmod +x logman.sh
    10. Zainstaluj...
      qnap_logman_install.
      Rozpocznij łatwą instalacje programu wykonując polecenie:
      Kod (Bash):
      1. ./logman.sh install
    11. Podaj swój numer Gadu-Gadu
      qnap_logman_gadu-gadu_im_number.
      Podaj docelowy numer Gadu-Gadu, na który chcesz otrzymywać logi z serwera QNAP.
      (Potwierdzony do otrzymywania wiadomości w kroku 5)

    12. Koniec
      logman_installation_successful.
      Od teraz na bieżąco będziesz informowany o operacjach serwera QNAP.


    W terminalu... - Instalacja

    Link: https://asciinema.org/a/87681


    Konfiguracja dodatkowa
    • Ignorowanie logów od określonych użytkowników lub zawierających treść

      Aby ignorować wiadomości log zawierające określoną treść lub pochodzące od określonego użytkownika w katalogu, w którym zainstalowany jest logman umieść odpowiednio pliki:
      • ignore.lst - zawierający ignorowane słowa (w każdej linii osobno)
      • ignore.usr - zawierający ignorowanych użytkowników (w każdej linii osobno)

      np.
    • Wyświetlanie nazwy Hostname komputerów w logach zamiast adresu IP
      qnap_logman_hostname_instead_ip_addr.

      Aby dla komputerów znajdujących się w sieci lokalnej wyświetlana była łatwa do identyfikacji nazwa hosta zamiast adresu IP określ swoją podsieć w pliku config.ini.


      W tym celu wykonaj poniższe polecenia:
      1. Określ pule adresową komputerów Twojej sieci LAN komendą:
        lan_subnet=192.168.1.
        (format: x . x . x . )
        qnap_logman_hostname_instead_ip_addr.

      2. Znajdź katalog, do którego został zainstalowany program Logman
        Kod (Bash):
        1. publicdir=`/sbin/getcfg Public path -f /etc/config/smb.conf`
        2. qpkgdir=`cd $publicdir && cd ../.qpkg/ && pwd`
        3. installdir="$qpkgdir/logman"
      3. Wyświetl obecny plik config.ini
        cat "$installdir/config.ini"

      4. Zapisz nową wartość pola local_subnet w pliku config.ini wykonując polecenie:
        Kod (Bash):
        1. setcfg Network local_subnet "$lan_subnet" -f "$installdir/config.ini" -c
      5. Upewnij się, że wartość pola local_subnet w pliku config.ini została zmieniona
        getcfg Network local_subnet -f "$installdir/config.ini"

      6. Zrestartuj program Logman
        /etc/init.d/logman.sh restart
    W terminalu... - Konfiguracja dodatkowa

    Link: https://asciinema.org/a/87688


    Ciekawostki
    • Wykonanie testu przez dodanie nowego wpisu w logach połączeń (logowanie połączeń musi być włączone)
      Kod (Bash):
      1. conn_log_tool -t0 -ulogman -p127.0.0.1 -mlocalhost -i0 -n0 -a "Ja jestem Pan Tik-Tak"
    • SMS/info z środowiska chroot dla rtorrent - na własną odpowiedzialność: [Bash] logman - Pastebin.com

    • Jak Logman wygląda z poziomu konsoli shell serwera?
      logman_console_i1. logman_console_i2.

      W terminalu... - Widok logmanowego workera

      Link: https://asciinema.org/a/87689
     
    • Piwo Piwo x 1
    • Lizak Lizak x 1
    • Ciastko Ciastko x 1
  2. pigers
    Offline

    pigers GOD's left hand - careful - he don't care anymore. Administrator

    Dołączył:
    26 Lipiec 2013
    Wiadomości:
    6 797
    Miejscowość:
    Nysa
    Local Time:
    04:32
    Oceny:
    +1 087 / 29 / -13
    Followers:
    3
    QNAP:
    TS-x53
    Synology:
    huh ? I do not collect crap
    Ethernet:
    1 GbE
    TS-x53 1 GbE
    Dla komunikacji Debian (chroot) -> QTS potrzebujemy dodać kilka rzeczy w QPKG Debiana i w samym Debianie:
    QPKG debiana .qpkg/debian6/debian6.sh
    odnaleźć
    Kod (Bash):
    1. mount_deb(){
    2. ...
    3.   mount -o bind /dev $DEB_BASE/dev
    4.   mount -o bind /dev/pts $DEB_BASE/dev/pts
    5.   mount -o bind /sys $DEB_BASE/sys
    6. #  mount -o bind /dev $DEB_BASE/env/wheezy/dev
    7. ...
    8.  
    dopisać
    Kod (Bash):
    1. mount -o bind /tmp $DEB_BASE/tmp.qnap
    2.  
    zamienić całą sekcję
    Kod (Bash):
    1. umount_deb(){
    2.   umount $DEB_BASE/mnt/ext/home 2> /dev/null
    3.   umount $DEB_BASE/mnt/ext 2> /dev/null
    4.   umount $DEB_BASE/mnt/HDA_ROOT 2> /dev/null
    5.   umount $DEB_BASE/share/Public 2> /dev/null
    6.   umount $DEB_BASE/share/Web 2> /dev/null
    7.   umount $DEB_BASE/share/Multimedia 2> /dev/null
    8.   umount $DEB_BASE/share/Usb 2> /dev/null
    9.   umount $DEB_BASE/share/Download 2> /dev/null
    10.   umount $DEB_BASE/share/Recordings 2> /dev/null
    11.  
    12.   umount $DEB_BASE/sys
    13.   umount $DEB_BASE/tmp.qnap
    14.   umount $DEB_BASE/proc
    15.   umount $DEB_BASE/dev/pts
    16.   umount $DEB_BASE/dev
    17.  
    18. #  umount $DEB_BASE/env/wheezy/sys
    19. #  umount $DEB_BASE/env/wheezy/proc
    20. #  umount $DEB_BASE/env/wheezy/dev/pts
    21. #  umount $DEB_BASE/env/wheezy/dev
    22.  
    23.   if test $? -ne 0
    24.   then
    25.   /bin/sleep 5
    26.   umount $DEB_BASE/sys 2>&-
    27.   umount $DEB_BASE/proc 2>&-
    28.   umount $DEB_BASE/dev/pts 2>&-
    29.   umount $DEB_BASE/dev 2>&-
    30.   umount $DEB_BASE/tmp.qnap 2>&-
    31.  
    32. #  umount $DEB_BASE/env/wheezy/sys 2>&-
    33. #  umount $DEB_BASE/env/wheezy/proc 2>&-
    34. #  umount $DEB_BASE/env/wheezy/dev/pts 2>&-
    35. #  umount $DEB_BASE/env/wheezy/dev 2>&-
    36.   fi
    37.  
    38.   umount $ENV_BASE 2> /dev/null
    39.  
    następnie w Debianie:
    edytując /etc/init.d/rtorrent
    Kod (Bash):
    1. d_start() {
    2.   chmod 666 /dev/ptmx ; chmod 666 /dev/null
    3.   chmod 666 /wheezy/dev/ptmx ; chmod 666 /wheezy//dev/null
    4.  
    5.   echo "
    6.  [rtorrent] Mounting shares"
    7.   mount -o bind /share/Download /wheezy/share/Download
    8.   mount -o bind /share/Multimedia /wheezy/share/Multimedia
    9.   mount -o bind /share/Public /wheezy/share/Public
    10.   mount -o bind /share/Usb /wheezy/share/Usb
    11.   mount -o bind /var/www /wheezy/var/www
    12.   mount -o bind /tmp /wheezy/tmp
    13.  
    dopisujemy zaraz za mount -o bind /tmp /wheezy/tmp
    Kod (Bash):
    1.   [ ! -d "/wheezy/tmp.qnap" ] && mkdir -p /wheezy/tmp.qnap
    2.   mount -o rbind /tmp.qnap /wheezy/tmp.qnap
    3.  
    następnie odnajdujemy
    Kod (Bash):
    1.  
    2. d_stop() {
    3.   session=`getsession "$config"`
    4.   if ! [ -s /wheezy/${session}/rtorrent.lock ] ; then
    5.   return
    6.   fi
    7.   pid=`cat /wheezy/${session}/rtorrent.lock | awk -F: '{print($2)}' | sed "s/[^0-9]//g"`
    8.   if ps -A | grep -sq ${pid}.*rtorrent ; then # make sure the pid doesn't belong to another process
    9.   kill -s INT ${pid}
    10.  
    11.   x=8;
    12.   while [ ! -z "`ps | grep rtorrent | grep ${pid}`" -a "$x" -gt 0 ]; do
    13.   echo "[rtorrent] --SIGINT  ... $x seconds left"
    14.   x=$(expr $x - 1)
    15.   ${BINDIR}/sleep 1
    16.   done
    17.  
    18.   if ps -A | grep -sq ${pid}.*rtorrent ; then
    19.   kill -s TERM ${pid}
    20.   x=5;
    21.   while [ ! -z "`ps | grep rtorrent | grep ${pid}`" -a "$x" -gt 0 ]; do
    22.   echo "[rtorrent] --SIGTERM  ... $x seconds left"
    23.   x=$(expr $x - 1)
    24.   ${BINDIR}/sleep 1
    25.   done
    26.   fi
    27.  
    28.   if ps -A | grep -sq ${pid}.*rtorrent ; then
    29.   kill -s KILL ${pid}
    30.   echo "[rtorrent] --SIGKILL  ... 0 seconds left"
    31.   fi
    32.   fi
    33.  
    34.   sleep 1
    35.   sync
    36.   sleep 1
    37.   echo "
    38.  [rtorrent] Umounting shares"
    39.   umount /wheezy/share/Download
    40.   umount /wheezy/share/Multimedia
    41.   umount /wheezy/share/Public
    42.   umount /wheezy/share/Usb
    43.   umount /wheezy/var/www
    44.   umount /wheezy/tmp
    45.  
    i dopisujemy za umount /wheezy/tmp

    Kod (Bash):
    1. umount /wheezy/tmp.qnap
    W ten sposób widzimy zawartość katalogu /tmp z QTS jako /wheezy/tmp.qnap. Pozwala nam to komunikację z LogManem.
    Po restarcie NAS Debian powinien widzieć już nowy katalog.

    Następnie w Debianie trzeba dopisać dwie rzeczy:
    1. edytować/stworzyć plik /share/Download/rtorrent/settings/settings/notify_svc.sh
    Kod (Bash):
    1. ARGS=75
    2. if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]
    3. then
    4.   echo "rtorrent-QNAP Announcement Tool (c)2009-2014 Silas Mariusz"
    5.   echo "Usage: ./`basename $0` <service> <action> <message>"
    6.   echo
    7.   exit $E_NOARGS
    8. fi
    9. n_svc=$1
    10. n_action=$2
    11. shift 2
    12. n_message=$@
    13. # Theme
    14. case $n_action in
    15.   "FINISH")
    16.   if [ "$n_svc" == "event_log" ]; then
    17.   t_action="Download finished:"
    18.   elif [ "$n_svc" == "smsc" ]; then
    19.   t_action="Complete:"
    20.   else
    21.   t_action="Finished:"
    22.   fi
    23.   ;;
    24.   "INSERT")
    25.   if [ "$n_svc" == "event_log" ]; then
    26.   t_action="New download:"
    27.   elif [ "$n_svc" == "smsc" ]; then
    28.   t_action="Start :"
    29.   else
    30.   t_action="Inserted:"
    31.   fi
    32.   ;;
    33.   *)
    34.   t_action="($0: line:$LINENO error) $n_svc"
    35.   ;;
    36. esac
    37. case $n_svc in
    38.   "smsc")
    39.  
    40.   _sms_log="/share/Download/rtorrent/logs/sms.out"
    41.   echo "rTorrent $t_action $n_message" >> $_sms_log
    42. #  [ -x "/usr/sbin/sms_sender" ] && /usr/sbin/sms_sender -m "$t_action $n_message"
    43.   ;;
    44.   "event_log")
    45.   __now_date=$(date +%Y-%m-%d)
    46.   __now_time=$(date +%H:%M:%S)
    47.   __hostname=$(hostname)
    48.   _tail_log="/share/Download/rtorrent/logs/announce.out"
    49.  
    50.   echo -e "Rtorrent Events: \n$__now_date · $__now_time —— [b]rtorrent[/b]×[i]$__hostname[/i] —— [u]EVENT:[/u] [b]$t_action[/b] $n_message\n" >> $_tail_log
    51.   ;;
    52.   *)
    53.   echo "(error) Unsupported notify service"
    54.   echo
    55.   exit 1
    56.   ;;
    57. esac
    58. kill -HUP $(cat /tmp.qnap/logman-worker.pid)
    59. exit 0
    60.  
    Dla świętego spokoju polecam poprawić mu prawa dostępu
    Kod (Bash):
    1. chmod 777 /share/Download/rtorrent/settings/settings/notify_svc.sh
    2. Dopisać linie informującą rtorrenta do wykonania extra akcji przy dodaniu i zakończeniu pobierania
    /wheezy/etc/rtorrent.conf
    Kod (Bash):
    1. # When the torrent finishes, it executes "mv -n <base_path> ~/Download/"
    2. # and then sets the destination directory to "~/Download/". (0.7.7+)
    3. #on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,/share/Download/rtorrent/complete/ ;d.set_directory=/share/Download/rtorrent/complete/"
    4. method.set_key = event.download.finished,move_complete,"d.set_directory=/share/Download/rtorrent/complete/; execute=mv,-f,$d.get_base_path=,/share/Download/rtorrent/complete/"
    5. ###
    dopisać po ###

    Kod (Bash):
    1.  
    2. method.set_key = event.download.finished,notify_event_log_finished,"execute=/share/Download/rtorrent/settings/settings/notify_svc.sh,event_log,FINISH,$d.get_name="
    3. method.set_key = event.download.inserted_new,notify_event_log_inserted_new,"execute=/share/Download/rtorrent/settings/settings/notify_svc.sh,event_log,INSERT,$d.get_name="
    4. method.set_key = event.download.finished,notify_smsc_finished,"execute=/share/Download/rtorrent/settings/settings/notify_svc.sh,smsc,FINISH,$d.get_name="
    5. method.set_key = event.download.inserted_new,notify_smsc_inserted_new,"execute=/share/Download/rtorrent/settings/settings/notify_svc.sh,smsc,INSERT,$d.get_name="
    6. ###
    Popisaliśmy trochę - to sprawdźmy efekty naszych działań:
    w Debianie wydajmy polecenie
    Kod (Bash):
    1. /share/Download/rtorrent/settings/settings/notify_svc.sh smsc INSERT test sms
    oraz
    Kod (Bash):
    1. /share/Download/rtorrent/settings/settings/notify_svc.sh event_log INSERT test gg
    Po około minucie powinien przyjść SMS z treścią " test sms" a na GG (jeśli sobie ustawiliście w Logmanie) "test gg"

    upload_2014-12-15_18-42-15.

    PS: @Silas Mariusz@Silas Mariusz - merguj ten kod - bo ja tutorial dodałem ;)
     
    • Lubię to! Lubię to! x 1
  3. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 369
    Miejscowość:
    Nowy Sącz
    Local Time:
    04:32
    Oceny:
    +1 421 / 30 / -6
    Followers:
    23
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    Skrypty dla innych urządzeń, gotowe do pracy z botem Logman


    Mikrotik RouterBoard OS - Monitorowanie przyłączonych klientów do sieci bezprzewodowej

    (Script) Skrypt:
    Nazwa: log_client
    Reguły uruchamiania: wszystkie opcje
    Kod (Text):
    1. # BEGIN SETUP
    2. #:local systemName [/system identity get name]
    3. :local systemName [:system identity get value-name=name]
    4. # END SETUP
    5.  
    6. # Podaj docelowy numer Gadu Gadu
    7. :local gadugadu "1234567"
    8. :local rawOutput
    9. :local output
    10.  
    11. :foreach i in=[ /int wir reg find ap=no] do={
    12.     :set rawOutput ("AP: " . [int wir reg get $i interface] . "  MAC: " . [int wir reg get $i mac-address ] . " Last IP:" . [int wir reg get $i last-ip] . " RX: " . [int wir reg get $i rx-rate] . " TX: " . [int wir reg get $i tx-rate] . " Uptime: " . [int wir reg get $i uptime] . " LastACT: " . [int wir reg get $i last-activity] . " SignalStrength: " . [int wir reg get $i signal-strength] . " SNR: " . [int wir reg get $i signal-to-noise] . " TX/RX-CCQ: " . [int wir reg get $i tx-ccq] . " / " . [int wir reg get $i rx-ccq] . " PThroughput: " . [int wir reg get $i  p-throughput])
    13.  
    14.     :set output ("Mikrotik [b]" . [/system identity get name] . "[/b] [u]AP[/u]: [i]" . [int wir reg get $i interface] . "[/i]  MAC: [u]" . [int wir reg get $i mac-address ] . "[/u] Last IP:[b]" . [int wir reg get $i last-ip] . "[/b] RX: [b]" . [int wir reg get $i rx-rate] . "[/b] TX: [b]" . [int wir reg get $i tx-rate] . "[/b] Uptime: [u]" . [int wir reg get $i uptime] . "[/u] LastACT: " . [int wir reg get $i last-activity] . " SignalStrength: " . [int wir reg get $i signal-strength] . " SNR: [u]" . [int wir reg get $i signal-to-noise] . "[/u] TX/RX-CCQ: [u]" . [int wir reg get $i tx-ccq] . "[/u] / [u]" . [int wir reg get $i rx-ccq] . "[/u] PThroughput: " . [int wir reg get $i  p-throughput])
    15.  
    16.     if ([:len $output] > 0) do={
    17.       :local urlstring "http://pool.qnapclub.pl/projects/tools/bot-log-gadugadu/bot.php\?number=$gadugadu&message=$output"
    18.       :local urlEncoded
    19.  
    20.       :for i from=0 to=([:len $urlstring] - 1) do={
    21.         :local char [:pick $urlstring $i]
    22.         :if ($char = " ") do={
    23.           :set $char "%20"
    24.         }
    25.         :if ($char = "-") do={
    26.           :set $char "%2D"
    27.         }
    28.         :if ($char = "+") do={
    29.           :set $char "%2B"
    30.         }
    31.         :set urlEncoded ($urlEncoded . $char)
    32.       }
    33.  
    34.       :log info ($rawOutput)
    35.       #:beep frequency=90 length=500ms
    36.       /tool fetch url="$urlEncoded" mode=http keep-result=no
    37.     }
    38.  
    39. }
    (Scheduler) Harmonogram
    Nazwa nowego zadania: log_client
    Czas rozpoczęcia: startup
    Interwał: 00:05:00
    Przy wystąpieniu zdarzenia wykonaj (On Event):
    log_client
    Reguły uruchamiania: wszystkie



    Mikrotik RouterBoard OS - Powiadom o przyznaniu adresu IP przez serwer DHCP oraz alarmuj na wypadek udanych i nieudanych prób logowania do routera

    (Script) Skrypt:
    Nazwa: Logman
    Reguły uruchamiania: wszystkie opcje
    Kod (Text):
    1. # BEGIN SETUP
    2. :local scheduleName "Logman"
    3. #:local systemName [/system identity get name]
    4. :local systemName [:system identity get value-name=name]
    5. :local startBuf [:toarray [/log find message~"logged in" || message~"login failure" || message~"assigned"]]
    6. :local removeThese {"telnet";"whatever string you want"}
    7. # END SETUP
    8.  
    9. # Podaj docelowy numer Gadu Gadu
    10. :local gadugadu "7662900"
    11.  
    12. # warn if schedule does not exist
    13. :if ([:len [/system scheduler find name="$scheduleName"]] = 0) do={
    14.   /log warning "[Logman] ERROR: Schedule does not exist. Create schedule and edit script to match name"
    15. }
    16.  
    17. # get last time
    18. :local lastTime [/system scheduler get [find name="$scheduleName"] comment]
    19. # for checking time of each log entry
    20. :local currentTime
    21. # log message
    22. :local message
    23.  
    24. # final output
    25. :local output
    26.  
    27. :local keepOutput false
    28. # if lastTime is empty, set keepOutput to true
    29. :if ([:len $lastTime] = 0) do={
    30.   :set keepOutput true
    31. }
    32.  
    33. :local counter 0
    34. # loop through all log entries that have been found
    35. :foreach i in=$startBuf do={
    36.  
    37. # loop through all removeThese array items
    38.   :local keepLog true
    39.   :foreach j in=$removeThese do={
    40. #   if this log entry contains any of them, it will be ignored
    41.     :if ([/log get $i message] ~ "$j") do={
    42.       :set keepLog false
    43.     }
    44.   }
    45.   :if ($keepLog = true) do={
    46.    
    47.    :set message [/log get $i message]
    48.  
    49. #   LOG DATE
    50. #   depending on log date/time, the format may be different. 3 known formats
    51. #   format of jan/01/2002 00:00:00 which shows up at unknown date/time. Using as default
    52.     :set currentTime [ /log get $i time ]
    53. #   format of 00:00:00 which shows up on current day's logs
    54.    :if ([:len $currentTime] = 8 ) do={
    55.      :set currentTime ([:pick [/system clock get date] 0 11]." ".$currentTime)
    56.     } else={
    57. #     format of jan/01 00:00:00 which shows up on previous day's logs
    58.      :if ([:len $currentTime] = 15 ) do={
    59.         :set currentTime ([:pick $currentTime 0 6]."/".[:pick [/system clock get date] 7 11]." ".[:pick $currentTime 7 15])
    60.       }
    61.    }
    62.    
    63. #   if keepOutput is true, add this log entry to output
    64.    :if ($keepOutput = true) do={
    65.      :set output ($output."[i]".$currentTime."[/i] ".$message."[br]")
    66.    }
    67. #   if currentTime = lastTime, set keepOutput so any further logs found will be added to output
    68. #   reset output in the case we have multiple identical date/time entries in a row as the last matching logs
    69. #   otherwise, it would stop at the first found matching log, thus all following logs would be output
    70.     :if ($currentTime = $lastTime) do={
    71.      :set keepOutput true
    72.      :set output ""
    73.    }
    74.   }
    75.  
    76. #   if this is last log entry
    77.   :if ($counter = ([:len $startBuf]-1)) do={
    78. #   If keepOutput is still false after loop, this means lastTime has a value, but a matching currentTime was never found.
    79. #   This can happen if 1) The router was rebooted and matching logs stored in memory were wiped, or 2) An item is added
    80. #   to the removeThese array that then ignores the last log that determined the lastTime variable.
    81. #   This resets the comment to nothing. The next run will be like the first time, and you will get all matching logs
    82.    :if ($keepOutput = false) do={
    83. #     if previous log was found, this will be our new lastTime entry      
    84.      :if ([:len $message] > 0) do={
    85.         :set output ($output."[i]".$currentTime."[/i] ".$message."[br]")
    86.       }
    87.     }
    88.   }
    89.   :set counter ($counter + 1)
    90. }
    91.  
    92. # If we have output, save new date/time, and send email
    93. if ([:len $output] > 0) do={
    94.   /system scheduler set [find name="$scheduleName"] comment=$currentTime
    95.   :local urlstring "http://pool.qnapclub.pl/projects/tools/bot-log-gadugadu/bot.php\?number=$gadugadu&message=$output"
    96.   :local urlEncoded;
    97.  
    98.   :for i from=0 to=([:len $urlstring] - 1) do={
    99.     :local char [:pick $urlstring $i]
    100.     :if ($char = " ") do={
    101.       :set $char "%20"
    102.     }
    103.     :if ($char = "-") do={
    104.       :set $char "%2D"
    105.     }
    106.     :if ($char = "+") do={
    107.       :set $char "%2B"
    108.     }
    109.     :set urlEncoded ($urlEncoded . $char)
    110.   }
    111.  
    112.   /log info "[Logman] New logs found, send get/post"
    113.   /tool fetch url="$urlEncoded" mode=http keep-result=no
    114.  
    115.   #:beep frequency=90 length=500ms
    116.  
    (Scheduler) Harmonogram
    Nazwa nowego zadania: Logman
    Czas rozpoczęcia: startup
    Interwał: 00:00:30
    Przy wystąpieniu zdarzenia wykonaj (On Event):
    Logman
    Reguły uruchamiania: wszystkie

    upload_2015-11-8_20-26-53.


    Mikrotik RouterBoard OS - Log Parser z obsługą zdarzeń (potrzebuje kilka poprawek...)

    (Script) Skrypt:
    Utwórz nową akcje logowania, aby zapisać poszczególne reguły informacji w niezależnym bufforze w pamięci RAM:
    Kod (Text):
    1. /system logging action add memory-lines=100 memory-stop-on-full=no name=logParse target=memory
    Przyznaj zezwolonia logowania poszczególnych zdarzeń dla utworzonego nowego buffora pamięci:
    Kod (Text):
    1. /system logging add action=logParse disabled=no prefix="" topics=system,info
    2. /system logging add action=logParse disabled=no prefix="" topics=system,error,critical
    3. /system logging add action=logParse disabled=no prefix="" topics=dhcp
    Nazwa: Log-Parser
    Reguły uruchamiania: wszystkie opcje
    Kod (Text):
    1. # Script Name: Log-Parser
    2. # This script reads a specified log buffer.  At each log entry read,
    3. # the global variable 'logParseVar' is set to "<log entry time>,<log entry topics>,<log entry message>"
    4. # then a parser action script is run.  The parser action script reads the global variable, and performs specified actions.
    5. # The log buffer is then cleared, so only new entries are read each time this script gets executed.
    6.  
    7. # Podaj docelowy numer Gadu Gadu
    8. :local gadugadu "1234567"
    9.  
    10. # Set this to a "memory" action log buffer
    11. :local logBuffer "logParse"
    12.  
    13. # Set to name of parser script to run against each log entry in buffer
    14. :local logParserScript "Log-Parser-Script"
    15.  
    16. # Internal processing below....
    17. # -----------------------------------
    18. :global logParseVar ""
    19.  
    20. :local loglastparsetime
    21. :local loglastparsemessage
    22. :local findindex
    23. :local property
    24. :local value
    25. :local logEntryTopics
    26. :local logEntryTime
    27. :local logEntryMessage
    28. :local curDate
    29. :local curMonth
    30. :local curDay
    31. :local curYear
    32. :local clearedbuf
    33. :local lines
    34.  
    35. # Get current date settings
    36. :set curDate [/system clock get date]
    37. :set curMonth [:pick [:tostr $curDate] 0 3]
    38. :set curDay [:pick [:tostr $curDate] 4 6]
    39. :set curYear [:pick [:tostr $curDate] 7 11]
    40.  
    41. :set clearedbuf 0
    42. :foreach rule in=[/log print where buffer=logParse] do={
    43. # Now all data is collected in memory..
    44. #:foreach rule in=$logBuffer do={
    45. #:foreach rule in=[/log print where buffer=($logBuffer)] do={
    46. #:foreach rule in=[/log print where buffer="$logBuffer"] do={
    47. # Now all data is collected in memory..
    48.  
    49. # Clear log buffer right away so new entries come in
    50.    :if ($clearedbuf = 0) do={
    51.       /system logging action {
    52.          :set lines [get ($logBuffer) memory-lines]
    53.          set ($logBuffer) memory-lines 1
    54.          set ($logBuffer) memory-lines $lines
    55.       }
    56.       :set clearedbuf 1
    57.    }
    58. # End clear log buffer
    59.  
    60.    :set logEntryTime ""
    61.    :set logEntryTopics ""
    62.    :set logEntryMessage ""
    63.  
    64. # Get each log entry's properties
    65.    :local items {$rule}
    66.    :foreach item in=[$items] do={
    67.       :set logEntryTime ($item->"time")
    68.       :set logEntryTopics ($item->"topics")
    69.       :set logEntryMessage ($item->"message")
    70.    }
    71. # end foreach item
    72.    }
    73.  
    74. # Set logEntryTime to full time format (mmm/dd/yyyy HH:MM:SS)
    75.    :set findindex [:find [:tostr $logEntryTime] " "]
    76. # If no spaces are found, only time is given (HH:MM:SS), insert mmm/dd/yyyy
    77.    :if ([:len $findindex] = 0) do={
    78.       :set logEntryTime ($curMonth . "/" . $curDay . "/" . $curYear . " " . \
    79.                                     [:tostr $logEntryTime])
    80.    }
    81. # Only (mmm/dd HH:MM:SS) is given, insert year
    82.    :if ($findindex = 6) do={
    83.       :set logEntryTime ([:pick [:tostr $logEntryTime] 0 $findindex] . "/" . $curYear . \
    84.                                     [:pick [:tostr $logEntryTime] $findindex [:len [:tostr $logEntryTime]]])
    85.    }
    86. # Only (mmm HH:MM:SS) is given, insert day and year
    87.    :if ($findindex = 3) do={
    88.       :set logEntryTime ([:pick [:tostr $logEntryTime] 0 $findindex] . "/" . $curDay . "/" . $curYear . \
    89.                                     [:pick [:tostr $logEntryTime] $findindex [:len [:tostr $logEntryTime]]])
    90.    }
    91. # End set logEntryTime to full time format
    92.  
    93. # Skip if logEntryTime and logEntryMessage are the same as previous parsed log entry
    94.    :if ($logEntryTime = $loglastparsetime && $logEntryMessage = $loglastparsemessage) do={
    95.    } else={
    96. #   Set logParseVar, then run parser script
    97.       :set logParseVar {$logEntryTime ; $logEntryTopics; $logEntryMessage}
    98.  
    99.  
    100.       :local urlstring "http://pool.qnapclub.pl/projects/tools/bot-log-gadugadu/bot.php\?number=$gadugadu&message=$logEntryMessage"
    101.       :local urlEncoded;
    102.  
    103.       :for i from=0 to=([:len $urlstring] - 1) do={
    104.         :local char [:pick $urlstring $i]
    105.         :if ($char = " ") do={
    106.           :set $char "%20"
    107.         }
    108.         :if ($char = "-") do={
    109.           :set $char "%2D"
    110.         }
    111.         :if ($char = "+") do={
    112.           :set $char "%2B"
    113.         }
    114.         :set urlEncoded ($urlEncoded . $char)
    115.       }
    116.  
    117.       # UNCOMMENT TO GET DETAILED VERBOSE OUTPUIT
    118.       #:put "$logParseVar"
    119.       /tool fetch url="$urlEncoded" mode=http keep-result=no
    120.  
    121.       /system script run ($logParserScript)
    122.  
    123. #   Update last parsed time, and last parsed message
    124.       :set loglastparsetime $logEntryTime
    125.       :set loglastparsemessage $logEntryMessage
    126.    }
    127.  
    128. # end foreach rule
    129. }
    130.  
    (Script) Skrypt 2:
    Nazwa: Log-Parser-Script
    Reguły uruchamiania: wszystkie opcje
    Kod (Text):
    1. # Script Name: Log-Parser-Script
    2. #
    3. # This is an EXAMPLE script.  Modify it to your requirements.
    4. #
    5. # This script will work with all v3.x and v4.x
    6. # If your version >= v3.23, you can use the ~ operator to match against
    7. # regular expressions.
    8.  
    9. # Podaj docelowy numer Gadu Gadu
    10. :local gadugadu "1234567"
    11.  
    12. # Get log entry data from global variable and store it locally
    13. :global logParseVar
    14. :local logTime ($logParseVar->0)
    15. :local logTopics [:tostr ($logParseVar->1)]
    16. :local logMessage [:tostr ($logParseVar->2)]
    17. :set logParseVar ""
    18.  
    19. :local ruleop
    20. :local loguser
    21. :local logsettings
    22. :local findindex
    23. :local tmpstring
    24.  
    25. # Uncomment to view the log entry's details
    26. :put ("Log Time: " . $logTime)
    27. :put ("Log Topics: " . $logTopics)
    28. :put ("Log Message: " . $logMessage)
    29.  
    30. # Check for login failure
    31. :if ([:find [:tostr $logMessage] "login failure"] != "") do={
    32. #   :beep frequency=90 length=500ms
    33. #   :beep frequency=130 length=500ms
    34.    :put ("A login failure has occured.  Take some action")
    35. }
    36. # End check for login failure
    37.  
    38. # Check for logged in users
    39. :if ([:find [:tostr $logMessage] "logged in"] != "") do={
    40. #   :beep frequency=900 length=300ms
    41. #   :beep frequency=1300 length=200ms
    42.    :put ("A user has logged in.")
    43. }
    44. # End check for logged in users
    45.  
    46. # Check for configuration changes: added, changed, or removed
    47. :if ([:tostr $logTopics] = "system;info") do={
    48.    :set ruleop ""
    49.    :if ([:len [:find [:tostr $logMessage] "changed "]] > 0) do={ :set ruleop "changed" }
    50.    :if ([:len [:find [:tostr $logMessage] "added "]] > 0) do={ :set ruleop "added" }
    51.    :if ([:len [:find [:tostr $logMessage] "removed "]] > 0) do={ :set ruleop "removed" }
    52.  
    53.    :if ([:len $ruleop] > 0) do={
    54.       :set tmpstring $logMessage
    55.       :set findindex [:find [:tostr $tmpstring] [:tostr $ruleop]]
    56.       :set tmpstring ([:pick [:tostr $tmpstring] 0 $findindex] . \
    57.                                [:pick [:tostr $tmpstring] ($findindex + [:len [:tostr $ruleop]]) [:len [:tostr $tmpstring]]])
    58.       :set findindex [:find [:tostr $tmpstring] " by "]
    59.       :set loguser ([:pick [:tostr $tmpstring] ($findindex + 4) [:len [:tostr $tmpstring]]])
    60.       :set logsettings [:pick [:tostr $tmpstring] 0 $findindex]
    61.  
    62.       :put ($loguser . " " . $ruleop . " " . $logsettings . " configuration.  We should take a backup now.")
    63.    }
    64. }
    65. # End check for configuration changes
    66.  
    67. # Check for DHCP lease assigned/deassigned
    68. :if ([:tostr $logTopics] = "dhcp;info") do={
    69.    :set ruleop ""
    70.    :if ([:len [:find [:tostr $logMessage] "assigned "]] > 0) do={ :set ruleop "assigned" }
    71.    :if ([:len [:find [:tostr $logMessage] "deassigned "]] > 0) do={ :set ruleop "deassigned" }
    72.  
    73.    :if ([:len $ruleop] > 0) do={
    74.       :if ($ruleop = "assigned") do={
    75.          :put ("A new dhcp lease has been assigned.  Check the DHCP IP Pool addresses")
    76.       }
    77.       :if ($ruleop = "deassigned") do={
    78.          :put ("A dhcp lease has been removed.  Remove the host-name from static DNS")
    79.       }
    80.    }
    81. }
    82. # End check for new DHCP lease assigned
    (Scheduler) Harmonogram
    Nazwa nowego zadania: Log-Parser
    Czas rozpoczęcia: startup
    Interwał: 00:00:30
    Przy wystąpieniu zdarzenia wykonaj (On Event):
    Log-Parser
    Reguły uruchamiania: wszystkie
     
    • Lubię to! Lubię to! x 1
  4. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 369
    Miejscowość:
    Nowy Sącz
    Local Time:
    04:32
    Oceny:
    +1 421 / 30 / -6
    Followers:
    23
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    Mikrotik RouterBoard OS - Skrypt konwertujący nazwy klientów DHCP do statycznych adresów DNS oraz informujący o tej czynności za pośrednictwem Logmana

    Static-DNS-from-DHCP-clients.

    upload_2016-2-28_13-22-23.

    (Script) Skrypt:
    Nazwa: Static-DNS-from-DHCP-clients
    Reguły uruchamiania: wszystkie opcje
    Kod (Text):
    1. # Creates static DNS entres for DHCP clients in the named DHCP server.
    2. # Hostnames passed to DHCP are appended with the zone.
    3.  
    4. # Set the first two variables according to your installation.
    5. :local dhcpserver "dhcp-local"
    6. :local zone "local.devSpark.pl"
    7.  
    8. # Numer Gadu-Gadu
    9. :local gadugadu "1234567890"
    10.  
    11. # Set the TTL to the scheduler frequency for this script.
    12. :local ttl "00:05:00"
    13.  
    14. :local curTime
    15. :local curDate
    16. :local currentDateTime
    17. :local identifyname
    18. :set curDate [/system clock get time]
    19. :set curDate [/system clock get date]
    20. :set currentDateTime ($curDate." ".$curTime)
    21. :set identifyname [/system identity get name]
    22.  
    23. :local message
    24. :local output
    25.  
    26. # Clear old static DNS entries matching the zone and TTL.
    27. /ip dns static
    28. :foreach dnsrecord in=[find where name ~ (".*\\.".$zone) ] do={
    29.     :local fqdn [ get $dnsrecord name ]
    30.     :local hostname2 [ :pick $fqdn 0 ( [ :len $fqdn ] - ( [ :len $zone ] + 1 ) ) ]
    31.     :local hostname
    32.  
    33.     :if ( [ :len $hostname2 ] > 0) do={
    34.         :for i from=0 to=([:len $hostname2] - 1) do={
    35.             :local char [:pick $hostname2 $i]
    36.             :if ($char = "\00") do={
    37.                 :set $char ""
    38.             }
    39.             :if ($char = " ") do={
    40.                 :set $char "-"
    41.             }
    42.             :if ($char = "-") do={
    43.                 :set $char "-"
    44.             }
    45.             :if ($char = "+") do={
    46.                 :set $char "-"
    47.             }
    48.             :set hostname ($hostname . $char)
    49.         }
    50.     }
    51.  
    52.     :local recordttl [get $dnsrecord ttl]
    53.     :if ( $recordttl != $ttl ) do={
    54.         :log debug ("Ignoring DNS record $fqdn with TTL $recordttl")
    55.     } else={
    56.         /ip dhcp-server lease
    57.         :local dhcplease [ find where host-name ~ ($hostname.".*") and server="$dhcpserver"]
    58.         :if ( [ :len $dhcplease ] > 0) do={
    59.             :log debug ("DHCP lease exists for $hostname in $dhcpserver, keeping DNS record $fqdn")
    60.         } else={
    61.             :log info ("DHCP lease expired for $hostname, deleting DNS record $fqdn")
    62.             :set output ($output."DHCP lease [i]expired[/i] for [b]".$hostname."[/b] [u]deleting[/u] DNS record [b]".$fqdn."[/b][br]")
    63.             /ip dns static remove $dnsrecord
    64.         }
    65.     }
    66. }
    67.  
    68. # Create or update static DNS entries from DHCP server leases.
    69. /ip dhcp-server lease
    70. :foreach dhcplease in=[find where server ~ ("$dhcpserver")] do={
    71.     :local hostname2 [ get $dhcplease host-name ]
    72.  
    73.     :if ( [ :len $hostname2 ] > 0) do={
    74.  
    75.         :local hostname
    76.         :for i from=0 to=([:len $hostname2] - 1) do={
    77.             :local char [:pick $hostname2 $i]
    78.             :if ($char = "\00") do={
    79.                 :set $char ""
    80.             }
    81.             :if ($char = " ") do={
    82.                 :set $char "-"
    83.             }
    84.             :if ($char = "-") do={
    85.                 :set $char "-"
    86.             }
    87.             :if ($char = "+") do={
    88.                 :set $char "-"
    89.             }
    90.             :set hostname ($hostname . $char)
    91.         }
    92.  
    93.         :local dhcpip [ get $dhcplease address ]
    94.         :local fqdn ( $hostname . "." . $zone )
    95.         /ip dns static
    96.         :local dnsrecord [ find where name=$fqdn ]
    97.         :if ( [ :len $dnsrecord ] > 0 ) do={
    98.             :local dnsip [ get $dnsrecord address ]
    99.             :if ( $dnsip = $dhcpip ) do={
    100.                 :log debug ("DNS record for $fqdn to $dhcpip is up to date")
    101.             } else={
    102.                 :log info ("Updating DNS record for $fqdn to $dhcpip")
    103.                 #:set output ($output."Updating DNS record for [b]".$fqdn."[/b] to ".$dhcpip."[br]")
    104.                 /ip dns static remove $dnsrecord
    105.                 /ip dns static add name=$fqdn address=$dhcpip ttl=$ttl
    106.             }
    107.         } else={
    108.             :log info ("Creating DNS record for $fqdn to $dhcpip")
    109.             :set output ($output."[b]Creating[/b] DNS record for [b]".$fqdn."[/b] to [u]".$dhcpip."[/u][br]")
    110.             /ip dns static add name=$fqdn address=$dhcpip ttl=$ttl
    111.         }
    112.     }
    113. }
    114.  
    115.  
    116.  
    117.  
    118. :if ( [ :len $output ] > 0 ) do={
    119. :set output ("Mikrotik [b]".$identifyname."[/b]: Static-DNS-from-DHCP-clients[br]".$output."[br]")
    120. :local urlstring "http://pool.qnapclub.pl/projects/tools/bot-log-gadugadu/bot.php\?number=$gadugadu&message=$output"
    121. :local urlEncoded
    122.       :for i from=0 to=([:len $urlstring] - 1) do={
    123.         :local char [:pick $urlstring $i]
    124.         :if ($char = " ") do={
    125.           :set $char "%20"
    126.         }
    127.         :if ($char = "-") do={
    128.           :set $char "%2D"
    129.         }
    130.         :if ($char = "+") do={
    131.           :set $char "%2B"
    132.         }
    133.         :set urlEncoded ($urlEncoded . $char)
    134.       }
    135.       /tool fetch url="$urlEncoded" mode=http keep-result=no
    136. }
    137.  
    138. #:beep frequency=90 length=500ms
    (Scheduler) Harmonogram
    Nazwa nowego zadania: Static-DNS-from-DHCP-clients
    Czas rozpoczęcia: startup
    Interwał: 00:05:00
    Przy wystąpieniu zdarzenia wykonaj (On Event):
    Static-DNS-from-DHCP-clients
    Reguły uruchamiania: wszystkie
     
    • Lubię to! Lubię to! x 1
    • Przyjaciel Przyjaciel x 1
  5. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 369
    Miejscowość:
    Nowy Sącz
    Local Time:
    04:32
    Oceny:
    +1 421 / 30 / -6
    Followers:
    23
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
  6. grzenio
    Offline

    grzenio Moderator Contributor

    Dołączył:
    6 Wrzesień 2012
    Wiadomości:
    743
    Miejscowość:
    Borkowo
    Local Time:
    02:32
    Oceny:
    +47 / 0 / -0
    Followers:
    4
    QNAP:
    TVS-x82
    Ethernet:
    802.11ac
    TVS-x82 802.11ac
  7. Penerros
    Offline

    Penerros Entry Technician Q Associate

    Dołączył:
    28 Październik 2016
    Wiadomości:
    61
    Miejscowość:
    Zielęcin
    Local Time:
    04:32
    Oceny:
    +7 / 1 / -1
    Followers:
    0
    QNAP:
    TS-x51
    Ethernet:
    1 GbE
    TS-x51 1 GbE
    Zadziała na QTS 4.3.2.0050 ?
     
  8. grzenio
    Offline

    grzenio Moderator Contributor

    Dołączył:
    6 Wrzesień 2012
    Wiadomości:
    743
    Miejscowość:
    Borkowo
    Local Time:
    02:32
    Oceny:
    +47 / 0 / -0
    Followers:
    4
    QNAP:
    TVS-x82
    Ethernet:
    802.11ac
    TVS-x82 802.11ac
    Działa na najnowszym czyli chyba ten co napisałeś
     
  9. pigers
    Offline

    pigers GOD's left hand - careful - he don't care anymore. Administrator

    Dołączył:
    26 Lipiec 2013
    Wiadomości:
    6 797
    Miejscowość:
    Nysa
    Local Time:
    04:32
    Oceny:
    +1 087 / 29 / -13
    Followers:
    3
    QNAP:
    TS-x53
    Synology:
    huh ? I do not collect crap
    Ethernet:
    1 GbE
    TS-x53 1 GbE
  10. grzenio
    Offline

    grzenio Moderator Contributor

    Dołączył:
    6 Wrzesień 2012
    Wiadomości:
    743
    Miejscowość:
    Borkowo
    Local Time:
    02:32
    Oceny:
    +47 / 0 / -0
    Followers:
    4
    QNAP:
    TVS-x82
    Ethernet:
    802.11ac
    TVS-x82 802.11ac
    dokładnie tak, przy czym dla Entware trzeba zrobić drobną modyfikacje :)
     
  11. pigers
    Offline

    pigers GOD's left hand - careful - he don't care anymore. Administrator

    Dołączył:
    26 Lipiec 2013
    Wiadomości:
    6 797
    Miejscowość:
    Nysa
    Local Time:
    04:32
    Oceny:
    +1 087 / 29 / -13
    Followers:
    3
    QNAP:
    TS-x53
    Synology:
    huh ? I do not collect crap
    Ethernet:
    1 GbE
    TS-x53 1 GbE
    koment na jednej linii ;)
     
  12. grzenio
    Offline

    grzenio Moderator Contributor

    Dołączył:
    6 Wrzesień 2012
    Wiadomości:
    743
    Miejscowość:
    Borkowo
    Local Time:
    02:32
    Oceny:
    +47 / 0 / -0
    Followers:
    4
    QNAP:
    TVS-x82
    Ethernet:
    802.11ac
    TVS-x82 802.11ac
    koment musiałem dać na "need ncursesw5-config" czy jakoś tak i ścieżki zmienić do Entware plus moje modyfikacje pod telegram
     
    • Zgadzam się! Zgadzam się! x 1
  13. Penerros
    Offline

    Penerros Entry Technician Q Associate

    Dołączył:
    28 Październik 2016
    Wiadomości:
    61
    Miejscowość:
    Zielęcin
    Local Time:
    04:32
    Oceny:
    +7 / 1 / -1
    Followers:
    0
    QNAP:
    TS-x51
    Ethernet:
    1 GbE
    TS-x51 1 GbE
    Po wpisaniu ./logman.sh install wywala błąd:
    Kod (Text):
    1. (err!) logman: needed command was not found: ncursesw5-config
     
  14. grzenio
    Offline

    grzenio Moderator Contributor

    Dołączył:
    6 Wrzesień 2012
    Wiadomości:
    743
    Miejscowość:
    Borkowo
    Local Time:
    02:32
    Oceny:
    +47 / 0 / -0
    Followers:
    4
    QNAP:
    TVS-x82
    Ethernet:
    802.11ac
    TVS-x82 802.11ac
    Post wyżej napisałem co trzeba zrobić
     
    • Zgadzam się! Zgadzam się! x 2
  15. dexter
    Offline

    dexter Systems Admin... Q's Expert

    Dołączył:
    7 Listopad 2012
    Wiadomości:
    207
    Miejscowość:
    Siedlce
    Local Time:
    04:32
    Oceny:
    +29 / 1 / -0
    Followers:
    0
    QNAP:
    TS-x53A
    Ethernet:
    1 GbE
    TS-x53A 1 GbE
    Chodzi o zmianę ścieżki do Entware w logman.sh ?

    Wysłane z mojego SM-G925F przy użyciu Tapatalka
     
  16. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 369
    Miejscowość:
    Nowy Sącz
    Local Time:
    04:32
    Oceny:
    +1 421 / 30 / -6
    Followers:
    23
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    Update ChangeLog 0.94
    Dodana możliwość ignorowania logów zawierających treść oraz od określonych użytkowników.

     
  17. pigers
    Offline

    pigers GOD's left hand - careful - he don't care anymore. Administrator

    Dołączył:
    26 Lipiec 2013
    Wiadomości:
    6 797
    Miejscowość:
    Nysa
    Local Time:
    04:32
    Oceny:
    +1 087 / 29 / -13
    Followers:
    3
    QNAP:
    TS-x53
    Synology:
    huh ? I do not collect crap
    Ethernet:
    1 GbE
    TS-x53 1 GbE
    ciekawe ...

    upload_2018-2-16_16-45-42.

    a dodałem ignora na jeden katalog w formie słowa /anime/ czy też ANIME/ ANIME

    myślę że coś musisz dopisać nam tutaj :p

    czy to jest udział/podkatalog bez / na końcu początku ?
     
  18. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 369
    Miejscowość:
    Nowy Sącz
    Local Time:
    04:32
    Oceny:
    +1 421 / 30 / -6
    Followers:
    23
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    heeee
    zapomnialem echo ignoring usunac :)
    pobierz jeszcze raz ;)
     
  19. pigers
    Offline

    pigers GOD's left hand - careful - he don't care anymore. Administrator

    Dołączył:
    26 Lipiec 2013
    Wiadomości:
    6 797
    Miejscowość:
    Nysa
    Local Time:
    04:32
    Oceny:
    +1 087 / 29 / -13
    Followers:
    3
    QNAP:
    TS-x53
    Synology:
    huh ? I do not collect crap
    Ethernet:
    1 GbE
    TS-x53 1 GbE
    teraz zero logów na gg ...
    Kod (Bash):
    1.  
    2. [/share/CACHEDEV1_DATA/.qpkg/logman] # cat ignore.usr
    3. [/share/CACHEDEV1_DATA/.qpkg/logman] # cat ignore.lst
    4. DATA2/Marek
    5. [/share/CACHEDEV1_DATA/.qpkg/logman] #
    upload_2018-2-16_20-44-19.
     
  20. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 369
    Miejscowość:
    Nowy Sącz
    Local Time:
    04:32
    Oceny:
    +1 421 / 30 / -6
    Followers:
    23
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    ignore nie może być pusty:

    do ignore.usr daj:
    Kod (Text):
    1. # AVOID! DO NOT REMOVE THIS COMMENT TAG
    2. # ------------------------------------------------------------------------------
    3. # Type bellow user names line by line which you wanna ignore in log notification
    4. osmc
    a do ingore.lst:
    Kod (Text):
    1. # AVOID! DO NOT REMOVE THIS COMMENT TAG
    2. # -----------------------------------------------------------------------------------------------------------
    3. # Type bellow ignored containing strings line by line which you wanna ignore in log connections notifications
     

Poleć tę stronę

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Odrzuć powiadomienie.