近期公司装了一组centos7.2的服务器,运行一段时间后rsyslog不打印日志了。
于是进行相关处理,因为以前用的都是centos6.3,7.2用的比较少,处理效率比较低。
先使用systemctl restart rsyslog.service,发现无效,只能打印出
Jul2617:26:50AH-HTTP-05rsyslogd:[originsoftware="rsyslogd"swVersion="7.4.7"x-pid="792"x-info="http://www.rsyslog.com"]exitingonsignal15. Jul2617:29:03AH-HTTP-05rsyslogd:[originsoftware="rsyslogd"swVersion="7.4.7"x-pid="904"x-info="http://www.rsyslog.com"]start
其他日志一概打印不出来。
删除二进制程序,使用
yumreinstallrsyslog
重装最新版本,无效。
以前centos6.2下syslog是使用unix端口监听日志信息并打印到message中,
netstat-anop|grepsyslog
发现为空,担心是不是因为监听端口出了问题。
于是下载最新版的rsyslog的源码包编译,发现出现了监听端口,但是还是没有日志,不仅如此,连restart syslog的日志都不打印了。
但是发现有程序core掉了,此时能打印日志,除了core日志以外,什么日志都不打印。
查了下资料,centos7 用system-journal,代替了原来的syslog,并由rsyslog负责写入message等日志文件。
[root@AH-HTTP-04~]#netstat-anop|grepjour unix2[ACC]STREAMLISTENING14351/systemd/run/systemd/journal/stdout unix5[]DGRAM14381/systemd/run/systemd/journal/socket unix3[]STREAMCONNECTED18055659/systemd-journal/run/systemd/journal/stdout unix3[]STREAMCONNECTED7909659/systemd-journal/run/systemd/journal/stdout unix3[]STREAMCONNECTED18062659/systemd-journal/run/systemd/journal/stdout unix3[]STREAMCONNECTED12524659/systemd-journal/run/systemd/journal/stdout unix3[]STREAMCONNECTED11538659/systemd-journal/run/systemd/journal/stdout unix3[]STREAMCONNECTED11480659/systemd-journal/run/systemd/journal/stdout unix3[]STREAMCONNECTED15559659/systemd-journal/run/systemd/journal/stdout unix3[]STREAMCONNECTED11493659/systemd-journal/run/systemd/journal/stdout unix3[]STREAMCONNECTED11478659/systemd-journal/run/systemd/journal/stdout unix3[]STREAMCONNECTED18564659/systemd-journal/run/systemd/journal/stdout unix3[]STREAMCONNECTED11539659/systemd-journal/run/systemd/journal/stdout unix3[]STREAMCONNECTED11541659/systemd-journal/run/systemd/journal/stdout unix3[]STREAMCONNECTED11481659/systemd-journal/run/systemd/journal/stdout
发现果然监听端口,于是
systemctlrestartsystemd-journald.service
重启进程,发现还是不打印日志。
无奈之下重启设备发现打印日志了。
重启可以ok,那估计肯定是内存数据有问题,也可能是磁盘满了。
[root@AH-HTTP-04~]#psaux|grepsyslog root8940.00.172401252988?SslJul262:21/usr/sbin/rsyslogd-n root118420.00.0112652964pts/2S+14:590:00grep--color=autosyslog [root@AH-HTTP-04~]#ll/proc/894/fd total0 lr-x------1rootroot64Jul2814:540->/dev/null l-wx------1rootroot64Jul2814:541->/dev/null lr-x------1rootroot64Jul2814:5410->/run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-0000000000039949-000555421937942e.journal lr-x------1rootroot64Jul2814:5411->/run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-0000000000052886-00055545232cc8b5.journal lr-x------1rootroot64Jul2814:5412->/run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-000000000006ae3f-0005554788818ea3.journal lr-x------1rootroot64Jul2814:5413->/run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-0000000000083cc4-0005554a87b67bd3.journal lr-x------1rootroot64Jul2814:5414->/run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-000000000009c05c-0005554cc150f29c.journal lr-x------1rootroot64Jul2814:5415->/run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-00000000000b4a2c-0005554f6a127117.journal lr-x------1rootroot64Jul2814:5416->/run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-00000000000d05bf-00055555c24ad88d.journal lr-x------1rootroot64Jul2814:5417->/run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system.journal l-wx------1rootroot64Jul2814:542->/dev/null l-wx------1rootroot64Jul2814:543->/var/log/messages l-wx------1rootroot64Jul2814:544->/var/log/cron lr-x------1rootroot64Jul2814:545->/run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-0000000000000001-00055535427b86bd.journal lr-x------1rootroot64Jul2814:546->anon_inode:inotify l-wx------1rootroot64Jul2814:547->/var/log/secure l-wx------1rootroot64Jul2814:548->/var/log/maillog lr-x------1rootroot64Jul2814:549->/run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-000000000001c5d5-0005553ad572a085.journal
发现syslog在/run/log/journal/下面有大量的临时日志文件
[root@AH-HTTP-04~]#df-h FilesystemSizeUsedAvailUse%Mountedon /dev/sdi2533G11G495G3%/ devtmpfs16G016G0%/dev tmpfs16G016G0%/dev/shm tmpfs16G954M15G6%/run tmpfs16G016G0%/sys/fs/cgroup /dev/sdi1969M99M804M11%/boot /dev/sda3.7T923G2.6T27%/home1 /dev/sdb3.7T921G2.6T27%/home2 /dev/sdc3.7T936G2.6T27%/home3 /dev/sdd3.7T927G2.6T27%/home4 /dev/sde3.7T914G2.6T26%/home5 /dev/sdf3.7T904G2.6T26%/home6 /dev/sdg3.7T925G2.6T27%/home7 /dev/sdh3.7T917G2.6T26%/home8 /dev/sdj3.7T900G2.6T26%/home9 /dev/sdk3.7T927G2.6T27%/home10 /dev/sdl894G413G437G49%/home11 /dev/sdm3.7T921G2.6T27%/home12 tmpfs3.2G03.2G0%/run/user/1000
发现这些目录挂载在tmpfs,而这个是内存盘,估计是运行时间太长,把16G的内存盘都占完了,再也不能写入临时文件了,导致syslog不能打印日志。
但是现在还是不明白为什么会形成这些垃圾文件,因为日志写入量并不大,不应该会出现写不进去的情况。现在临时用脚本定时删除,避免问题。