Linux的log日志功能


# cd /etc/init.d

# ./syslog restart

Shutting down kernel logger: OK ]
Shutting down system logger: OK ]
Starting system logger: OK ]
Starting kernel logger: OK ]

不過最好查詢清楚是為什么不能寫入linux os log的 ?

--------------------------------------------------------------

 

日志功能

日志(log)功能用於將路由器產生的各種信息以日志形式記錄到具備syslog功能的主機上(如unix主機)。

該功能的缺省形式是將信息顯示在連接console口的終端上。

一、syslog功能簡介

1、unix主機用syslogd記錄系統信息,信息來源包括:

1)系統內核產生系統信息

2)fifo管道記錄內部進程通信的信息

3)進程將信息通過socket連接寫入到log設備中

4)遠端主機通過某種連接將信息輸入

其中,第3項與本路由器syslog功能有關。

2、unix將系統信息以某種形式分類或分級,該形式可理解為:

facility.level

facility代表產生信息的來源,常用的有以下幾項:

auth 用戶身份認證信息

authpriv 用戶權限認證信息

cron cron信息

daemon daemon進程產生的信息

kern 內核信息

local0~7 系統留用

lpr 打印隊列產生的信息

mail 郵件系統信息

news news系統信息

user 用戶進程產生信息

uucp 與uucp有關的信息

syslog syslogd自身信息

level 是信息的級別,代表着子系統對該級別或該級別以上的信息所要采取的措施,常用的有8項

emerg 系統失效,級別最高

alert 需立即修補

crit 情況嚴重,如硬件損壞

err 錯誤

warning 警告

notice 需加以注意,但無關緊要

info 普通信息

debug debug信息

二、config狀態下log的配置

logging命令有如下命令選項

buffered - 將日志記錄於內部緩沖區

clear - 清除內部日志

console [ * ] - 將日志記錄於終端

facility - 設置syslog的用途

source-interface- 設置syslog報文的源地址

trap - 設置日志記錄的門限

a.b.c.d - 將日志記錄於支持syslog的主機

其中,logging console是缺省配置。

1、 logging buffered

將日志記錄於內部buffer中,利用show logging命令可以顯示buffer中的log信息。

2、 logging clear

logging buffered的相關命令,用於清除buffer中的log信息。

3、 logging console

缺省配置為將日志信息顯示於監控終端。

相關命令見terminal monitor enable/disable

4、 logging facility

logging facility ftp 在linux主機中將日志信息的facility標記為ftp

logging facility nnn(0-255) 從0開始,依次對應於前面各項,其余留用

其它命令選項參見syslog功能簡介

5、logging source-interface

設定source-interface 為log信息報文的源發地址

6、 logging trap

門限設定參見syslog功能簡介

一般說來,log信息下列幾大類

err 標記軟件錯誤信息或硬件故障信息

notice 標記端口up/down的變化

info 標記系統重啟信息、包過濾報文記錄

debug 標記debug信息

warning 標記用戶驗證失效和被包過濾禁止的報文記錄

nnn(0-7) 依次對應於前面各項,級別最高為0,最低為7

在設定一個級別之后,日志將記錄該級別和該級別之上的log信息。

7、 logging a.b.c.d

將ip為a.b.c.d的主機作為syslog主機

三、相關命令

1、 terminal monitor enable/disable

缺省狀態下為logging console時,日志信息(包括debug信息)只能在監控窗口顯示,虛擬終端不能顯示,要使在虛擬終端顯示log信息,只需在config狀態下鍵入:

terminal monitor enable

反之,設terminal monitor disable

2、防火牆列表中,每個列表都可以記log信息

:如:per add ip 2.2.2.2 255.0.0.0 1.1.1.1 255.0.0.0 log

3、 show logging

顯示記錄於buffer中的log信息

 

==========================================================

系統運行日志:

ALinux 日志存儲在 /var/log 目錄中。這里有幾個由系統維護的日志文件,但其他服務和程序也可能會把它們的日志放在這里。大多數日志只有 root 才可以讀,不過只需要修改文件的訪問權限就可以讓其他人可讀。

以下是常用的系統日志文件名稱及其描述:

lastlog 記錄用戶最后一次成功登錄時間

loginlog 不良的登陸嘗試記錄

messages 記錄輸出到系統主控台以及由syslog系統服務程序產生的消息

utmp 記錄當前登錄的每個用戶

utmpx 擴展的utmp

wtmp 記錄每一次用戶登錄和注銷的歷史信息 wtmpx 擴展的wtmp

vold.log 記錄使用外部介質出現的錯誤

xferkig 記錄Ftp的存取情況 sulog 記錄su命令的使用情況

acct 記錄每個用戶使用過的命令

aculog 撥出自動呼叫記錄

B/var/log/messages
messages 日志是核心系統日志文件。它包含了系統啟動時的引導消息,以及系統運行時的其他狀態消息。IO 錯誤、網絡錯誤和其他系統錯誤都會記錄到這個文件中。其他信息,比如某個人的身份切換為 root,也在這里列出。如果服務正在運行,比如 DHCP 服務器,您可以在 messages 文件中觀察它的活動。通常,/var/log/messages 是您在做故障診斷時首先要查看的文件。

C/var/log/XFree86.0.log這個日志記錄的是 Xfree86 Xwindows 服務器最后一次執行的結果。如果您在啟動到圖形模式時遇到了問題,一般情況從這個文件中會找到失敗的原因。

D/var/log 目錄下有一些文件以一個數字結尾,這些是已輪循的歸檔文件。日志文件會變得特別大,特別笨重。Linux 提供了一個命令來輪循這些日志,以使您的當前日志信息不會淹沒在舊的無關信息之中。 logrotate 通常是定時自動運行的,但是也可以手工運行。當執行后,logrotate 將取得當前版本的日志文件,然后在這個文件名最后附加一個“.1”。其他更早輪循的文件為“.2”、“.3”,依次類推。文件名后的數字越大,日志就越老。

可以通過編輯 /etc/logrotate.conf 文件來配置 logrotate 的自動行為。通過 man logrotate 來學習 logrotate 的全部細節。

其中:

# rotate log files weekly

weekly

這里代表每個日志文件是每個星期循環一次,一個日志文件保存一個星期的內容。

# keep 4 weeks worth of backlogs

rotate 4

這里代表日志循環的次數是4次,即可以保存4個日志文件。

E、定制日志

可以通過編輯 /et/syslog.conf 和 /etc/sysconfig/syslog 來配置它們的行為,可以定制系統日志的存放路徑和日志產生級別。

last

單獨執行last指令,它會讀取位於/var/log目錄下,名稱為wtmp的文件,並把該給文件的內容記錄的登入系統的用戶名單全部顯示出來。

history

history命令能夠保存最近所執行的命令。如果是root命令所保存的命令內容在/root/.bash_history文件中,如果是普通用戶,操作所命令保存在這個用戶的所屬目錄下,即一般的/home/username/.bash_history。這個history的保存值可以設置,編輯/etc/profile文件,其中的HISTSIZE=1000的值就是history保存的值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM