您的位置:首页 > 运维架构 > Linux

CACTI安装配置-实测篇

2017-01-17 09:10 597 查看
Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。 由于工作中需要用cacti取代mrtg,所以一段时间重点关注了Cacti技术。发现cacti的搭建,不仅是对Linux+apache+php+mysql环境的再次练习,也确实对监控和管理有了更好的方法。 该软件的强大功能对网络和设备管理者来说不啻是一个得力、必备的工具。////////////////////////////////////////////////////////////////////////////////////// 环境:相关软件:Linux AS4 up4mysql-5.0.22.tar.gzhttpd-2.2.4.tar.gzphp-5.2.4.tar.gzcgilib-0.5.tar.gzphpMyAdmin-2.11.1-all-languages.tar.gzrrdtool-1.2.11.tar.gznet-snmp-5.2.4.tar.gzcacti-0.8.6g.tar.gz安装配置:mysql安装

解压缩:tar –zvxf mysql-5.0.22.tar.gz改变目录:cd mysql-5.0.22.tar.gz添加组:groupadd –g 20000 mysql把用户加入组中:useradd –u 20000 –g mysql mysql编译前的配置:./configure –prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql编译:make安装:make install初始化数据库:/usr/local/mysql/bin/mysql_install_db设置目录权限:Chown –R mysql /var/lib/mysql复制配置文件:Cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf启动数据库:/usr/local/mysql/bin/mysqld_safe –user=root &修改root密码:/usr/local/mysql/bin /mysqladmin –u root password bobo365测试数据库:/usr/local/mysql/bin/mysql –u root –pMysql>添加到自动启动:# cp support-files/mysql.server /etc/rc.d/init.d/mysqld# chkconfig --add mysqld#chkconfig –level 3 mysqld on安装apache

Tar –zvxf httpd-2.2.4.tar.gzCd httpd-2.2.4./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --with-included-apr (--enable-module=so --enable-module=most --enable-shared=max)MakeMake install安全加固:隐藏和伪装apache版本:找到关键字ServerSignature将其设定为ServerSignature offServerTokens Pord安装前编译ap_release.h文件,修改“#define AP_SERVER_BASEPRODUCT\”Apache””为“#define AP_SERVER_BASEPRODUCT\”Microsoft-IIS/5.0\””编辑os/unix/os.h,修改“define PLATFORM\”Unix””为“define PLATFORM\”Win32””禁止显示动态目录索引:Options –Indexes FollowSymLinks在rc.local上加入一行/usr/local/apache/bin/apachectl –k start,系统启动时启动Apache服务。安装php

