cacti每隔五分钟poller的问题问题及原因
cacti系统中的每隔五分钟自动执行poller.php,取回相应数据
已经启动了crond服务,并且已经在/etc/crontab文件中制定的计划的内容,如下:
*/5 * * * * /usr/local/bin/php /opt/httpd/htdocs/cacti/poller.php > /dev/null 2>&1
并在/var/log/cron文件中找到执行的过程,如下:
Jul 12 22:34:01 mail crond[13471]: (cactiuser) CMD (/usr/local/bin/php /opt/httpd/htdocs/cacti/poller.php > /dev/null 2>&1)
这只是其中一条,上面这句就能代表,crontab已经起作用了
在cacti用户下面,执行上面的语句可以产生结果,但是计划任务里面,却什么都没有
另外,在poller.php文件中加入一个提示性的输出: fwrite(fopen("/home/cactiuser/php.txt","w"),date("Y-m-d H:i:s"));
也发现相应目录中的文件有正确的输出
还是我自己找到原因了,给大家做教训吧!
运行PHP时所需要的LIB(安装RRDTOOLS时产生的LIBRRD.SO.. 或是其它必须的)的问题
在命令行执行POLLER.PHP与在计划任务执行POLLER.PHP时所需要的LIB的路径是不一样的,所以在安装RRDTOOLS时最好安装在/usr/lib中,或者把产生的LIBRRD.SO....放在/usr/lib中,这样在计划任务中执行时就会找到这些LIB,这样就可以顺利执行了
cacti安装完后就停留在登陆界面,输入默认的用户名密码登陆不进去!centos5下-----信息不全 , 配置问题-----呵呵我也碰到同样的问题。我把解决办法写上来看能不能帮助同样问题的你。:)在login屏幕一直不能登录进去,输入admin密码admin后还会是停止在登录屏幕,要求输入用户和密码.百思不得其解,后面在cacti的官方论坛上找答案,发现有人有同样的问题,他有发apache的日志。突然一想,我也可以看看apache的日志。打开日志一看,发现了问题。查日志:[client 59.41.223.152] PHP Warning: Unknown(): open(/var/lib/php/session/sess_e7efb8dcf3a41b026edb7aecdd7b3404, O_RDWR) failed: Permission denied (13) in Unknown on line 0, referer: [client 59.41.223.152] PHP Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0, referer: 原来是/var/lib/php/session 对当前运行apache的账户nobody无写权限。chmod 777 session 后。问题消失。
rrd目录下不生成文件,网页显示不出图形
通常情况下,cacti是以web服务的用户来运行的,因此在cacti目录下的log 和 rra 目录及其下的所有文件的所有者应该设置为那么用户(比如www-data)。
因此:
chown -R www-data.www-data $CACTIPATH/log
chown -R www-data.www-data $CACTIPATH/rra
chmod 755 $CACTIPATH/log
chmod 755 $CACTIPATH/rra
还有,如果你用root用户运行过cmd.php,那么有可能在rra目录下生成了拥有者为root的一些rrd文件,你需要将这些文件的所有者改成运行www服务的那么用户。
我干脆将 chmod 777 rrd chmod 777 log
注意:如果是rpm安装的mysql,默认的安装目录在/var/lib/mysql/
手动运行测试/usr/bin/php /....../.../poller.php,如果报错:
FATAL: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'inc
需要修改/etc/my.conf
改为#socket = /var/lib/mysql/mysql.sock
php-devel这个包也要装php才能正确连数据库
使用uc测试php连数据库
阅读(1590) | 评论(0) | 转发(0) |