服务器版本redhat 6.4-64
首先解决权限的问题:
1. ssh-keygen ##如果是root用户,生成的默认目录为/root/.ssh下2个文件id_rsa(公钥) id_rsa.pub(私钥)
2. cd /root/.ssh/ && chmod 600id_rsa* 把这2个文件修改权限,为600
3. ssh-copy-id -i /root/.ssh/[email protected] #加被监控节点公私钥认证
- 首先确定服务器是否安装python-redis 模块,如果没有,那么请安装:
yum –y install python-redis
- 然后需要下载redis的脚本和模板文件
地址:
https://github.com/nazgul5/cacti-redis
把redis-status.py放入$cacti/scripts/ 目录下,并且加上权限:
Chmod 755 redis-status.py
- 在cacti页面将cacti_host_template_redis_server.xml导入cacti
在cacti的console下点击Import templates点击浏览将cacti_host_template_redis_server.xml文件导入cacti,
- 在device中就可以添加需要监控的redis的服务器了,默认的模板应该只有四个模块可监控,
- 如果没有数据,那么在服务器端的/var/www/html/scripts/ 目录下查看redis-status.py文件是否有执行权限,如果有权限那么需要执行进入/var/www/html/rra/目录下看是否生成***.rrd文件,如果有,那么执行:rrdtool fetchredis_46_connected_clients_225.rrd AVERAGE 如果执行的结果是1407335100:-nan 那么则是文件中没有数据,所以页面的线没有画出来,
- 既然rrd文件生成了,那么证明和你需要监控的机器已经建立连接了,就是没有抓到数据而已,怎么会这样呢,可能是redis-status.py执行的问题,好吧,那我们就来看看这个脚本有没有问题
- 进入/var/www/html/scripts/ 目录下执行:
python /var/www/html/scripts/redis_v1.py 需要监控机器IP -p redis端口号
可还是我执行的时候却报:
这个问题真的很怪异,我看了好过网上资料还是没能解决,最后还是在高人指点下才发现问题,原来我把redis-status.py 文件的名字修改为redis.py放在了/var/www/html/scripts/ 目录下了,加载的时候他尽然把redis.py脚本加载进去了,而没有加载安装的redis模块,后来把redis.py重新命名才解决这个问题,funk,修改完redis.py 后别忘记把cacti页面的脚本名字也修改下,可以在console->Data Input Methods->Redis Statistics 中修改脚本的名字,记得修改成和服务器上脚本一样的名字哦,,,
cacti 监控redis