日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

明明白白你的Linux服务器——日志篇

發布時間:2025/3/21 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 明明白白你的Linux服务器——日志篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:http://os.51cto.com/art/201007/211455.htm

一、配置syslog(gyl4802959同學撰寫)

目前,linux依舊使用syslogd作為日志監控進程,對其進行必要的配置能減少很多麻煩,并且可更有效的從系統日志監控到系統的狀態。理解并完善一個syslog的配置,對于系統管理員來說顯得尤為重要。
/etc/syslog.conf根據如下的格式定義規則: facility.level action
設備.優先級 動作facility.level 字段也被稱為seletor(選擇條件),選擇條件和動作之間用空格或tab分割開。
#號開頭的是注釋,空白行會自動跳過。

1、facility

facility定義日志消息的范圍,其可使用的key有: auth -由 pam_pwdb 報告的認證活動。 authpriv -包括特權信息如用戶名在內的認證活動 cron -與 cron 和 at 有關的計劃任務信息。 daemon -與 inetd 守護進程有關的后臺進程信息。 kern -內核信息,首先通過 klogd 傳遞。 lpr -與打印服務有關的信息。 mail -與電子郵件有關的信息 mark - syslog內部功能用于生成時間戳 news -來自新聞服務器的信息 syslog -由 syslog 生成的信息 user -由用戶程序生成的信息 uucp -由 uucp 生成的信息 local0-local7 -與自定義程序使用

* 通配符代表除了 mark 以外的所有功能除mark為內部使用外,還有security為一個舊的key定義,等同于auth,已經不再建議使用。

2、level級別

level定義消息的緊急程度。按嚴重程度由高到低順序排列為: emerg -該系統不可用,等同panic alert -需要立即被修改的條件 crit -阻止某些工具或子系統功能實現的錯誤條件 err -阻止工具或某些子系統部分功能實現的錯誤條件,等同error warning -預警信息,等同warn notice -具有重要性的普通條件 info -提供信息的消息 debug -不包含函數條件或問題的其他信息 none -沒有重要級,通常用于排錯

* 所有級別,除了none其中,panic、error、warn均為舊的標識符,不再建議使用。
在定義level級別的時候,需要注意兩點: 1)優先級是由應用程序在編程的時候已經決定的,除非修改源碼再編譯,否則不能改變消息的優先級;

低的優先級包含高優先級,例如,為某個應用程序定義info的日志導向,則涵蓋notice、warning、err、crit、alert、emerg等消息。(除非使用=號定義)

3、selector選擇條件

通過小數點符號“.”把facility和level連接在一起則成為selector(選擇條件)。 可以使用分號“;”同時定義多個選擇條件。也支持三個修飾符: * - 所有日志信息 = - 等于,即僅包含本優先級的日志信息 ! - 不等于,本優先級日志信息除外

4、action動作

由前面選擇條件定義的日志信息,可執行下面的動作: file-指定日志文件的絕對路徑 terminal 或 print -發送到串行或并行設備標志符,例如/dev/ttyS2 @host -遠程的日志服務器 username -發送信息本機的指定用戶信息窗口中,但該用戶必須已經登陸到系統中 named pipe -發送到預先使用 mkfifo 命令來創建的 FIFO 文件的絕對路徑※注意,不能通過“|/var/xxx.sh”方式導向日志到其他腳本中處理。

5、舉例

例如: *.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages #把除郵件、新聞組、授權信息、計劃任務等外的所有通知性消息都寫入messages文件中。 mail,news.=info /var/adm/info #把郵件、新聞組中僅通知性消息寫入info文件,其他信息不寫入。 mail.*;mail.!=info /var/adm/mail #把郵件的除通知性消息外都寫入mail文件中。 mail.=info /dev/tty12 #僅把郵件的通知性消息發送到tty12終端設備 *.alert root,joey #如果root和joey用戶已經登陸到系統,則把所有緊急信息通知他們 *.* @finlandia #把所有信息都導向到finlandia主機(通過/etc/hosts或dns解析其IP地址)※注意:每條消息均會經過所有規則的,并不是唯一匹配的。

也就是說,假設mail.=info信息通過上面范例中定義的規則時,/var/adm/info、/var/adm/mail、/dev/tty12,甚至finalandia主機都會收到相同的信息。這樣看上去比較煩瑣,但可以帶來的好處就是保證了信息的完整性,可供不同地方進行分析。

二、messages日志

首先說下我們最關注的系統/var/log/messages,這東東不僅是咱們服務器的系統日志,很多時候它也做了許多服務的日志,這也是它被稱為雜貨鋪的原因,值得重點關注,大家一般都喜歡用以下命令看最后十條日志

tail -n10 /var/log/messages

其實還可以將一段日志保存成文件,正用練下自己的awk、sed和grep水平;或者直接用vim來查看,這也是算是一種經驗之談吧。我以前配置bind的主從復制,有時因為權限的原因報錯;這時可以在一臺報錯的服務器上用命令tail -f /var/log/messages實時查看服務器的變化情況,從中查找錯誤的蛛絲馬跡;事實證明,效果很好,而且用于lvs+keepalived的排錯效也不錯,其它事例依此類推。

三、secure的用法

/var/log/secure:記錄登入系統存取數據的文件,例如 pop3, ssh, telnet, ftp 等都會被記錄,我們可以利用此文件找出不安全的登陸IP。