(安装libxml,RedHat AS 4默认安装libxml包,但版本太低,PHP5需要更高版本的libxml包。rpm -e libxml-develrpm -e libxmlhttp://xmlsoft.org/sources/old/# tar –zxvf libxml2-2.6.25.tar.gz# cd libxml2-2.6.25# ./configure# make# make install Tar –zvxf php-5.2.4.tar.gzCd php-5.2.4./configure --prefix=/usr/local/php –with-mysql=/usr/local/mysql –with-apxs2=/usr/local/apache/bin/apxs --enable-sockets(# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-gd=/usr/local/libgd --enable-gd-native-ttf --with-ttf --enable-gd-jis-conv --with-freetype-dir=/usr/local/freetype –with-mail --with-jpeg-dir=/usr/local/libjpeg --with-png --with-zlib-dir=/usr/local/zlib --enable-xml --enable-mbstring --enable-sockets)(./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php --enable-sockets --with-mysql=/usr/local/mysql--with-zlib-dir=/usr/include --with-gd)MakeMake installCp php.ini-dist /usr/local/lib/php/php.ini修改httpd.conf文件:AddType application/x-httpd-php .phpAddType application/x-httpd-php –source .phps测试:<? phpinfo(); ?>4、设置mysql[root@Bleach php-4.3.10]# /usr/local/mysql/bin/mysql -u root -pmysqlmysql> create database cactidb;mysql> grant all on cactidb.* to root;mysql> grant all on cactidb.* to root@localhost;mysql> grant all on cactidb.* to cactiuser;mysql> grant all on cactidb.* to cactiuser@localhost;mysql> set password for cactiuser@localhost=password('cactipw');注:以上语句输出 Query OK, 0 rows affected (0.01 sec) 表示成功mysql> exitMysql设置完毕5、安装phpMyAdminTar –zvxf phpMyAdmin-2.11.1-all-languages.tar.gzMv phpMyAdmin-2.11.1 /var/www/html/phpMyAdminVi config.inc.php$cfg['Servers'][$i]['user'] = 'root';$cfg['Servers'][$i]['password'] = 'bobo365';设置数据库连接。http://ip/phpMyAdmin测试。6、安装rrdtool(1).安装cgilibtar -zxf cgilib-0.5.tar.gzcd cgilib-0.5make CC=gcc CFLAGS="-O3 -fPIC –I."cp cgi.h /usr/include/cp libcgi.a /usr/local/bin/ 1).安装cgilib tar -zxf cgilib-0.5.tar.gz cd cgilib-0.5 make CC=gcc CFLAGS="-O3 -fPIC -I." mkdir -p /usr/local/cgilib/include cp *.h /usr/local/cgilib/include mkdir -p /usr/local/cgilib/lib cp libcgi* /usr/local/cgilib/lib(2)安装libart_lgplRpm –ivh libart_lgpl-2.3.11-2.i386.rpmRpm –ivh libart_lgpl-devel-2.3.11-2.i386.rpm(3)安装rrdtooltar -zxf rrdtool-1.2.11.tar.gzcd rrdtool-1.2.11./configure --prefix=/usr/local/rrdtool --disable-python --disable-tclmakemake installln –s /usr/local/rrdtool/bin5 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti /poller.php > /dev/null 2>&1保存退出:wq全部设置完毕。打开浏览器 http://ip/cacti 进入cacti的初始设置页面第一次默认登陆账号:admin 密码 admin登陆后在新改个密码就OK需要说明的还有路径[Copy to clipboard]CODE:snmpwalk Binary Path : /usr/bin/snmpwalksnmpget Binary Path: /usr/bin/snmpgetRRDTool Binary Path: /usr/rrdtool-1.0.50/src/rrdtoolPHP Binary Path: /www/php/bin/phpCacti Log File Path: /www/htdocs/cacti/log/cacti.logCactid Poller File Path: /www/htdocs/cacti/poller.php注:此时graphs还不能显示图形,需要将服务重新启动一下[Copy to clipboard]CODE:[root@Bleach scripts]# service snmpd restart[root@Bleach scripts]# service mysql restart[root@Bleach scripts]# service httpd restart //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////如果您是Linux主機的話請先確定你的snmpd.conf有無下面字串view systemview included .1.3.6.1.2.1.2如果沒有請自行加入 此字串是偵測Interfaces 請先確定您的Devices的Data Query有新增SNMP - Interface Statistics 到Create → New Graphs → 選擇您要偵測的Host 在Data Query [SNMP - Interface Statistics]裡面勾選您要偵測的網卡介面選擇右下角的Select a graph type:In/Out Bits或者您想要的單位好了之後點選右下方的create送出新增 再到Graph Trees把剛剛的Host或者Graphs新增進去即可查詢 cacti-0.8.7.tar.gzcacti-plugin-arch.tar.gzcacti-spine-0.8.7.tar.gz //////////////////////////////////////////////////////////////////////////// Cacti还有需要好用的小插件,有待进一步学习。 该系统的搭建涉及的环节颇多,遗憾的是在第一次搭建完成并移植到生产环境后,再去搭建时总碰到一些问题,从而影响了最后结果的呈现。等有机会再重新搭建一遍。相信熟能生巧吧。

CACTI的安装涵盖了LAMP各个方面,实际环境中完全可以使用成型的CactiEZ中文版直接安装。 安装完CactiEZ中文版后,授权其他设备有MYSQL管理权限:

[root@CactiEZ init.d]#service mysqld stop
[root@CactiEZ init.d]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
[root@CactiEZ init.d]# mysql -u root mysql
mysql> update mysql.user set password=password("bobo365") where user="root";
Query OK, 0 rows affected (0.00 sec)
Rows matched: 3 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye

[root@CactiEZ init.d]# ./mysqld start
Starting mysqld: [ OK ]

[root@CactiEZ init.d]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.47 Source distribution
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cacti |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)

mysql>

mysql> GRANT ALL PRIVILEGES ON *.* TO root@192.168.2.243 IDENTIFIED BY 'bobo365' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit

[root@CactiEZ init.d]# ./mysqld restart
120731 12:07:58 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
[1]+ Done mysqld_safe --user=mysql --skip-grant-tables --skip-networking
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息