日誌-syslog系統日誌

前言
本文列出了在linux系統下的幾個日誌文件。以及結合message中的日誌記錄,作出了簡單分析。
syslog是Linux系統默認的日誌守護進程。默認的syslog配置文件是/etc/sysctl.conf文件
通常,syslog 接受來自系統的各種功能的信息,每個信息都包括重要級。/etc/syslog.conf 文件通知 syslogd 如何根據設備和信息重要級別來報告信息。

那麼,linux記錄的日誌有哪些呢?

/var/log/lastlog :記錄最後一次用戶成功登陸的時間、登陸IP等信息
/var/log/messages :記錄Linux操作系統常見的系統和服務錯誤信息
/var/log/secure :Linux系統安全日誌,記錄用戶和工作組變壞情況、用戶登陸認證情況
/var/log/btmp :記錄Linux登陸失敗的用戶、時間以及遠程IP地址
/var/log/cron :記錄crond計劃任務服務執行情況

grep '查找關鍵字段' /var/log/messages|head -n 行數
grep '查找關鍵字段' /var/log/messages|tail -n 行數

如何查看日誌(以message爲例子)
vi /var/log/messages-xxx


問題1:
time wait bucket table overflow
分析:
原因是超過了linux系統tw數量的閥值。危害是超過閥值後﹐系統會把多餘的time-wait socket 刪除掉,並且顯示警告信息,如果是NAT網絡環境又存在大量訪問,會產生各種連接不穩定斷開的情況。
根據報錯提示,需要更改net.ipv4.tcp_max_tw_buckets這個內核參數。這個參數是系統同時保持timewait套接字的最大數量。如果超過這個數字,time-wait套接字將立刻被清除並打印警告信息。這個限制僅僅是爲了防止簡單的 DoS攻擊。
我看了我係統中TIME_WAIT 大部是由php-fpm產生的,是屬於正常的現象
解決:
vi  /etc/sysctl.conf
net.ipv4.tcp_max_tw_buckets = 20000

相關文章:
理解TIME_WAIT,徹底弄清解決TCP:http://www.itnpc.com/news/web/146163065359633.html
解決TIME_WAIT過多造成的問題:http://blog.csdn.net/eroswang/article/details/51141963
【Linux日誌】系統日誌及分析:http://www.cnblogs.com/yingsong/p/6022181.html


問題2:
7:28 kernel: php-fpm[18290]: segfault at 7ff56c752268 ip 00007ff56c752268 sp 00007fff18bc1b18 error 15 in zero (deleted)[7ff56be47000+8000000]
分析:
跟backlog的配置有關,需要了解系【計算機網絡】的三次握手,四次揮手機制。
不在此過多敘述了,找了幾篇文章,詳細有興趣的,可以看看下邊相關文章。
解決:
vi  /etc/sysctl.conf
net.ipv4.tcp_max_tw_buckets = 10000


相關文章:
php-fpm backlog參數潛在問題:http://blog.csdn.net/willas/article/details/11634825
TCP/IP協議中backlog分析與設置以及TCP狀態變化:http://www.2cto.com/net/201307/224634.html


總結:
所以,問多問題可以在sysctl.conf配置文件修改,如下圖所示。但是所有問題發現解決方法後,要結合當下業務與機器的配置合理調節,切莫胡亂修改。
平常有時間也可去生產看看操作系統的相關日誌,有便於更佳瞭解自己的系統。

編輯配置文件:
vi /etc/sysctl.conf





其他文章參考:
設置Sysctl.conf (配置sysctl.conf文件詳解):http://blog.csdn.net/21aspnet/article/details/6584792


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章