使用Cacti监控你的网络-Cacti的安装(图)

运维 系统运维
Cacti安装:cacti的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。本文介绍的是Cacti的安装。

  使用Cacti监控你的网络(二)- Cacti的安装(2007-08-28 10:09:13)

  Cacti的安装

  1.安装环境:RedHat AS 4

  2.安装Apache、MySQL、PHP

  (1).安装MySQL

  //查看系统中是否已经安装了MySQL,如果是卸载所有以mysql开头的包。

  1.   # rpm –qa | grep mysql  
  2.  
  3.   # rpm –e mysql-*  
  4.  

  //查找/etc/my.cnf(MySQL的选项配置文件),如果有请删除它,以免影响新安装版本的启动。

  1.   # rm –f /etc/my.cnf  
  2.  
  3.   # tar –zxvf mysql-standard-5.0.27-linux-i686-glibc23.tar.gz  
  4.  
  5.   # cp –rf mysql-standard-5.0.27-linux-i686-glibc23 /usr/local/  
  6.  

  //建立符号链接,如果以后有新版本的MySQL的话,你可以仅仅将源码解压到新的路径,然后重新做一个符号链接就可以了。这样非常方便,数据也更加安全。

  1.   # ln –s mysql-standard-5.0.27-linux-i686-glibc23 /usr/local/mysql  
  2.  

  //添加用于启动MySQL的用户及用户组(如果以前安装过MySQl,用户及用户组可能已存在)。

  1.   # useradd mysql  
  2.  
  3.   # groupadd mysql  
  4.  

  //初始化授权表

  1.   # cd /usr/local/mysql  
  2.  
  3.   # scripts/mysql_install_db  
  4.  

  //修改MySQl目录的所有权

  1.   # cd /usr/local  
  2.  
  3.   # chgrp –R mysql mysql-standard-5.0.27-linux-i686-glibc23  
  4.  
  5.   # chgrp –R mysql mysql  
  6.  
  7.   # chown –R mysql mysql-standard-5.0.27-linux-i686-glibc23/data  
  8.  
  9.   # chown –R mysql mysql/data  
  10.  
  11.   # ln –s /usr/local/mysql/bin/* /usr/local/bin/  
  12.  

  //启动Mysql

  1.   # bin/safe_mysqld --user=mysql &  
  2.  

  //配置系统启动时自动启动MySQl

  1.   # cp support-files/mysql.server /etc/rc.d/init.d/mysqld  
  2.  
  3.   # chkconfig --add mysqld  
  4.  

  //修改MySQL的***连接数

  1.   # vi /etc/my.cnf  
  2.  

  //添加以下行

  1.   [mysqld]  
  2.  
  3.   set-variable=max_connections=1000  
  4.  
  5.   set-variable=max_user_connections=500  
  6.  
  7.   set-variable=wait_timeout=200  
  8.  

  //max_connections设置***连接数为1000

  //max_user_connections设置每用户***连接数为500

  //wait_timeout表示200秒后将关闭空闲(IDLE)的连接,但是对正在工作的连接不影响。

  //保存退出,并重新启动MySQL

  //重新启动MySQL后使用下面的命令查看修改是否成功

  1.   # mysqladmin -uroot -p variables  
  2.  

  Password:

  //可以看到以下项说明修改成功

  1.   | max_connections | 1000  
  2.  
  3.   | max_user_connections | 500  
  4.  
  5.   | wait_timeout | 200  
  6.  

#p#

  (2).安装Apache

  1.   # tar –zxvf httpd-2.2.4.tar.gz  
  2.  
  3.   # cd httpd-2.2.4  
  4.  
  5.   # ./configure --prefix=/usr/local/apache --enable-so  
  6.  

  //编译时加上加载模块参数--enable-so

  1.   # make  
  2.  
  3.   # make install  
  4.  
  5.   #vi /usr/local/apache/conf/httpd.conf  
  6.  

  //修改Apache配置文件,添加ServerName www.yourdomain.com (或ServerName 本机ip)

  1.   # vi /etc/rc.d/rc.local  
  2.  

  //在rc.local上加入一行/usr/local/apache/bin/apachectl –k start,系统启动时启动Apache服务。

