cacti监控开源软件安装

Cacti被广泛用于各行各业,监控必须掌握它了。

Cacti是通过snmpget来获取数据,使用RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。

Cacti架构视图

spacer.gif

CACTI

软件Cacti的发展是基于让RRDTool使用者更方便使用该软件,除了基本的Snmp流量跟系统资讯监控外,Cacti也可外挂Scripts及加上Templates来作出各式各样的监控图。

cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmprrdtoolcacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。

Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ipsnmp团体名、端口号、模板信息等变量。

snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(RoundRobinArchive),它能够存储的数据笔数在创建时就已经定义

安装cacti

Cacti的安装

1.安装环境:RedHatAS4

2.安装ApacheMySQLPHP

1.安装MySQL

下载地址:http://dev.mysql.com/downloads/mysql/5.0.html

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

#rpm�Cqa|grepmysql

#rpm�Cemysql-*

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

#rm�Cf/etc/my.cnf

#tar�Czxvfmysql-standard-5.0.27-linux-i686-glibc23.tar.gz

#cp�Crfmysql-standard-5.0.27-linux-i686-glibc23/usr/local/

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

#ln�Csmysql-standard-5.0.27-linux-i686-glibc23/usr/local/mysql

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

#useraddmysql

#groupaddmysql

//初始化授权表

#cd/usr/local/mysql

#scripts/mysql_install_db

//修改MySQl目录的所有权

#cd/usr/local

#chgrp�CRmysqlmysql-standard-5.0.27-linux-i686-glibc23

#chgrp�CRmysqlmysql

#chown�CRmysqlmysql-standard-5.0.27-linux-i686-glibc23/data

#chown�CRmysqlmysql/data

#ln�Cs/usr/local/mysql/bin/*/usr/local/bin/

//启动Mysql

#bin/safe_mysqld--user=mysql&

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

#cpsupport-files/mysql.server/etc/rc.d/init.d/mysqld

#chkconfig--addmysqld

//修改MySQL的最大连接数

#vi/etc/my.cnf

//添加以下行

[mysqld]

set-variable=max_connections=1000

set-variable=max_user_connections=500

set-variable=wait_timeout=200

//max_connections设置最大连接数为1000
//max_user_connections设置每用户最大连接数为500
//wait_timeout表示200秒后将关闭空闲(IDLE)的连接,但是对正在工作的连接不影响。
//保存退出,并重新启动MySQL
//重新启动MySQL后使用下面的命令查看修改是否成功

#mysqladmin-uroot-pvariables

Password:

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

|max_connections|1000

|max_user_connections|500

|wait_timeout|200

2.安装Apache

下载地址:http://httpd.apache.org/

#tar�Czxvfhttpd-2.2.4.tar.gz

#cdhttpd-2.2.4

#./configure--prefix=/usr/local/apache--enable-so

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

#make

#makeinstall

#vi/usr/local/apache/conf/httpd.conf

//修改Apache配置文件,添加ServerNamewww.yourdomain.comServerName本机ip

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

//rc.local上加入一行

/usr/local/apache/bin/apachectl�Ckstart

系统启动时启动Apache服务。

3.安装PHP

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

库文件下载地址:http://oss.oetiker.ch/rrdtool/pub/libs/

1.安装zlib

tarzlib-1.2.3.tar.gz

cdzlib-1.2.3

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

make

makeinstall

2.安装libpng

tarzxvflibpng-1.2.16.tar.tar

cdlibpng-1.2.16

cdscripts/

mvmakefile.linux../makefile

cd..

make

makeinstall

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

3.安装freetype

tarzxvffreetype-2.3.4.tar.gz

cdfreetype-2.3.4

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

make

makeinstall

4.安装Jpeg

tar-zxfjpegsrc-1.v6b.tar.gz

cdjpeg-6b/

mkdir/usr/local/libjpeg

mkdir/usr/local/libjpeg/include

mkdir/usr/local/libjpeg/bin

mkdir/usr/local/libjpeg/lib

mkdir/usr/local/libjpeg/man

mkdir/usr/local/libjpeg/man/man1

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

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

./configure--prefix=/usr/local/libjpeg--enable-shared--enable-static

make&&makeinstall

5.安装Fontconfig

tar-zxvffontconfig-2.4.2.tar.gz

cdfontconfig-2.4.2

6).安装GDGD注释:GDCACTIphp用于处理图像的程序;

tar-zxvfgd-2.0.34.tar.gzcdgd-2.0.34./configure--prefix=/usr/local/libgd--with-png--with-freetype=/usr/local/freetype--with-jpeg=/usr/local/libjpeg./configure--with-freetype-config=/usr/local/freetypemakemakeinstallmakemakeinstall

编译时显示以下信息:

**Configurationsummaryforgd2.0.34:

SupportforPNGlibrary:yes
SupportforJPEGlibrary:yes
SupportforFreetype2.xlibrary:yes
SupportforFontconfiglibrary:yes
SupportforXpmlibrary:no
Supportforpthreads:yes

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

/usr/local/zlib/lib