四、記錄登陸者的數據

/var/log/wtmp:記錄登入者的訊息數據,由于本文件已經被編碼過(為二進制文件),所以必須使用 last指令來取出文件的內容,你用cat等命令直接查看此文件是不行的。

五、lastlog記錄系統時間

/var/log/lastlog : 記錄每個使用者最近簽入系統的時間, 因此當使用者簽入時, 就會顯示其上次簽入的時間,您應該注意一下這個時間, 若不是您上次簽入的時間, 表示您的帳號可能被人盜用了。 此檔可用 /usr/bin/lastlog 指令讀取(Freebsd下為/usr/sbin/lastlogin)。

六、用dmesg查看啟動消息?

dmesg提供了一個簡單的方法查看系統啟動信息。當Linux啟動的時候,內核的信息被存入內核ring緩存當中,dmesg可以顯示緩存中的內容。默認情況下,dmesg打印內容到屏幕上面,當然你可以重定向輸出到一個文件。如果硬件損壞的話,在dmesg日志里是有顯示的,可用以下命令來查看dmesg | grep error

七、服務器的郵件日志

服務器的郵件為/var/log/messages,如果要用專業的日志分析工具來分析的話,我推薦用Awstats;由于公司的開發對郵件的要求比較低,所以我幫他們配置的就是最簡單的sendmail,有時看看郵件日志里的status狀態來判斷郵件到底有沒有正確發送;在配置Nagios服務器,我也習慣用此日志來判斷報警郵件到底有沒有發送,如果對自己的shell水平足夠自信,也可以寫腳本來收集郵件服務器的返回狀態等,但專業的事情,建議還是由專業的工具來做,特別是郵件負載比較大時,每天幾百萬條日志或上千萬條日志不是開玩笑的。

八、日志文件的專業工具

像系統的一些服務,比如Apache、Nginx、Squid、還有mysql,都有自己的特定的日志文件,由于格式比較復雜,也推薦用專業工具,如Awstats、Cacti來分析,現在用cacti用得比較多是用它分析Nginx負載均衡器的一段時間的并發情況。

九、輸出Iptables日志到一個指定的文件(logboy同學撰寫)

Iptables的man參考頁中提到: 我們可以使用Iptables在Linux內核中建立, 維護和檢查IP包過濾規則表。幾個不同的表可能已經創建, 每一個表包含了很多內嵌的鏈, 也可能包含用戶自定義的鏈。Iptables默認把日志信息輸出到/var/log/messages文件。不過一些情況下你可能需要修改日志輸出的位置。下面向大家介紹如何建立一個新的日志文件/var/log/iptables.log。通過修改或使用新的日志文件, 你可以創建更好的統計信息或者幫助你分析網絡攻擊信息。

(1). Iptables默認的日志文件

例如, 如果你輸入下面的命令, 屏幕將顯示/var/log/messages文件中的Iptables日志信息:

# tail -f /var/log/messages

輸出:

Oct 4 00:44:28 debian gconfd (vivek-4435): Resolved address "xml:readonly:/etc/gconf/gconf.xml.defaults" to a read-only configuration source at position 2 Oct 4 01:14:19 debian kernel: IN=ra0 OUT= MAC=00:17:9a:0a:f6:44:00:08:5c:00:00:01:08:00 SRC=200.142.84.36 DST=192.168.1.2 LEN=60 TOS=0x00 PREC=0x00 TTL=51 ID=18374 DF PROTO=TCP SPT=46040 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0 

(2).輸出Iptables日志信息到一個指定文件的方法

打開你的/etc/syslog.conf文件:

# vi /etc/syslog.conf

在文件末尾加入下面一行信息:

kern.warning /var/log/iptables.log

保存和關閉文件。

重新啟動Syslogd(如果你使用Debian/Ubuntu Linux):

# /etc/init.d/sysklogd restart

另外, 使用下面命令重新啟動Syslogd(如果你使用Red Hat/Cent OS/Fedora Core Linux):

# /etc/init.d/syslog restart現在確認你的Iptables使用了log-level 4參數(前面有一個log-prefix標志)。例如:

# DROP everything and Log it iptables -A INPUT -j LOG –log-level 4 iptables -A INPUT -j DROP

舉一個例子, 丟棄和記錄所有來自IP地址65.55.11.2的連接信息到/var/log/iptables.log文件。

iptables -A INPUT -s 64.55.11.2 -m limit limit 5/m --limit-burst 7 -j LOG log-prefix ‘** HACKERS **’ --log-level 4 iptables -A INPUT -s 64.55.11.2 -j DROP 

命令解釋:

log-level 4: 記錄的級別. 級別4為警告(warning)。

log-prefix ‘*** TEXT ***’: 這里定義了在日志輸出信息前加上TEXT前綴。TEXT信息最長可以是29個字符, 這樣你就可以在記錄文件中方便找到相關的信息。

現在你可以通過/var/log/iptables.log文件參考Iptables的所有信息:

# tail -f /var/log/iptables.log

十、日志輪詢

再說下日志的輪詢,Linux的日志輪詢機制做得相當好,當然我們也可以通過配置/etc/logrotate.conf來修改它,有興趣的同學可參考鳥哥的文章,這里就不作詳細介紹了。

總結

以上是生活随笔為你收集整理的明明白白你的Linux服务器——日志篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。