大家都知道企业线上服务器是不可能手工一台一台来安装相关服务的。例如lnmp这种web环境,手工一台一台装的话费时费力。通常我们屌丝运维的做法是写个脚本,让脚本来帮我们进行哪些琐碎的编译配置和安装。
既然生产环境上跑了大量的服务器和生产业务,那么就少不了监控系统来帮我们实时监控服务器状态。下面我们就来学习在现有lnmp的web环境下,快速构建cacti监控系统。没有web环境的朋友们,请自行搭建web环境。
服务器环境:
- os环境:Centos 5.8_x86_64
- WEB环境:nginx 、php、 mysql
准备工作:
- 下载相关安装包:
- wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
- wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz
- wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8a.tar.gz
- wget http://jaist.dl.sourceforge.net/project/net-snmp/net-snmp/5.4.4/net-snmp-5.4.4.tar.gz
- 安装相关依赖包:
- yum install cairo-devel libxml2-devel pango-devel
- 编译安装net-snmp:
- tar zxvf net-snmp-5.4.4.tar.gz
- cd net-snmp-5.4.4
- ./configure --prefix=/data/app/net-snmp
- make
- make install
- cd ..
- 编译安装rrdtool:
- tar zxvf rrdtool-1.4.7.tar.gz
- cd rrdtool-1.4.7
- ./configure --prxfix=/data/app/rrdtool
- make
- make install
- cd ..
- 创建相关软连接:
- ln -s /data/app/net-snmp/bin/* /usr/local/bin/
- ln -s /data/app/rrdtool/bin/* /usr/local/bin/
开始安装CACTI:
- 解压并安装cacti:
- tar zxvf cacti-0.8.8a.tar.gz
- mv cacti-0.8.8a /data/www/html/cacti
- cd /data/www/html/cacti
- 创建数据库,并导入数据文件:
- /data/app/mysql/bin/mysql -uroot -S /tmp/mysql.sock -p"123!@#"
- mysql> create database cacti;
- mysql> grant all on cacti.* to cactiuser@'localhost' identified by 'cactiuser';
- mysql> flush privileges;
- mysql> exit
- /data/app/mysql/bin/mysql -ucactiuser -S /tmp/mysql.sock -pcactiuser cacti < cacti.sql
- 安装前配置相关用户及安装路径:
vim include/config.php
- 正式安装cacti:
输入URL:,进入cacti欢迎安装界面。
选择全新安装,还是历史版本升级。
cacti需要的各个程序的默认安装路径如下。
如果你有看到“ERROR: FILE NOT FOUND”字样,说明cacti在相关路径下没有找到程序文件,请检查是否成功创建了软连接。
安装完成后的登录界面,首次登录,默认账户和密码都是admin,请自行修改密码和相关用户权限。
- 给rra和log两个目录赋予权限:
- chmod 777 /data/www/html/cacti/rra
- chmod 777 /data/www/html/cacti/log
- 添加cacti添加定时采集任务:
- crontab -e
- */5 * * * * /data/Chunbai/app/php/bin/php /data/www/html/cacti/poller.php
添加一个设备,并生成图像,测试是否已经安装成功。
Cacti安装目录下有个cli文件夹,大家可以了解下里面的PHP脚本。可以帮助你实现批量添加服务器到监控系统。
关于批量添加的具体方法请参阅: