centos7.2上rsyslog不打印日志的问题
2017-07-28 15:06
225 查看
近期公司装了一组centos7.2的服务器,运行一段时间后rsyslog不打印日志了。
于是进行相关处理,因为以前用的都是centos6.3, 7.2用的比较少,处理效率比较低。
先使用systemctl restart rsyslog.service,发现无效,只能打印出
删除二进制程序,使用
以前centos6.2下syslog是使用unix端口监听日志信息并打印到message中,
于是下载最新版的rsyslog的源码包编译,发现出现了监听端口,但是还是没有日志,不仅如此,连restart syslog的日志都不打印了。
但是发现有程序core掉了,此时能打印日志,除了core日志以外,什么日志都不打印。
查了下资料,centos7 用system-journal,代替了原来的syslog,并由rsyslog负责写入message等日志文件。
无奈之下重启设备发现打印日志了。
重启可以ok,那估计肯定是内存数据有问题,也可能是磁盘满了。
清空垃圾文件,重启syslog,果然一切正常。
但是现在还是不明白为什么会形成这些垃圾文件,因为日志写入量并不大,不应该会出现写不进去的情况。现在临时用脚本定时删除,避免问题。
于是进行相关处理,因为以前用的都是centos6.3, 7.2用的比较少,处理效率比较低。
先使用systemctl restart rsyslog.service,发现无效,只能打印出
Jul 26 17:26:50 AH-HTTP-05 rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="792" x-info="http://www.rsyslog.com"] exiting on signal 15. Jul 26 17:29:03 AH-HTTP-05 rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="904" x-info="http://www.rsyslog.com"] start其他日志一概打印不出来。
删除二进制程序,使用
yum reinstall rsyslog重装最新版本,无效。
以前centos6.2下syslog是使用unix端口监听日志信息并打印到message中,
netstat -anop|grep syslog发现为空,担心是不是因为监听端口出了问题。
于是下载最新版的rsyslog的源码包编译,发现出现了监听端口,但是还是没有日志,不仅如此,连restart syslog的日志都不打印了。
但是发现有程序core掉了,此时能打印日志,除了core日志以外,什么日志都不打印。
查了下资料,centos7 用system-journal,代替了原来的syslog,并由rsyslog负责写入message等日志文件。
[root@AH-HTTP-04 ~]# netstat -anop|grep jour unix 2 [ ACC ] STREAM LISTENING 1435 1/systemd /run/systemd/journal/stdout unix 5 [ ] DGRAM 1438 1/systemd /run/systemd/journal/socket unix 3 [ ] STREAM CONNECTED 18055 659/systemd-journal /run/systemd/journal/stdout unix 3 [ ] STREAM CONNECTED 7909 659/systemd-journal /run/systemd/journal/stdout unix 3 [ ] STREAM CONNECTED 18062 659/systemd-journal /run/systemd/journal/stdout unix 3 [ ] STREAM CONNECTED 12524 659/systemd-journal /run/systemd/journal/stdout unix 3 [ ] STREAM CONNECTED 11538 659/systemd-journal /run/systemd/journal/stdout unix 3 [ ] STREAM CONNECTED 11480 659/systemd-journal /run/systemd/journal/stdout unix 3 [ ] STREAM CONNECTED 15559 659/systemd-journal /run/systemd/journal/stdout unix 3 [ ] STREAM CONNECTED 11493 659/systemd-journal /run/systemd/journal/stdout unix 3 [ ] STREAM CONNECTED 11478 659/systemd-journal /run/systemd/journal/stdout unix 3 [ ] STREAM CONNECTED 18564 659/systemd-journal /run/systemd/journal/stdout unix 3 [ ] STREAM CONNECTED 11539 659/systemd-journal /run/systemd/journal/stdout unix 3 [ ] STREAM CONNECTED 11541 659/systemd-journal /run/systemd/journal/stdout unix 3 [ ] STREAM CONNECTED 11481 659/systemd-journal /run/systemd/journal/stdout发现果然监听端口,于是
systemctl restart systemd-journald.service重启进程,发现还是不打印日志。
无奈之下重启设备发现打印日志了。
重启可以ok,那估计肯定是内存数据有问题,也可能是磁盘满了。
[root@AH-HTTP-04 ~]# ps aux|grep syslog root 894 0.0 0.1 724012 52988 ? Ssl Jul26 2:21 /usr/sbin/rsyslogd -n root 11842 0.0 0.0 112652 964 pts/2 S+ 14:59 0:00 grep --color=auto syslog [root@AH-HTTP-04 ~]# ll /proc/894/fd total 0 lr-x------ 1 root root 64 Jul 28 14:54 0 -> /dev/null l-wx------ 1 root root 64 Jul 28 14:54 1 -> /dev/null lr-x------ 1 root root 64 Jul 28 14:54 10 -> /run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-0000000000039949-000555421937942e.journal lr-x------ 1 root root 64 Jul 28 14:54 11 -> /run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-0000000000052886-00055545232cc8b5.journal lr-x------ 1 root root 64 Jul 28 14:54 12 -> /run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-000000000006ae3f-0005554788818ea3.journal lr-x------ 1 root root 64 Jul 28 14:54 13 -> /run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-0000000000083cc4-0005554a87b67bd3.journal lr-x------ 1 root root 64 Jul 28 14:54 14 -> /run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-000000000009c05c-0005554cc150f29c.journal lr-x------ 1 root root 64 Jul 28 14:54 15 -> /run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-00000000000b4a2c-0005554f6a127117.journal lr-x------ 1 root root 64 Jul 28 14:54 16 -> /run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-00000000000d05bf-00055555c24ad88d.journal lr-x------ 1 root root 64 Jul 28 14:54 17 -> /run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system.journal l-wx------ 1 root root 64 Jul 28 14:54 2 -> /dev/null l-wx------ 1 root root 64 Jul 28 14:54 3 -> /var/log/messages l-wx------ 1 root root 64 Jul 28 14:54 4 -> /var/log/cron lr-x------ 1 root root 64 Jul 28 14:54 5 -> /run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-0000000000000001-00055535427b86bd.journal lr-x------ 1 root root 64 Jul 28 14:54 6 -> anon_inode:inotify l-wx------ 1 root root 64 Jul 28 14:54 7 -> /var/log/secure l-wx------ 1 root root 64 Jul 28 14:54 8 -> /var/log/maillog lr-x------ 1 root root 64 Jul 28 14:54 9 -> /run/log/journal/4416930d41a846139e3ab8c8cdeb1cce/system@224646929a8147b98d87eb38db690390-000000000001c5d5-0005553ad572a085.journal发现syslog在/run/log/journal/下面有大量的临时日志文件
[root@AH-HTTP-04 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sdi2 533G 11G 495G 3% / devtmpfs 16G 0 16G 0% /dev tmpfs 16G 0 16G 0% /dev/shm tmpfs 16G 954M 15G 6% /run tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/sdi1 969M 99M 804M 11% /boot /dev/sda 3.7T 923G 2.6T 27% /home1 /dev/sdb 3.7T 921G 2.6T 27% /home2 /dev/sdc 3.7T 936G 2.6T 27% /home3 /dev/sdd 3.7T 927G 2.6T 27% /home4 /dev/sde 3.7T 914G 2.6T 26% /home5 /dev/sdf 3.7T 904G 2.6T 26% /home6 /dev/sdg 3.7T 925G 2.6T 27% /home7 /dev/sdh 3.7T 917G 2.6T 26% /home8 /dev/sdj 3.7T 900G 2.6T 26% /home9 /dev/sdk 3.7T 927G 2.6T 27% /home10 /dev/sdl 894G 413G 437G 49% /home11 /dev/sdm 3.7T 921G 2.6T 27% /home12 tmpfs 3.2G 0 3.2G 0% /run/user/1000发现这些目录挂载在tmpfs,而这个是内存盘,估计是运行时间太长,把16G的内存盘都占完了,再也不能写入临时文件了,导致syslog不能打印日志。
清空垃圾文件,重启syslog,果然一切正常。
但是现在还是不明白为什么会形成这些垃圾文件,因为日志写入量并不大,不应该会出现写不进去的情况。现在临时用脚本定时删除,避免问题。
相关文章推荐
- haproxy打印日志到rsyslog
- CentOS中文语言乱码以及Tomcat日志中文乱码问题解决
- Centos6.0之rsyslog部署日志服务器
- CentOS上配置rsyslog客户端用以远程记录日志
- CENTOS下PHP不能将其错误日志单独输出到一个文件的问题解决
- CentOS 6.7下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
- nginx 通过rsyslog发日志 rsyslog服务器挂掉 日志丢失问题
- centos7.2中tomcat启动很慢的问题
- centos 如何用 rsyslog 搭建本地日志服务
- [置顶] tomcat控制台日志打印中文乱码问题解决
- [置顶] tomcat控制台日志打印中文乱码问题解决
- Centos 6.5 ----日志系统Rsyslog
- WebLogic不能打印日志问题及解决办法
- centos 如何用 rsyslog 搭建本地日志服务(续1: omprog模块与php deamon的配合使用)
- 华为手机不打印崩溃日志log问题解决
- Centos7.2中DNS服务named无法启动问题解决方案
- 使用Restful api库之后,异常日志不能打印的问题(实习日志)
- log4j中存在日志无法打印问题解决
- centos6.4搭建rsyslog日志服务器和loganalyzer 日志分析工具
- Jmeter的两个问题:Java Sampler打印日志与Windows下报Address Already in use:connect