/usr/local/freetype/lib

/usr/local/libjpeg/lib

/usr/local/libgd/lib

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

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

#tar�Czxvflibxml2-2.6.25.tar.gz

#cdlibxml2-2.6.25

#./configure

#make

#makeinstall

9.安装PHP

PHP下载地址:http://www.php.net/downloads.php#v5

tar-zxvfphp-5.2.3.tar.gzcdphp-5.2.3#./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#make#makeinstall#cpphp.ini-recommended/usr/local/php/lib/php.ini#ln�Cs/usr/local/php/bin/*/usr/local/bin/#vi/usr/local/apache/conf/httpd.conf

查找

AddTypeapplication/x-compress.Z

AddTypeapplication/x-gzip.gz.tgz

在其下加入

AddTypeapplication/x-tar.tgz

AddTypeapplication/x-httpd-php.php

AddTypeimage/x-icon.ico

修改DirectoryIndex行,添加index.php

修改为

DirectoryIndexindex.phpindex.htmlindex.html.var

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

wq保存退出。

#/usr/local/apache/bin/apachectl�Ckstop

#/usr/local/apache/bin/apachectl�Ckstart

在浏览器中输入:http://www.yourdomain.com/test.php进行测试。

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//激活对FreeType1.x的支持
--with-freetype-dir=/usr/local/freetype//激活对FreeType2.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//支持套接字

1.安装RRDTool

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

注意:将cgilib-0.5.tar.gzzlib-1.2.3.tar.gzlibpng-1.2.18.tar.gzfreetype-2.3.5.tar.gzlibart_lgpl-2.3.17.tar.gzrrdtool-1.2.23.tar.gz放到/root/rrdtool-1.2.23目录下,将脚本保存为/root/rrdtool-1.2.23/rrdtoolinstall.sh,并给执行权限chmodu+x/root/rrdtool-1.2.23/rrdtoolinstall.sh

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

点击下载rrdtool-1.2.23.tar.gz

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

http://61.156.20.41/autodownload/rrdtool-1.2.11.tar.gz

#!/bin/shBUILD_DIR=`pwd`INSTALL_DIR=/usr/local/rrdtoolcd$BUILD_DIRtarzxfcgilib-0.5.tar.gzcdcgilib-0.5makeCC=gccCFLAGS="-O3-fPIC-I."mkdir-p$BUILD_DIR/lb/includecp*.h$BUILD_DIR/lb/includemkdir-p$BUILD_DIR/lb/libcplibcgi*$BUILD_DIR/lb/libcd$BUILD_DIRtarzxfzlib-1.2.3.tar.gzcdzlib-1.2.3envCFLAGS="-O3-fPIC"./configure--prefix=$BUILD_DIR/lbmakemakeinstallcd$BUILD_DIRtarzxvflibpng-1.2.18.tar.gzcdlibpng-1.2.18envCPPFLAGS="-I$BUILD_DIR/lb/include"LDFLAGS="-L$BUILD_DIR/lb/lib"CFLAGS="-O3-fPIC"\./configure--disable-shared--prefix=$BUILD_DIR/lbmakemakeinstallcd$BUILD_DIRtarzxvffreetype-2.3.5.tar.gzcdfreetype-2.2.5envCPPFLAGS="-I$BUILD_DIR/lb/include"LDFLAGS="-L$BUILD_DIR/lb/lib"CFLAGS="-O3-fPIC"\./configure--disable-shared--prefix=$BUILD_DIR/lbmakemakeinstallcd$BUILD_DIRtarzxvflibart_lgpl-2.3.17.tar.gzcdlibart_lgpl-2.3.17envCFLAGS="-O3-fPIC"./configure--disable-shared--prefix=$BUILD_DIR/lbmakemakeinstallIR=-I$BUILD_DIR/lb/includeCPPFLAGS="$IR$IR/libart-2.0$IR/freetype2$IR/libpng"LDFLAGS="-L$BUILD_DIR/lb/lib"CFLAGS=-O3exportCPPFLAGSLDFLAGSCFLAGScd$BUILD_DIRtarzxfrrdtool-1.2.23.tar.gzcdrrdtool-1.2.23./configure--prefix=$INSTALL_DIR--disable-python--disable-tcl&&make&&makeinstall

//完成后建立符号连接

ln�Cs/usr/local/rrdtool/bin/*/usr/local/bin/

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

2.安装net-snmp

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

NET-SNMP官方网站:http://www.net-snmp.org/

#tarzxvfnet-snmp-5.2.4.tar.gz

#cdnet-snmp-5.2.4

#./configure--prefix=/usr/local/net-snmp--enable-developer

#make

#makeinstall

#ln�Cs/usr/local/net-snmp/bin/*/usr/local/bin/

#cpEXAMPLE.conf/usr/local/net-snmp/share/snmp/snmpd.conf

//修改snmpd.conf(修改COMMUNITY、允许抓取snmp数据的主机、抓取数据范围等)。

#/usr/local/net-snmp/sbin/snmpd//启动SNMP服务

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

