日志-syslog系统日志

时间:2022-10-03 14:52:09
前言
本文列出了在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
日志-syslog系统日志

问题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
一次segfault错误的排查过程: http://blog.csdn.net/zhaohaijie600/article/details/45246569


总结:
所以,问多问题可以在sysctl.conf配置文件修改,如下图所示。但是所有问题发现解决方法后,要结合当下业务与机器的配置合理调节,切莫胡乱修改。
平常有时间也可去生产看看操作系统的相关日志,有便于更佳了解自己的系统。

编辑配置文件:
vi /etc/sysctl.conf
日志-syslog系统日志

日志-syslog系统日志


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