前言
本文列出了在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
相关文章:
nginx php-fpm segfault那点事:
http://blog.csdn.net/mengfanzhong/article/details/53012478
php-fpm backlog参数潜在问题:
http://blog.csdn.net/willas/article/details/11634825
TCP/IP协议中backlog分析与设置以及TCP状态变化:
http://www.2cto.com/net/201307/224634.html
一次segfault错误的排查过程:
http://blog.csdn.net/zhaohaijie600/article/details/45246569
总结:
所以,问多问题可以在sysctl.conf配置文件修改,如下图所示。但是所有问题发现解决方法后,要结合当下业务与机器的配置合理调节,切莫胡乱修改。
平常有时间也可去生产看看操作系统的相关日志,有便于更佳了解自己的系统。
编辑配置文件:
vi /etc/sysctl.conf
其他文章参考:
linux syslog详解:
http://www.cnblogs.com/skyofbitbit/p/3674664.html
设置Sysctl.conf (配置sysctl.conf文件详解):
http://blog.csdn.net/21aspnet/article/details/6584792
linux下syslog使用说明 :
http://blog.chinaunix.net/uid-25120309-id-3359929.html
php错误日志:检测php运行时或用户自记录错误日志:
http://blog.csdn.net/ty_hf/article/details/55505262
mysql慢日志:记录mysql服务器中影响性能的SQL:
http://blog.csdn.net/ty_hf/article/details/55504172
本文地址:http://blog.csdn.net/ty_hf/article/details/55511624