如何將Mikrotik/Cisco日誌保存到遠程SYSLOG伺服器
在某些情況下,您可能希望保存mikrotik路由器或CISCO交換機日誌(或Web代理日誌),以便記錄/跟蹤有關Mikrotik活動的信息。在大多數國家/地區,法律還要求保留用戶公共知識產權分配的記錄,例如,當您申請許可證時,需要備有此類記錄。從管理的角度來看,使用外部Linux基礎日誌伺服器攔截mikrotik信息要好得多。
這篇文章演示了如何將Mikrotik日誌發送到遠程Ubuntu / Linux基本系統日誌伺服器。在這個例子中我們將使用SYSLOG-NG包。
SYSLOG Server = 192.168.100.1
[OS> Ubuntu 12.4 32 bit]
Mikrotik Server = 192.168.100.2
首先我們將配置Mikrotik部分
#MIKROTIK CONFIGURATION
在Mikrotik,Open Terminal並粘貼以下內容。
/system logging action
set 0 memory-lines=100
set 1 disk-file-count=30 disk-file-name=MT-log-zaib disk-lines-per-file=500
set 3 remote=192.168.100.1
#192.168.100.1是我們將在第二步中配置的遠程syslogng伺服器。
#現在,我們將添加一些要存儲在syslog server.zaib中的主題
/system logging
add action=remote topics=critical
add action=remote topics=error
add action=remote topics=info
add action=remote topics=warning
[注意:192.168.100.1是Linux syslog伺服器ip,更改此ip以匹配您的遠程syslog伺服器ip。您可以根據自己的要求修改主題,下面僅舉例說明]
這就是Mikrotik
現在轉移到Linux部分,在這個例子中我使用了Ubuntu 12.4你可以使用你選擇的任何其他風格。
#UBUNTU 12.4配置
首先,我們必須安裝syslog伺服器。在此示例中,我們使用syslog-ng日誌伺服器。
安裝syslog-ng 軟體包
apt-get install syslog-ng
sudo apt-get install syslog-ng-mod-redis
sudo apt-get install libboost-system-dev libboost-thread-dev libboost-regex-dev
sudo apt-get install libmongo-client0
sudo apt-get install libesmtp6
安裝完成後,編輯/etc/syslog-ng.conf中提供的配置文件
使用以下命令編輯配置文件。
nano /etc/syslog-ng/syslog-ng.conf
現在在SOURCES部分之前粘貼以下行。
#Accept connection on UDP
source s_net { udp (); };
# MIKROTIK ###########
# Add Filter to add our mikroti
filter f_mikrotik { host( "192.168.100.2" ); };
# 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.$.$.$.log"
template-escape(no));
};
如下所示 …
現在保存並退出。
重要:在/ var / log和file中創建" mikrotik "文件夾,以便將mikrotik日誌保存在單獨的文件中。
mkdir /var/log/mikrotik
重新啟動syslog-ng服務以應用更改
service syslog-ng restart
監控LOGS
現在檢查/ var / log / mikrotik中的文件名並通過tail命令監視它
tail -f /var/log/mikrotik/mikrotik.log
在mikrotik,執行任何操作,例如打開「 新終端 」或嘗試添加任何新規則,您將在尾部輸出中看到其日誌。
例如。
完成!
LOG ROTATE!
由於我們已成功設法將新日誌文件添加到系統中,因此必須配置日誌輪換以移動/刪除舊日誌,否則如果其使用頻繁的生產系統,則可能會快速填滿磁碟。
要添加日誌輪換,請編輯syslog-ng配置文件。
nano /etc/logrotate.d/syslog-ng
並在開始或結束前添加以下內容。。。。
[這將每天輪換日誌文件,它將壓縮最後一天的日誌文件。如果您從設備收到一些重型日誌,則非常有用。
/var/log//mikrotik/*.log {
daily
rotate 90
missingok
compress
notifempty
missingok
sharedscripts
/etc/init.d/syslog-ng restart
endscript
# invoke-rc.d syslog-ng reload > /dev/null
}
保存並退出。並重新載入syslog-ng服務
service syslog-ng restart
上述代碼的說明。
每天 mikrotik的logrotation登錄 /var/log/mikrotik/mikrotik.log文件將每天進行。該值描述旋轉間隔
旋轉90 表示syslog將保留90個日誌文件。[檔案數量]
壓縮日誌文件將使用gzip格式進行壓縮
missingok避免停止任何錯誤
如果日誌文件為空,則notifempty不會輪換日誌文件
如果要控制重型生產伺服器的日誌大小," size "參數也是非常重要的設置。
大約50 MB的配置設置如下所示:
大小50M
請注意,如果同時設置了大小和旋轉間隔,則size將覆蓋旋轉參數
提示:日期文件名與年份日期
如果我們希望syslog在日常日期格式文件中存儲mikrotik文件,那麼使用
示例配置
# MIKROTIK ###########
# 添加過濾器以添加我們的mikrotik
filter f_mikrotik { host( "192.168.100.2" ); };
# 添加將存儲日誌的目標文件
#目的地 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.$.$.$.log"
#模版("$:$:$ $ $ $
")
template-escape(no));
};
更改SYSLOG日誌輪換時間
默認情況下,log.rotate在早上6:47開始。要將其更改為在午夜運行,請編輯文件
/ etc / crontab中
並將cron.daily行更改為以下內容
0 0 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
這將在深夜運行。
刪除零大小的日誌文件
你可能需要這個; )
find /var/log/mikrotik/ -name "mikrotik*" -size 0 -print0 | xargs -0 rm
刪除日誌文件90天
這個也是; )
find /var/log/mikrotik/* -daystart -mtime +90-type f -exec rm {} ;
或者更好地使用此處定義的完整腳本。
集中日誌伺服器,用於存儲多個設備日誌
更新:9-NOV-2017
如果您希望集中式日誌伺服器使用單獨的文件記錄多個設備日誌,則可以使用以下內容。
# MIKROTIK ###########
# 接受連接 UDP
source s_net { udp (); };
# 添加過濾器以添加我們的mikroti
filter f_mikrotik { host( "101.11.11.1" ); };
filter f_mikrotik2 { host( "101.11.11.2" ); };
filter f_ciscoswnoc { host( "101.11.11.3" ); };
filter f_ciscosw2 { host( "101.11.11.4" ); };
# 為每個主機添加要存儲日誌的目標文件
destination d_mikrotik { file("/var/log/mikrotik/$HOST.mikrotik.$.$.$.log"); };
destination d_mikrotik2 { file("/var/log/mikrotik/$HOST.mikrotik.$.$.$.log"); };
destination d_ciscoswnoc { file("/var/log/mikrotik/$HOST.ciscosw.$.$.$.log"); };
destination d_ciscosw2 { file("/var/log/mikrotik/$HOST.ciscosw.$.$.$.log"); };
log { source(s_net); filter(f_mikrotik); destination(d_mikrotik); };
log { source(s_net); filter(f_mikrotik2); destination(d_mikrotik2); };
log { source(s_net); filter(f_ciscoswnoc); destination(d_ciscoswnoc); };
log { source(s_net); filter(f_ciscosw2); destination(d_ciscosw2); };
確保重新啟動syslog-ng伺服器
service syslog-ng restart
TAG:牧龍等你高級網工運維 |