免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: qqjb
打印 上一主题 下一主题

rhel5.2 /var/log/messages内容为空,大小为0的问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-09-15 15:24 |只看该作者
/etc/syslog.conf的最后一行注释掉,确保和默认配置一样。

同时你的syslog没有跑起来啊!

这是你的:
# cat ps | grep log
root      6121  0.0  0.0   2576   644 ?        S    Sep10   0:00 /opt/hp/hpsmh/bin/rotatelogs /var/spool/opt/hp/hpsmh/logs/error_log 5M
root      6122  0.0  0.0   2572   632 ?        S    Sep10   0:00 /opt/hp/hpsmh/bin/rotatelogs /var/spool/opt/hp/hpsmh/logs/access_log 5M
root     14460  0.0  0.0   1668   396 ?        Ss   Sep10   0:00 klogd -x

这是我的:
# ps -aux | grep log
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root      2389  0.0  0.0   1728   572 ?        Ss   Sep14   0:00 syslogd -m 0
root      2392  0.0  0.0   1680   404 ?        Ss   Sep14   0:00 klogd -x
root     16317  0.0  0.0   3920   684 pts/2    R+   15:17   0:00 grep --color log

论坛徽章:
0
12 [报告]
发表于 2010-09-16 17:51 |只看该作者
之前查看syslog都是启动的,将配置文件最后一行注释掉了,现在重新启动了下还是那样

[root@sh-bsmp-db-02 ~]# service syslog status
syslogd dead but pid file exists
klogd (pid 14460) is running...

[root@sh-bsmp-db-02 ~]#
[root@sh-bsmp-db-02 ~]# chkconfig --list syslog
syslog          0ff   1ff   2n    3n    4n    5n    6ff

[root@sh-bsmp-db-02 ~]# service syslog restart
Shutting down kernel logger:                               [  OK  ]
Shutting down system logger:                               [FAILED]
Starting system logger:                                    [  OK  ]
Starting kernel logger:                                    [  OK  ]

[root@sh-bsmp-db-02 ~]# ps -ef | grep log
root      6121  6120  0 Sep10 ?        00:00:00 /opt/hp/hpsmh/bin/rotatelogs /var/spool/opt/hp/hpsmh/logs/error_log 5M
root      6122  6120  0 Sep10 ?        00:00:00 /opt/hp/hpsmh/bin/rotatelogs /var/spool/opt/hp/hpsmh/logs/access_log 5M
root     24425     1  0 17:40 ?        00:00:00 syslogd -m 0
root     24443     1  0 17:40 ?        00:00:00 klogd -x
root     26307 21212  0 17:40 pts/1    00:00:00 grep log

[root@sh-bsmp-db-02 ~]# ll /var/log/messages*
-rw------- 1 root root 0 Sep 12 04:03 /var/log/messages
-rw------- 1 root root 0 Sep  5 04:03 /var/log/messages.1
-rw------- 1 root root 5 Sep 10 18:25 /var/log/messages.2
-rw------- 1 root root 0 Aug 22 04:03 /var/log/messages.3
-rw------- 1 root root 0 Aug 15 04:03 /var/log/messages.4
[root@sh-bsmp-db-02 ~]#

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
13 [报告]
发表于 2010-09-16 21:12 |只看该作者
手动输入log命令看看有没有日志输入到日志文件中啊。

论坛徽章:
0
14 [报告]
发表于 2010-09-17 00:28 |只看该作者
你的syslog的进程状态不对,RSS和VSZ都几乎为0,正常情况下不应该这样。你用service syslog status去看,我估计还是显示syslog is dead but pid is existing的报错。

所以做这么几个操作:

1.确保/var/run的权限和syslog.pid文件的权限和我的一样;
# ll -d /var/run/
drwxr-xr-x 31 root root 4096 Sep 17 00:15 /var/run/
# ll /var/run/syslogd.pid
-rw------- 1 root root 4 Sep 17 00:14 /var/run/syslogd.pid

2.执行setenforce 0;

3.暂时将/etc/security/limits.conf中自定义的内容删除;

4.每次重启完syslog之后,注意用service syslog status帮我看看syslog运行的状态。

论坛徽章:
0
15 [报告]
发表于 2010-09-17 09:58 |只看该作者
我当前系统的文件权限和你是一样的,而且我也早将selinux关闭了的
[root@sh-bsmp-db-02 ~]# ll -d /var/run/
drwxr-xr-x 23 root root 4096 Sep 17 07:58 /var/run/
[root@sh-bsmp-db-02 ~]# ll /var/run/syslogd.pid
-rw------- 1 root root 6 Sep 16 17:40 /var/run/syslogd.pid