//在rc.local上加入一行

/usr/local/net-snmp/sbin/snmpd

系统启动时启动SNMP服务。

3.安装Cacti

Cacti官方网站:www.cacti.net/

#tar�Czxvfcacti-0.8.6j.tar.gz

#mv�Crcacti-0.8.6j/usr/loca/apache/htdocs/cacti

#vi/usr/local/apache/htdocs/cacti/include/config.php

$database_type="mysql";
$database_default="cacti";
$database_hostname="localhost";
$database_username="cacti";
$database_password="cacti";

//添加cacti用户

#useraddcacti

//将rra目录的所有权给cacti用户

#chown�CRcacti/usr/loca/apache/htdocs/cacti/rra

//修改cacti目录所属组

#chgrp�CRcacti/usr/loca/apache/htdocs/cacti

//为cacti用户添加cron任务

#su�Ccacti

#crontab�Ce

*/5****/usr/local/bin/php/usr/local/apache/htdocs/cacti/poller.php>/dev/null2>&1

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

4.安装Cactid

CACTID的安装需要以下支持:

onet-snmp-devel(需要编译安装net-snmp时添加--enable-developer选项)
omysql
omysql-develmysql源文件编译安装后默认支持)
oopenssl-develRedhat默认安装)

#tar-zxvfcacti-cactid-0.8.6i.tar.gz

#cdcacti-cactid-0.8.6i

#./configure--with-mysql=/usr/local/mysql--with-snmp=/usr/local/net-snmp

#make

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

#mkdir/usr/local/cactid

#cpcactidcactid.conf/usr/local/cactid

#vi/usr/local/cactid/cactid.conf//修改cactid配置文件

DB_Host127.0.0.1

DB_Databasecacti

DB_Usercacti

DB_Passcacti

5.数据库配置

#mysql�Curoot�Cp

Password:

mysql>createdatabasecacti;

QueryOK,1rowaffected(0.00sec)

mysql>grantalloncacti.*tocacti@localhostidentifiedbycacti;

QueryOK,1rowaffected(0.00sec)

mysql>exit

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

#mysql�Curoot�Cpcacti<cacti.sql

Password:

6.完成cacti的安装

1.在浏览器中输入:http://www.yourdomain.com/cacti/
默认用户名:admin密码:admin

2.更改密码

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

snmpwalkBinaryPath/usr/local/bin/snmpwalk

snmpgetBinaryPath/usr/local/bin/snmpget

RRDToolBinaryPath/usr/local/bin/rrdtool

PHPBinaryPath/usr/local/bin/php

CactiLogFilePath/usr/local/apache/htdocs/cacti/log/cacti.log

CactidPollerFilePath/usr/local/cactid/cactid

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

Console>Settings>General

Console>Settings>Poller

下面是简单的安装总结可以和上面的对应着看:

以下就是Cacti中文版安装的全过程,各安装包基本都是最新的,基于Centos5.2平台下安装的!!下面是安装和配置的具体内容。
1.基本安装
Cacti中文是运作在apache+php+mysql+net-snmp工具集+rrdtool这样的一个工作环境之下,所以我们先要做一个基本的工作的环境
记的安装前先安装rpm的扩展包,安装方法见我的另外一个文章"rpm的高级管理"
#yum-yinstallmysqlmysql-serverphp-mysqlhttpdphp

上面完成一个php,http,mysql的环境,接下来安装要用到的包
#yum-yinstallphp-pdolm_sensorsnet-snmpphp-snmpnet-snmp-utilsperl-Net-Daemonperl-PlRPCperl-DBIrrdtoolperl-rrdtoolperl-DBD-MySQL

安装完,启动相关的程式,和设置开机启动
#chkconfigmysqldon
#chkconfighttpdon
#servermysqldstart

2.数据库设置

准备数据库,和设置权限,安装Cacti中文。
#mysql-uroot-p
mysql>createdatabaseCactidefaultcharactersetutf8;
mysql>GRANTSELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,LOCKTABLES,CREATETEMPORARYTABLES,DROP,REFERENCESONCacti.*TOCacti@localhostIDENTIFIEDBYpasswd;
mysql>flushprivileges;
mysql>\q

3.下载安装

下载Cacti中文版,解压到/var/www/Cacti.后进入Cacti的目录.导入Cacti的数据结构

下载地址:Cacti-0.8.7b-cn-utf8.tar.gz
#cd/var/www/Cacti
#mysql-uCacti-pCacti<Cacti.sql

修改配置文件
#vim/var/www/Cacti/include/config.php
$database_type="mysql";
$database_default="Cacti";
$database_hostname="localhost";
$database_username="Cacti";
$database_password="passwd";
$database_port="3306";

添加Cacti用户

$useraddCacti-d/var/www/Cacti-s/bin/false

$chown-RCacti/var/www/Cacti/rra/var/www/Cacti/log

这个上面可能添加不行试试:

#chown-hRCacti/var/www/Cacti/rra/var/www/Cacti/log

你可能感兴趣的:(linux,监控,cacti)