[Raspberry Pi] 利用 syslog-ng 收取 RouterOS 的 Log

前言

最近剛好有將 Syslog 備存的需求,就用擱置在旁的 Raspberry Pi 來當 Syslog Server 吧!

操作準備

版本:DietPi_v145_RPi-armv6-(Jessie)

燒錄進記憶卡後開機並將基本設定完畢,本次教學會略過 DietPi 的基礎設定。

本文

  • 安裝 syslog-ng
    1
    root@DietPi:~# apt-get install syslog-ng
  • 編輯 syslog-ng 的設定檔
    1
    root@DietPi:~# nano /etc/syslog-ng/syslog-ng.conf
  • SOURCES 前貼上這段後存檔
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # Accept connection on UDP
    source s_net { udp (); };
    # MIKROTIK ###########
    # Add Filter to add our mikroti
    filter f_mikrotik { host( "Your_Router_IP_Addr" ); };
    # Add destination file where logs will be stored
    #destination df_mikrotik { file("/var/log/mikrotik.log"); };
    log { source ( s_net ); filter( f_mikrotik ); destination ( df_mikrotik ); };
    destination df_mikrotik {
    file("/var/log/mikrotik/mikrotik.${YEAR}.${MONTH}.${DAY}.log"
    # template("${HOUR}:${MIN}:${SEC} ${HOST} ${MSG} ${MSG}\n")
    template-escape(no));
    };
  • /var/log 下新增 mikrotik 資料夾
    1
    root@DietPi:~# mkdir /var/log/mikrotik
  • 重新啟動 syslog-ng 服務來套用新的設定檔
    1
    root@DietPi:~# service syslog-ng restart
  • 將 syslog-ng 設定成開機自動啟動
    1
    root@DietPi:~# update-rc.d syslog-ng defaults
  • 重新開機
    1
    root@DietPi:~# reboot
  • 確認 syslog-ng 是否有自動啟動
    1
    root@DietPi:~# htop
  • 檢查 Log 是否有正確進到 Syslog Server
    1
    root@DietPi:~# tail -f /var/log/mikrotik/mikrotik.YYYY.MM.DD.log

參考資料