當前位置:
首頁 > 最新 > 如何將Mikrotik/Cisco日誌保存到遠程SYSLOG伺服器

如何將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:牧龍等你高級網工運維 |