#p#

  (3).安装PHP

  先安装zlib,freetype,libpng,jpeg以便于让PHP支持GD库(Cacti的WeatherMap插件必须要较新GD库的支持)

  1).安装zlib

  tar zlib-1.2.3.tar.gz

  cd zlib-1.2.3

  1.   ./configure --prefix=/usr/local/zlib  
  2.  
  3.   make  
  4.  
  5.   make install  
  6.  

  2).安装libpng

  tar zxvf libpng-1.2.16.tar.tar

  cd libpng-1.2.16

  cd scripts/

  mv makefile.linux ../makefile

  cd ..

  make

  make install

  注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个

  3).安装freetype

  tar zxvf freetype-2.3.4 .tar.gz

  cd freetype-2.3.4

  ./configure --prefix=/usr/local/freetype

  make

  make install

  4).安装Jpeg

  tar -zxf jpegsrc-1.v6b.tar.gz

  1.   cd jpeg-6b/  
  2.  
  3.   mkdir /usr/local/libjpeg  
  4.  
  5.   mkdir /usr/local/libjpeg/include  
  6.  
  7.   mkdir /usr/local/libjpeg/bin  
  8.  
  9.   mkdir /usr/local/libjpeg/lib  
  10.  
  11.   mkdir /usr/local/libjpeg/man  
  12.  
  13.   mkdir /usr/local/libjpeg/man/man1  
  14.  

  //可以用mkdir -p /usr/local/libjpeg/man/man1 一步创建多层目录

  1.   ./configure --prefix=/usr/local/libjpeg --enable-shared --enable-static  
  2.  
  3.   make && make install  
  4.  

  注意,这里configure一定要带--enable-shared参数,不然,不会生成共享库

  5).安装Fontconfig

  tar -zxvf fontconfig-2.4.2.tar.gz

  cd fontconfig-2.4.2

  ./configure --with-freetype-config=/usr/local/freetype

  make

  make install

  6).安装GD

  tar -zxvf gd-2.0.34.tar.gz

  cd gd-2.0.34

  ./configure --prefix=/usr/local/libgd --with-png --with-freetype=/usr/local/freetype --with-jpeg=/usr/local/libjpeg

  make

  make install

  编译时显示以下信息:

  1.   ** Configuration summary for gd 2.0.34:  
  2.  
  3.   Support for PNG library: yes  
  4.  
  5.   Support for JPEG library: yes  
  6.  
  7.   Support for Freetype 2.x library: yes  
  8.  
  9.   Support for Fontconfig library: yes  
  10.  
  11.   Support for Xpm library: no  
  12.  
  13.   Support for pthreads: yes  
  14.  

  7).编辑/etc/ld.so.conf,添加以下几行到此文件中。

  1.   /usr/local/zlib/lib  
  2.  
  3.   /usr/local/freetype/lib  
  4.  
  5.   /usr/local/libjpeg/lib  
  6.  
  7.   /usr/local/libgd/lib  
  8.  

  并执行ldconfig命令,使用动态装入器装载找到共享库

  8).安装libxml,RedHat AS 4默认安装libxml包,但版本太低,PHP5需要更高版本的libxml包。

  1.   # tar –zxvf libxml2-2.6.25.tar.gz  
  2.  
  3.   # cd libxml2-2.6.25  
  4.  
  5.   # ./configure  
  6.  
  7.   # make  
  8.  
  9.   # make install  
  10.  

  9).安装PHP

  1.   tar -zxvf php-5.2.3.tar.gz  
  2.  
  3.   cd php-5.2.3  
  4.  
  5.   # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/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-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr --with-zlib-dir=/usr/local/zlib --enable-xml --enable-mbstring --enable-sockets  
  6.  
  7.   # make  
  8.  
  9.   # make install  
  10.  
  11.   # cp php.ini-recommended /usr/local/php/lib/php.ini  
  12.  
  13.   # ln –s /usr/local/php/bin/* /usr/local/bin/  
  14.  
  15.   # vi /usr/local/apache/conf/httpd.conf  
  16.  

  查找AddType application/x-compress .Z

  AddType application/x-gzip .gz .tgz

  在其下加入 AddType application/x-tar .tgz

  AddType application/x-httpd-php .php

  AddType image/x-icon .ico

  修改DirectoryIndex 行,添加index.php

  修改为DirectoryIndex index.php index.html index.html.var

  1.   # vi /usr/local/apache/htdocs/test.php  
  2.  

  添加以下行:

  //php标记(用<代替[)

  1.   [?php  
  2.  
  3.   Phpinfo();  
  4.  
  5.   ?]  
  6.  

  wq保存退出。

  1.   # /usr/local/apache/bin/apachectl –k stop  
  2.  
  3.   #/usr/local/apache/bin/apachectl –k start  
  4.  

