實例:
en
conf t
clock timezone GMT+8 #設置北京時間
exit
clock set HH:MM:SS DAY MONTH YEAR #設置當前時間
service timestamps debug uptime #開啟debug調試模式
service timestamps log datetime localtime #開啟log日志增加時間戳
log on #啟動log功能
loggin 192.168.1.100 #配置日志發送到192.168.1.100的主機上
loggin facility local2 #將記錄時間類型定義為local2
loggin trap 7 #cisco 設備告警級別共分0---7級,0級最高,7級最低
logging source-inter loopback0 #指定log日志記錄內容發送的源地址為Loopback0的IP地址
service timestamps log datetime localtime #發送log日志時發送時間戳
end
wr
--------------------------------------
日志消息的嚴重級別
參數 級別 系統日志描述 描述
emergencies 0 LOG_EMERG 系統不可用
alerts 1 LOG_ALERT 在端口下是需要立即操作的
critical 2 LOG_CRIT 路由器上存在一個關鍵狀態
errors 3 LOG_ERR 路由器上存在一個錯誤狀態
warnings 4 LOG_WARNING 路由器上存在一個警告狀態
notifications 5 LOG_NOTICE 路由器上發生了一個平常的但重要的事件
informational 6 LOG_INFO 路由器上發生了一個信息事件
debugging 7 LOG_DEBUG 來自debug命令的輸出
交換機上配置
C3560#config t
C3560(config)#logging on
C3560(config)#logging 10.86.20.10 //日志服務器的IP地址
C3560(config)#logging facility local0 //facility標識
C3560(config)#logging trap 3 (log日志) //日志記錄級別
C3560(config)#logging source-interface g0/3 //日志發出用的源IP地址
C3560(config)#service timestamps debug datetime localtime //日志記錄的時間戳設置,可根據需要具體配置
C3560(config)#exit
查看 C3560#show logging
關於Cisco路由器日志的記錄和保存
關於Cisco路由器日志的記錄和存儲, 我們分下面幾步進行討論.首先是為線路顯示日志的記錄信息,然后是將日志信息保存到Log服務器,最后將日志信息發送到SNMP管理終端.
配置日志信息地發送選項
日志信息通常是指Cisco IOS中,系統所產生的報警信息.其中每一條信息都分配了一個警告的級別,並攜帶一些說明問題或時間嚴重性的描述信息.默認情況下,Cisco IOS只發送日志信息到Console接口;但是日志信息發送到Console接口有時候並不方便我們儲存,管理,分析日志信息,更多情況下我們選擇將日志發送至路由器緩存,Cisco路由器日志服務器或者是SNMP管理終端上去.
在Cisco IOS中,日志的消息將會以如下的方式被發送到日志存儲區域:
%LINK-5-CHANGED:Interface Ethemet0/0,changed state to administratively down,
如果為日志信息啟用了時間戳和序號等附加選項,則日志信息的顯示如下:
000011:Feb 03 14:03:13.011:%SYS-5-CONFIGJ:Configrued from console by console,
Cisco IOS規定,Cisco路由器日志信息分為7個級別,每個級別都和一個嚴重等級相關聯,級別0為最高,級別7為最低.使用Logging命令后的參數,可以設置所記錄的日志等級.
日志消息的嚴重級別
參數 級別 系統日志描述 描述
emergencies 0 LOG_EMERG 系統不可用
alerts 1 LOG-ALERT 在端口下是需要立即操作的
critical 2 LOG_CRIT 路由器上存在一個關鍵狀態
errors 3 LOG_ERR 路由器上存在一個錯誤狀態
warnings 4 LOG_WARNING 路由器上存在一個警告狀態
notifications 5 LOG_NOTICE 路由器上發生了一個平常的但重要的事件
informational 6 LOG_INFO 路由器上發生了一個信息事件
debugging 7 LOG_DEBUG 來自debug命令的輸出
缺省的:Console,monitor,buffer的Logging被設置為debugging級,而trap(syslog)服務器的logging被設置為informational
如果在ACL語句中使用log關鍵字,則只有嚴重級別設為6或者7時,才會在控制台上顯示輸出.(注:7的話,可能顯示的會比較慢)
對於日志記錄功能可以控制的一個選項是,哪些消息被記錄到4個目的地(線路,內部緩存,系統日志服務,SNMP管理台)例如,在控制台上,可以限制記錄嚴重級別為4(即顯示從0到4的消息)的日志消息;但是對系統日志服務器,可以設置為6(0到6).
日志記錄目的地
可以將日志信息轉發到以下4種基本目的地
1.線路
2.內部緩存
3.系統日志服務器
4.SNMP管理台
1.線路日志
有兩個命令可用於控制日志消息被發送到路由器的線路上:
Router(config)#logging console [severity_level] //console 日志
Router(config)#logging monitor [severity_level] //vvt telnet 日志
logging console命令是指將日志記錄到物理的TTY,如控制台和輔助線路.默認地,記錄日志到控制台對所有級別都打開;但是可以通過改變logging console命令中的嚴重級別來修改.
logging monitor命令是將日志記錄到邏輯的VTY.
將日志記錄到VTY和AUX默認是關閉的,要打開就要執行特權級的EXEC命令terminal monitor(telnet登錄后使用),將控制台日志消息復制到VTY,或者配置logging monitor命令.如果使用了后者,在初次訪問路由VTY時,則不需要執行terminal monitor命令來查看TTY命令行的日志輸出.在配置logging monitor命令時,如果不指定嚴重級別,則默認為7(調試)
對兩個命令,都必須使用logging on命令來打開日志記錄.
由於將消息顯示在終端線路上,如控制台,會給路由器增加處理負擔,所以建議將嚴重級別改到此調試更高的嚴重級別(較低的數字).如果要查看較低嚴重級別的消息,可以使用路由器內部緩存,系統日志服務器,或者SNMP管理台.
如果在生成錯誤和調試消息的過程中,關閉logging on命令,會大大降低路由器的速度,直到這些消息顯示在路由器的線路上,因此為顯示在控制台線路的日志消息分配嚴重級別時要小心.
在配置路由器時,我們經常會遇到正在輸入命令的時候,Cisco IOS設備將日志信息顯示在正在輸入的命令行中,雖然這些Cisco路由器日志消息和我們輸入命令無關,但是也會為我們造成麻煩,此時我們可以通過輸入logging synchronous命令,此命令的主要目的是將日志信息的輸出,調試信息的輸出同步到路由器線路上:控制台,輔助和VTY線路.
同步日志的主要目的是控制何時消息被顯示在路由器的線路上,當啟用這個特性時,同步日志使得Cisco IOS顯示消息,然后執行一個等價的Ctrl-R的命令,這使得路由器將已經輸入的信息重新顯示在命令行上.
可以使用Loging synchronous命令來影響日志消息的顯示:
Router(config)#line type #
Router(config-line)#logging synchronous [level severity_level |all] [limit #_of_lines]
嚴重程度是指日志消息的嚴重程度,這些消息是異步顯示的.嚴重性數值比該值高的消息(更低嚴重性的消息)被同步顯示;數值更低的(更嚴重)消息被異步顯示.默認的嚴重級別是2.參數all使得所有消息都被異步顯示,不管分配的嚴重級別.
參數Limit指定在路由器開始丟棄新的消息前,有多少個同步消息可以排在隊列中.默認是20條消息.如果到達該閥值,路由必須丟棄消息時,就會看到以下日志消息,說明路由必須丟棄的消息數目:
%SYS-3-MSGLOST#_of_messages due to overflow
同步日志的主要缺點是當路由器正在產生許多消息,而我們正在CLI中很慢地輸入時,路由器必須丟棄超過閥值地任何消息.因此,將無法在線路上看到這些消息.如果看到這類事件對你來說很關鍵,建議將它們記錄在路由器內部緩存,系統日志服務器或者SNMP管理台.
在給非控制台線路(如VTY)設置很大隊列極限值時要小心.如果黑客可以進入路由器上的VTY,而VTY上打開了同步日志,則黑客可以在輸入命令期間使VTY線路空閑.這將導致Cisco IOS用消息填滿很大的隊列,可以會耗盡路由器的整個內存.
2.內部緩存日志
記錄日志消息到TTY或者VTY存在一個問題是,如果沒有看連接線路的屏幕輸出,消息滾過屏幕並超出了終端軟件的歷史緩存,則沒有任何機制可以再看到那些丟失的消息.如果把日志消息記錄到除了線路以外的其他目的地,則可以避免這個問題.
一個解決方案是將日志消息記錄到路由器的內部緩存,根據路由器平台的不同,該項可能是默認打開或關閉的;大多數平台下,默認是打開的,用以下命令將日志記錄到路由器的緩存:
Router(config)#logging buffered [buffer_size | severity_level]
該命令有兩個參數,buffer_size指定為內部緩存分配多大的內存,以字節為單位.使用default logging buffered命令將緩存大小設回出廠的默認值.severity_level指出應該記錄的嚴重級別.默認的大小和嚴重級別(通常是7)依賴於平台型號.
3.系統日志服務器日志
以下是將日志記錄到系統日志服務器的基本命令
Router(config)#logging on
Router(config)#logging host{IP_address | host name}
Router(config)#logging trap severity_level
Router(config)#logging source-interface interface_type_interface_#
Router(config)#logging origin-id {host name| ip | string string}
Router(config)#logging facility facility_type
logging命令允許將日志記錄到非控制台目的地.
logging host命令指定系統日志服務器的IP地址或者主機名(完全合格的域名(FQDN)).如果不只一次輸入該命令,指定不同的系統日志服務器目的地,可以建立路由器使用的系統日志服務器列表.如果指定多個日志服務器的地址,設備則會多次發送日志信息到所有的日志服務器
在Cisco IOS12.2(15)T版本之前,使用logging {hostname|IP_address}命令打開系統日志服務器記錄,現在使用logging host命令.
logging trap命令指定要發送到系統日志服務器的日志消息的嚴重級別.默認是informational.
默認地,路由器用來到達系統日志服務器的接口IP地址將作為IP數據包頭中的源IP地址.使用logging source-interface命令來生成一致的日志條目.這樣路由器使用一個相同的源地址.使用該命令時,必須指定接口的類型和編號.只有路由器有兩個或更多接口可以到達系統日志服務器時,該命令才是必須的.(如果有多個接口都可以到達日志服務器時,又不指定源,那么日志信息的源IP地址則有可能會不同).但是為了一致性,要確保在系統日志數據包中使用相同的源地址.這使得在系統日志服務器上執行過濾規則來阻止的不希望的日志消息變得更容易.
在12.2(15)T版本中,Cisco增加了將路由器身份信息添加到系統日志消息的功能,這樣可以基於每個路由器,更容易地在系統日志服務器上搜尋或者分離信息.這是由logging origin-id實現的.該命令默認是關閉的.身份信息可以選擇hostname(使用hostname命令配置的名稱),IP地址(發送接口的IP地址)和string(用來定義路由器身份信息的字符串).如果字符串包含空格,則必須用引號將它括起來.
logging facility命令定義在運行UNIX的系統日志服務器上使用的工具,日志信息將保存在該服務器上.
系統日志工具類型
參數 描述
auth 授權系統
cron Cron工具
daemon 系統守護程序
kern 內核
local0到local7 本地定義的消息(從0到7)
lpr 打印機系統
mail E-mail系統
news USENET新聞
sys9到sys14 系統使用
syslog 系統日志
user 用戶定義進程
uucp UNIX到UNIX的復制系統
如果不指定工具,默認是local7.在UNIX上,可以通過編輯適當的配置文件來為指定的工具指定日志文件的保存位置.例如,編輯/ect/syslog配置文件,可以為工具創建一個條目.
如:local7.debugging/usr/adm/logs/router.log
該例中,工具級別是local7,debugging關鍵字指定了系統日志記錄級別.系統日志級別將決定哪個級別的消息將保存在以下的文件中:任何該嚴重級別及更高級別的消息將存儲在這個特定的文件中.
4.SNMP日志
要將日志消息發送到SNMP管理台,要執行以下命令:
Router(config)#snmp-server enable trap syslog (陷阱消息中的系統日志將被發送到SNMP管理台)
然后,有三個命令控制將日志消息記錄到管理台:
Router(config)#logging on
Router(config)#logging history severity_level
Router(config)#logging history size number
第二個命令指定哪些嚴重級別的日志消息應該被發送到SNMP管理台.默認級別是warning.由於SNMP使用UDP,而UDP是不可靠的連接,系統日志陷阱保存在路由器的歷史表中.至少一條系統日志消息(最新的一條)被保存在歷史表中(默認是一條消息).可以用logging history size將這個值增加到500條.
從Cisco IOS12.2 (1.4)版本開始,Cisco IOS可以使用ip nat log translations syslog命令來記錄每個NAT轉換.
其他日志命令
1.日期和時間戳
默認地,日志消息不包括日期和時間戳.使用以下兩個命令中的一個來添加日期和時間戳:
Router(config)#service timestamps {debug | log} uptime
Router(config)#service timestamps {debug | log} datetime [msec] [localtime][show-timezone][year]
可以在兩種類型的消息中添加時間戳:調試和日志消息.使用debug參數使Cisco IOS在調試輸出時包括時間戳.使用log參數則在每種日志消息中添加一個時間戳.第一個命令包括了uptime參數,使得Cisco IOS在消息中包括路由器開機以來的時間,如:1w0d:%SYS-5-CONFIG_I:Configured from console by console
如果要知道准確的日期和時間,則使用datetime參數.這個參數使得Cisco IOS在消息中包括日期和時間(日期和時間使用UTC格式),標准格式是:MMM DD HH:MM:SS.當使用datetime參數時,有一些可選的參數可用.msec參數在消息中包括毫秒信息.localtime顯示基於路由器本地配置的時區時間.默認情況下,年份信息不包括在時間信息中,但是使用可選的year則可以包括該信息.show-timezone參數在日期和時間輸出中包括時區名稱(如下面的UTC).下面是一個log參數和datetime,localtime和show-timezone選項一起使用的簡單例子:
(.May 23 11:13:25 UTC:%SYS-5-CONFIG_I:Configured from console by consle)
日志消息一般是從三種字符的一種開始的;空格,星號或者句點.
日志消息起始字符
參數 名稱 描述
空格 路由器的時鍾被手動設置,或者和NTP時間器同步
* 星號路由器的時鍾沒有被設置,或者沒有和NTP服務器同步
. 句點路由器的時鍾被設置為同步,但和NTP服務器失去聯系
2.序列號
除了將時間戳添加到日志消息中外,還可 讓Cisco IOS在每條消息中顯示序列號.可以使用以下命令來實現:
Router(config)#service sequence-numbers
如:下面顯示的000041,000042 (下面顯示的是除yeay參數的service timestamps命令)
3.速率限制
從Cisco IOS 12.1(3)T版本開始,可以用logging rate-limit命令以秒為單位限制記錄日志消息的速率.
Router(config)#logging rate-limit {number | all number |console number}[except severity]
默認地,路由器上沒有速率限制.通過指定一個從1到10000數.可以將每秒記錄的日志消息數限制到該值.all關鍵字,后面跟一個數值,將作用於所有日志記錄和調試消息.console關鍵字則限制將日志消息記錄到控制台的速率.except參數對指定嚴重級別或者根據高級別的消息建立一個例外.
強烈建立使用該命令,特別是在控制台接口上.在受到攻擊時,會出現泛洪,該命令可以減少路由器需要處理的消息量.
日志記錄驗證
1.show logging命令
show logging顯示了當前系統日志錯誤和事件記錄的狀態,包括所有配置的系統日志服務器地址,哪種類型日志打開,以及日志記錄統計.以下是命令的格式:
Router#show logging [summary] (GNS3 3600上無此參數)
使用clear logging命令清除內部緩存器中的日志消息.
2.show logging history命令
該命令顯示了系統日志歷史表的大小,表中的消息的狀態以及消息本身.
日志記錄和錯誤計數
如果正在使用路由內部緩存,並且較老的消息正在老化時,該特性非常有用.使用該特性,Cisco IOS仍然會跟蹤特定日志消息的發生數,以及該消息最后一次發生的情況.如果內部緩存不能夠保留所有消息,而同樣的錯誤或者問題卻持續發生時,則該特性很有用.該特性基本上可以替代上面討論的show logging summary命令.
在配置模式執行以下命令啟用該特性:
Router(config)#logging count
該命令對每個日志消息進行計數,包括每種消息類型最后一次發生的時間戳.
啟用該特性后,可以使用show logging count命令來查看錯誤計數.
---------------------
作者:blakegao
來源:CSDN
原文:https://blog.csdn.net/blakegao/article/details/18983321
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!