[root@sh-bsmp-db-02 ~]# setenforce status
setenforce: SELinux is disabled
[root@sh-bsmp-db-02 ~]# setenforce 0
setenforce: SELinux is disabled

再者服务的问题,也没你说的没有占用而为0的情况,syslog状态也正常,重启服务后也都能正常的
[root@sh-bsmp-db-02 ~]# ps -aux | grep log
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root      6121  0.0  0.0   2576   644 ?        S    Sep10   0:00 /opt/hp/hpsmh/bin/rotatelogs /var/spool/opt/hp/hpsmh/logs/error_log 5M
root      6122  0.0  0.0   2572   632 ?        S    Sep10   0:00 /opt/hp/hpsmh/bin/rotatelogs /var/spool/opt/hp/hpsmh/logs/access_log 5M
root     10727  0.0  0.0   1716   624 ?        Ss   09:04   0:00 syslogd -m 0
root     10730  0.0  0.0   1672   400 ?        Ss   09:04   0:00 klogd -x
root     16099  0.0  0.0   4784   684 pts/1    S+   09:10   0:00 grep log

[root@sh-bsmp-db-02 ~]# service syslog status
syslogd (pid 24425) is running...
klogd (pid 24443) is running...

[root@sh-bsmp-db-02 ~]# service syslog restart
Shutting down kernel logger:                               [  OK  ]
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]
Starting kernel logger:                                    [  OK  ]

[root@sh-bsmp-db-02 ~]# service syslog status
syslogd (pid 10727) is running...
klogd (pid 10730) is running...

/etc/security/limits.conf中文件就加了以下内容,当时安装完数据库配好双机后都是正常有日志的,而现在没有我也觉得跟这个关系不大
oracle    soft      nofile    65536  
oracle    hard    nofile      65536
oracle    soft      nproc    16384
oracle    hard    nproc    16384

现在这个问题确实很头痛,在网上搜索也没有相同类似案例的,总之谢谢各位朋友热心相助啊,

还请再接再力,

论坛徽章:
0
16 [报告]
发表于 2010-09-17 11:34 |只看该作者
我只能看到你提供的东西,我的回复只能根据你的信息来。你自己去看你12楼的回复。syslog占用RSS和VSZ几乎为0,能够直接控制这个的和pam_limit.so有关。就是limits.conf,我不怀疑这个文件的内容有问题,只是这个文件的格式和我的不对。因此只是建议改改看而已。

15楼提供的信息产生之前,你操作了什么我是不清楚,除非你自己说清楚。

那么现在问题怎样?syslog还是不记日志?你可以做一个简单的操作,比如:service network restart或者sysctl -p,看看到底能否记日志。

论坛徽章:
0
17 [报告]
发表于 2010-09-19 12:17 |只看该作者

现在问题已解决,,不过还是有些疑问,先说下解决过程吧
在网上看到一篇设置syslog服务器的文章,里面提到配置时需确认主机是否开启UDP 514端口,于是我就想看看/etc/services下该端口的描述,竟然发现该文件不能cat,于是从其他机器拷贝一份过来后重新加载了下该文件并重启了syslog服务,经过测试cron、messages都能写入日志了,看来问题还是因为services文件损坏不能被系统读取导致
但现在的疑问是说要确认开启syslog的udp514端口,文章地址:http://hi.baidu.com/duxf/blog/item/48ff5f169c295f5af2de32a0.html,但我发现主机是没有开启的,那syslog是需要有个监听端口?这个就有点矛盾,同时syslog与/etc/services文件的关系?有谁清楚的提供点资料呀

论坛徽章:
0
18 [报告]
发表于 2010-09-19 12:52 |只看该作者
如果将/etc/services中的514那行注释,也能重现这个问题。看来问题就在这里了。

至于原因,可以man sysklogd。

The strategy is to have syslogd listen on a unix domain socket for locally generated  log  mes-
       sages.  This behavior will allow syslogd to inter-operate with the syslog found in the standard
       C library.  At the same time syslogd listens on the standard syslog port for messages forwarded
       from  other hosts.  To have this work correctly the services(5) files (typically found in /etc)
       must have the following entry:

                   syslog          514/udp

       If this entry is missing syslogd neither can receive remote messages nor send them, because the
       UDP port cant be opened.  Instead syslogd will die immediately, blowing out an error message.


不过/etc/services文件是setup包安装的,该文件无法访问或者被修改,sosreport所收集的rpm -Va居然没有校验出来?!真是有够纠结!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP