由cacti无法登录引起的问题解决

来源:互联网 发布:杰钢队长 知乎 编辑:程序博客网 时间:2024/05/03 13:03

今天早上登录cacti,发现输入用户名密码后就一直停留在登录页面

   /var/lib/php/session权限问题

   上网查了下大家都说这种问题大部分是因为apache对/var/lib/php/session的目录没有写入权限引起的,但是我记得之前有设置过权限,检查了一下发现果然是有权限的。

   空间问题

   于是查看了一下Apache的错误日志,发现有如下提示:

   [Tue Dec 08 10:09:28 2015] [error] [client 172.x.x.x] PHP Warning:  Unknown: write failed: No space left on device (28) in Unknown on line 0, referer: http://172.x.x.x:8080/cacti/

    红色字体部分显示“写入失败,设备上没有可用空间了”,于是用df -hl查看了下,果然发现/目录的空间满了, Avail显示为0。

    于是使用

    find / -size +100000k  -type f|xargs ls -hl

查找大于100M的文件,发现在/var/log/目录下有一个叫bandwidth的文件大小居然是40G,吓死宝宝了。使用tail命令查看了下该文件,发现该日志一直在不停地写入,如下:

 BANDWIDTH_OUT:IN= OUT=eth1 SRC=x.x.x.x DST=x.x.x.x LEN=60 TOS=0×00 PREC=0×00 TTL=64 ID=17943 DF PROTO=TCP SPT=57285 DPT=22 WINDOW=5840 RES=0×00 SYN URGP=0 
    

于是

    rm -f /var/log/bandwidth

但是再次df查看磁盘空间的时候却发现Avail依然为0,使用

    lsof|grep delete

查看哪些删除的进程仍在运行,找到bandwidth的进程id,然后kill掉,再次查看磁盘空间终于发现恢复正常了,cacti的登录也正常了。


   找出引起问题原因

    grep "/var/log/bandwidth" -rl /

查找哪些文件里包含写入bandwidth日志的内容

    /etc/rsyslog.conf

    /etc/webmin.rpmsave/bandwidth/config

查看/etc/rsyslog.conf发现有如下内容

    kern.=debug -/var/log/bandwidth

注释掉吧。原来是以前装webmin的时候默认配置的。在webmin的网络中有个Bandwidth Monitoring模块。这个模块是用来监控网卡流量的,打开这个模块后webmin会在/var/log目录下生成一个不断增长的日志文件,也就是我刚才删除的bandwidth文件,正是它最后将所有的磁盘空间都占满了。 


PS:磁盘空间占满还会引起很多问题,比如还导致我的samba无法访问了。以前出问题的时候可以多看下是否是由这个原因引起的。。


0 0