#p#

  对php编译选项的解释:

  --prefix=/usr/local/php //指定PHP的安装目录

  --with-apxs2=/usr/local/apache2/bin/apxs //支持Apache模块

  --with-mysql=/usr/local/mysql //支持MySQl

  --with-gd=/usr/local/libgd //支持GD库

  --enable-gd-native-ttf //激活对本地 TrueType 字符串函数的支持

  --with-ttf //激活对 FreeType 1.x 的支持

  --with-freetype-dir=/usr/local/freetype //激活对 FreeType 2.x 的支持

  --with-jpeg-dir=/usr/local/libjpeg //激活对 jpeg-6b 的支持

  --with-png-dir=/usr //激活对 png 的支持

  --with-zlib-dir=/usr/local/zlib //激活对zlib 的支持

  --enable-mbstring //激活mbstring模块

  --enable-gd-jis-conv //使JIS-mapped可用,支持日文字体

  --with-mail //支持Mail函数

  --enable-xml //支持XML

  --enable-sockets //支持套接字

#p#

  1.安装RRDTool

  由于rrdtool-1.2.23需要一些库文件支持,故需先安装配置支持的环境,然后编译安装。直接运行以下bash脚本就可以完成安装:

  注意:将cgilib-0.5.tar.gz、zlib-1.2.3.tar.gz、libpng-1.2.18.tar.gz、freetype-2.3.5.tar.gz、libart_lgpl-2.3.17.tar.gz、rrdtool-1.2.23.tar.gz放到/root/rrdtool-1.2.23目录下,将脚本保存为/root/rrdtool-1.2.23/rrdtoolinstall.sh,并给执行权限chmod u+x /root/rrdtool-1.2.23/rrdtoolinstall.sh。

  以下链接是我重新打好的一个rrdtool-1.2.23的安装包,里面包括了所有用到的库文件和安装脚本,下载解压后执行脚本rrdinstall.sh即可以完成RRDTool的安装。

  点击下载rrdtool-1.2.23.tar.gz

  如果以上脚本安装失败,可以试试以下安装包:

  1.   http://61.156.20.41/autodownload/rrdtool-1.2.11.tar.gz  
  2.  
  3.   #!/bin/sh  
  4.  
  5.   BUILD_DIR=`pwd`  
  6.  
  7.   INSTALL_DIR=/usr/local/rrdtool  
  8.  
  9.   cd $BUILD_DIR  
  10.  
  11.   tar zxf cgilib-0.5.tar.gz  
  12.  
  13.   cd cgilib-0.5  
  14.  
  15.   make CC=gcc CFLAGS="-O3 -fPIC -I." 
  16.  
  17.   mkdir -p $BUILD_DIR/lb/include  
  18.  
  19.   cp *.h $BUILD_DIR/lb/include  
  20.  
  21.   mkdir -p $BUILD_DIR/lb/lib  
  22.  
  23.   cp libcgi* $BUILD_DIR/lb/lib  
  24.  
  25.   cd $BUILD_DIR  
  26.  
  27.   tar zxf zlib-1.2.3.tar.gz  
  28.  
  29.   cd zlib-1.2.3  
  30.  
  31.   env CFLAGS="-O3 -fPIC" ./configure --prefix=$BUILD_DIR/lb  
  32.  
  33.   make  
  34.  
  35.   make install  
  36.  
  37.   cd $BUILD_DIR  
  38.  
  39.   tar zxvf libpng-1.2.18.tar.gz  
  40.  
  41.   cd libpng-1.2.18  
  42.  
  43.   env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \  
  44.  
  45.   ./configure --disable-shared --prefix=$BUILD_DIR/lb  
  46.  
  47.   make  
  48.  
  49.   make install  
  50.  
  51.   cd $BUILD_DIR  
  52.  
  53.   tar zxvf freetype-2.3.5.tar.gz  
  54.  
  55.   cd freetype-2.2.5  
  56.  
  57.   env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \  
  58.  
  59.   ./configure --disable-shared --prefix=$BUILD_DIR/lb  
  60.  
  61.   make  
  62.  
  63.   make install  
  64.  
  65.   cd $BUILD_DIR  
  66.  
  67.   tar zxvf libart_lgpl-2.3.17.tar.gz  
  68.  
  69.   cd libart_lgpl-2.3.17  
  70.  
  71.   env CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=$BUILD_DIR/lb  
  72.  
  73.   make  
  74.  
  75.   make install  
  76.  
  77.   IR=-I$BUILD_DIR/lb/include  
  78.  
  79.   CPPFLAGS="$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng" 
  80.  
  81.   LDFLAGS="-L$BUILD_DIR/lb/lib" 
  82.  
  83.   CFLAGS=-O3  
  84.  
  85.   export CPPFLAGS LDFLAGS CFLAGS  
  86.  
  87.   cd $BUILD_DIR  
  88.  
  89.   tar zxf rrdtool-1.2.23.tar.gz  
  90.  
  91.   cd rrdtool-1.2.23  
  92.  
  93.   ./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl && make && make install  
  94.  

  //完成后建立符号连接

  1.   ln –s /usr/local/rrdtool/bin/* /usr/local/bin/  
  2.  

  //执行rrdtool看是否安装正确

#p#

  2.安装net-snmp

  RedHat默认安装了SNMP服务,但好象没有snmpwalk,snmpget这两个命令,所以需要编译安装NET-SNMP。

  1.   # tar zxvf net-snmp-5.2.4.tar.gz  
  2.  
  3.   #cd net-snmp-5.2.4  
  4.  
  5.   #./configure --prefix=/usr/local/net-snmp --enable-developer  
  6.  
  7.   #make  
  8.  
  9.   #make install  
  10.  
  11.   # ln –s /usr/local/net-snmp/bin/* /usr/local/bin/  
  12.  
  13.   #cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf  
  14.  
  15.   //修改snmpd.conf(修改COMMUNITY、允许抓取snmp数据的主机、抓取数据范围等)。  
  16.  
  17.   # /usr/local/net-snmp/sbin/snmpd //启动SNMP服务  
  18.  
  19.   # vi /etc/rc.d/rc.local  
  20.  
  21.   //在rc.local上加入一行/usr/local/net-snmp/sbin/snmpd,系统启动时启动SNMP服务。  
  22.  

#p#

  3.安装Cacti

  1.   # tar –zxvf cacti-0.8.6j.tar.gz  
  2.  
  3.   # mv –r cacti-0.8.6j /usr/loca/apache/htdocs/cacti  
  4.  
  5.   # vi /usr/local/apache/htdocs/cacti/include/config.php  
  6.  
  7.   $database_type = "mysql";  
  8.  
  9.   $database_default = "cacti";  
  10.  
  11.   $database_hostname = "localhost";  
  12.  
  13.   $database_username = "cacti";  
  14.  
  15.   $database_password = "cacti";  
  16.  
  17.   //添加cacti用户  
  18.  
  19.   # useradd cacti  
  20.  
  21.   //将rra目录的所有权给cacti用户  
  22.  
  23.   # chown –R cacti /usr/loca/apache/htdocs/cacti/rra  
  24.  
  25.   //修改cacti目录所属组  
  26.  
  27.   # chgrp –R cacti /usr/loca/apache/htdocs/cacti  
  28.  
  29.   //为cacti用户添加cron任务  
  30.  
  31.   # su – cacti  
  32.  
  33.   # crontab –e  
  34.  
  35.   */5 * * * * /usr/local/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1  
  36.  

  注意:***执行poller.php时请使用cacti用户,否则生成的rrd文件cacti将没有写入权限。

