前言 本文列出了在linux系統(tǒng)下的幾個日志文件。以及結(jié)合message中的日志記錄,作出了簡單分析。 syslog是Linux系統(tǒng)默認(rèn)的日志守護進(jìn)程。默認(rèn)的syslog配置文件是/etc/sysctl.conf文件 通常,syslog 接受來自系統(tǒng)的各種功能的信息,每個信息都包括重要級。/etc/syslog.conf 文件通知 syslogd 如何根據(jù)設(shè)備和信息重要級別來報告信息。 那么,linux記錄的日志有哪些呢? /var/log/lastlog :記錄最后一次用戶成功登陸的時間、登陸IP等信息/var/log/messages :記錄Linux操作系統(tǒng)常見的系統(tǒng)和服務(wù)錯誤信息/var/log/secure :Linux系統(tǒng)安全日志,記錄用戶和工作組變壞情況、用戶登陸認(rèn)證情況/var/log/btmp :記錄Linux登陸失敗的用戶、時間以及遠(yuǎn)程IP地址/var/log/cron :記錄crond計劃任務(wù)服務(wù)執(zhí)行情況 如何查看日志(以message為例子) vi /var/log/messages-xxx 問題1: time wait bucket table overflow 分析: 原因是超過了linux系統(tǒng)tw數(shù)量的閥值。危害是 超過閥值后 ﹐系統(tǒng)會把多余的time-wait socket 刪除掉,并且 顯示警告信息 ,如果是NAT網(wǎng)絡(luò)環(huán)境又存在大量訪問,會產(chǎn)生各種連接不穩(wěn)定斷開的情況。 根據(jù)報錯提示,需要更改net.ipv4.tcp_max_tw_buckets這個內(nèi)核參數(shù)。這個參數(shù)是系統(tǒng)同時保持timewait套接字的最大數(shù)量。如果超過這個數(shù)字,time-wait套接字將立刻被清除并打印警告信息。這個限制僅僅是為了防止簡單的 DoS攻擊。 我看了我系統(tǒng)中TIME_WAIT 大部是由php-fpm產(chǎn)生的,是 屬于正常的現(xiàn)象 。 解決: 相關(guān)文章: 理解TIME_WAIT,徹底弄清解決TCP: http://www./news/web/146163065359633.html 解決TIME_WAIT過多造成的問題: http://blog.csdn.net/eroswang/article/details/51141963 【Linux日志】系統(tǒng)日志及分析: 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的配置有關(guān),需要了解系【計算機網(wǎng)絡(luò)】的三次握手,四次揮手機制。 不在此過多敘述了,找了幾篇文章,詳細(xì)有興趣的,可以看看下邊相關(guān)文章。 解決: vi /etc/sysctl.confnet.ipv4.tcp_max_tw_buckets = 10000 相關(guān)文章: nginx php-fpm segfault那點事: http://blog.csdn.net/mengfanzhong/article/details/53012478 php-fpm backlog參數(shù)潛在問題: http://blog.csdn.net/willas/article/details/11634825 TCP/IP協(xié)議中backlog分析與設(shè)置以及TCP狀態(tài)變化: http://www./net/201307/224634.html 一次segfault錯誤的排查過程: http://blog.csdn.net/zhaohaijie600/article/details/45246569 總結(jié): 所以,問多問題可以在sysctl.conf配置文件修改,如下圖所示。但是所有問題發(fā)現(xiàn)解決方法后,要結(jié)合當(dāng)下業(yè)務(wù)與機器的配置合理調(diào)節(jié),切莫胡亂修改。 平常有時間也可去生產(chǎn)看看操作系統(tǒng)的相關(guān)日志,有便于更佳了解自己的系統(tǒng)。 編輯配置文件: vi /etc/sysctl.conf 其他文章參考: linux syslog詳解: http://www.cnblogs.com/skyofbitbit/p/3674664.html 設(shè)置Sysctl.conf (配置sysctl.conf文件詳解): http://blog.csdn.net/21aspnet/article/details/6584792 linux下syslog使用說明 : http://blog./uid-25120309-id-3359929.html 系統(tǒng)日志:記錄系統(tǒng)相關(guān)信息: http://blog.csdn.net/ty_hf/article/details/55511624 php錯誤日志:檢測php運行時或用戶自記錄錯誤日志: http://blog.csdn.net/ty_hf/article/details/55505262 mysql慢日志:記錄mysql服務(wù)器中影響性能的SQL: http://blog.csdn.net/ty_hf/article/details/55504172 本文地址:http://blog.csdn.net/ty_hf/article/details/55511624 |
|