Cacti 监控平台迁移备忘
公司用的 Cacti 监控平台已经有些时日了,一直运行很稳定,不过,昨天接到通知要迁移 Cacti 平台到别外的一台新服务器。以初以为直接把 Cacti 的 WEB 文件和数据库同步到新服务器就可以了,在实际操作的过程中发现并不是这样的。
首先配置好新服务器的LNMP环境,并将原来的 Cacti 的WEB文件和 mysql 同步到新的服务器。考虑到服务器的安全因素,我的环境配置脚本默认是把 PHP 的以下函数禁用的:
1 | disable_functions = system,exec,shell_exec,passthru,popen,dl |
Cacti 在读取数据和画图的时候需要 exec() shell_exec() popen() 等函数,果然没有开启,可能会出现不能出图的情况。
如果新的服务器上的文件目录和之前的不一致,需要在引入 sql 之前编辑修改一下路径。不然有可能出现 Cacti 不能正常调用一些脚本的情况。
1 | vi cacti.sql |
用vi替换的时候注意一下“/”的转义。
检查一下 Cacti 中的 settings paths 的选项是否和新的服务器上的实际环境一致
然后把被监控的服务器上的设置改一下,把IP改为新的服务器的
1 | vi /etc/snmp/snmpd.conf |
然后向 iptables 添加一条新的记录,让其允许和新的监控服务器通信
1 | iptables -I INPUT -s 新的cacti监控服务器的IP -p udp --dport 161 -j ACCEPT |
最后不要忘记在 crontab 中加定期执行 poller.php
1 | crontab -e |
这个时候,新的 Cacti 监控就应该可以正常工作了。
如果你之前安装有监控 Nginx 的脚本,不要忘记让 perl 支持 LWP::UserAgent ,否则 Nginx 的监控部分会出不来图。
测试是否已经开启支持:
1 | /new/tanchao.org/get_nginx_clients_status.pl http://tanchao.org/nginx_status |
如提示 no (LWP::UserAgent not found) 就说明了 perl 的确是缺少该组件
两种方法安装支持,第一种编译花的时间比较长,建议使用第二种:
1 | #方法一: |