#p#

  4.安装Cactid

  CACTID 的安装需要以下支持:

  o net-snmp-devel (需要编译安装net-snmp时添加--enable-developer选项)

  o mysql

  o mysql-devel (mysql源文件编译安装后默认支持)

  o openssl-devel (Redhat默认安装)

  1.   # tar -zxvf cacti-cactid-0.8.6i.tar.gz  
  2.  
  3.   # cd cacti-cactid-0.8.6i  
  4.  
  5.   # ./configure --with-mysql=/usr/local/mysql --with-snmp=/usr/local/net-snmp  
  6.  
  7.   # make  
  8.  

  //这时你将在此目录下看到多出了cactid、cactid.conf两个文件

  1.   # mkdir /usr/local/cactid  
  2.  
  3.   # cp cactid cactid.conf /usr/local/cactid  
  4.  
  5.   # vi /usr/local/cactid/cactid.conf //修改cactid配置文件  
  6.  

  DB_Host 127.0.0.1

  DB_Database cacti

  DB_User cacti

  DB_Pass cacti

  5.数据库配置

  #mysql –uroot –p

  Password:

  mysql> create database cacti;

  Query OK, 1 row affected (0.00 sec)

  mysql> grant all on cacti.* to cacti@localhost identified by “cacti”;

  Query OK, 1 row affected (0.00 sec)

  mysql>exit

  # cd /usr/local/apache/htdocs/cacti

  # mysql –uroot –p cacti < cacti.sql

  Password:

#p#

  6.完成cacti的安装

  1).在浏览器中输入:http://www.yourdomain.com/cacti/

  默认用户名:admin 密码:admin

  2).更改密码

  3).设置cacti用到的命令路径

  1.   snmpwalk Binary Path /usr/local/ bin/snmpwalk  
  2.  
  3.   snmpget Binary Path /usr/local/ bin/snmpget  
  4.  
  5.   RRDTool Binary Path /usr/local/ bin/rrdtool  
  6.  
  7.   PHP Binary Path /usr/local/bin/php  
  8.  
  9.   Cacti Log File Path /usr/local/apache/htdocs/cacti/log/cacti.log  
  10.  
  11.   Cactid Poller File Path /usr/local/cactid/cactid  
  12.  

  

使用Cacti监控你的网络(二)- <wbr>Cacti的安装

 

  4).进入cacti后需确认更改以下位置:(如下图)

  Console>Settings>General

  

使用Cacti监控你的网络(二)- <wbr>Cacti的安装

 

  Console>Settings>Poller

  

使用Cacti监控你的网络(二)- <wbr>Cacti的安装
 

上一节:Cacti概述   下一节:Cacti的使用界面

责任编辑:zhaolei 来源: sina
相关推荐

2011-03-25 09:00:36

Cacti插件

2011-03-24 14:05:17

Cacti监控

2011-03-24 15:35:01

Cacti

2011-03-25 09:00:34

Cacti

2011-03-24 15:35:22

Cacti监控

2011-03-25 09:00:36

Cacti插件

2011-03-25 09:00:39

Cacti模板

2011-03-25 09:00:37

Cacti模板

2011-03-25 10:10:16

Cacti模板

2011-03-24 15:35:00

Cacti监控

2011-03-24 15:35:25

Cacti监控

2011-03-24 15:35:23

Cacti监控

2011-03-24 14:05:18

Cacti

2011-04-01 15:39:02

CactiNagios

2011-04-01 15:39:05

CactiNagios

2011-04-06 10:57:09

Cacti插件安装

2014-01-16 14:20:38

CactiCacti监控

2011-04-01 15:42:13

2011-04-01 15:42:13

CactiNagios

2011-03-25 15:01:45

Cacti安装
点赞
收藏

51CTO技术栈公众号