Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

使用 Linux rsyslog 儲存 ASUS Wifi 分享器的 log

Posted on 2017 年 9 月 4 日2021 年 3 月 12 日 By 日落 在〈使用 Linux rsyslog 儲存 ASUS Wifi 分享器的 log〉中尚無留言

因為一些原因,需要保留極度完整的 log,所以研究怎麼把 Wifi AP (router) 的記錄全部倒進 linux  的 rsyslog。

先修改 /etc/rsyslog.conf 裡面的幾個項目:

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

把「ModLoad」、「UDPServerRun」、「InputTCPServerRun」的註解拿掉,這樣 rsyslog 就會使用 TCP 和 UDP listen port 514。當然在啟動之前要記得先去把防火強的設定弄好。

接下來重新啟動 rsyslog:

$ sudo service rsyslog

啟動完成沒有看到什麼錯誤訊息,表示已經開始運作了。接著「tail -f /var/log/syslog」應該就會看到 remote server 的資料。


但不同機器的訊息方在相同的檔案上實在很難追蹤,所以再多做一個設定,將不同機器傳過來的資料分開存放在不同的檔案。這類的設定檔會放在「/etc/rsyslog.d」,眼尖的話應該已經注意到 ufw、postfix 等服務已經有建立自己的設定了,我們參考著做即可。

假設今天 Wifi AP 的 IP 是「192.168.0.1」,而負責存放所有 log 的 loghost IP 為「192.168.0.101」,設定可以這樣寫:

if $fromhost-ip startswith '192.168.0.1' then /var/log/wifi.log
& ~

這樣 rsyslog 只要遇到從 192.168.0.1 傳過來的資料,就一律丟到「/var/log/wifi.log」。

我自己的 log 比較複雜一些,除了把防火牆以外,還有 kernel 的 log 分開成二個不同的檔案:

if $fromhost-ip startswith '192.168.0.1' and not ($msg contains 'DROP IN') then /var/log/ac3100.log
& ~

if $fromhost-ip startswith '192.168.0.1' and ($msg contains 'DROP IN') then /var/log/ac3100-fw.log
& ~


網路上大部分的資料,都是教別人怎麼把 log 往別台機器丟,只有比較少一部份是處理別台機器的 log,這邊留下一些參考文件:

  • 認識與分析登錄檔 – vbird
  • Filter Conditions — rsyslog 8.29.0 documentation
  • rsyslog: log message from remote host to specific file
  • rsyslog: log message from remote host to specific file – Ask Ubuntu
Tags:Linux, SA, 資訊學習

文章導覽

Previous Post: 尋找適合自己的工作場所 – Coffee Highfive
Next Post: 用 Apache Bench (ab) 可能無法模擬高負載的網站實際情況

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


其他

關於我  (About me)

小額贊助

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.