亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

cacti-0.8.8a那點兒事

標簽:
MySQL


cacti简介

    Cacti是基于PHP/MySQL的开源网络监控及绘图工具,它通过SNMP获取数据并使用RRDTool予以存储,然后在需要时利用RRDTool绘图引擎绘图并通过php展示。

   Cacti的操作流程很简单:获取数据-->存储数据-->展示数据。Cacti通过poller获取数据。poller是一个通过调度的方式每隔一段时间(通常为5分钟)执行的程序,它通常通过SNMP来获取远程主机上的数据。

cacti的安装及配置

本文档中的平台是RHEL5.8用到的程序为:

cacti-0.8.8a (安装路径:/web/vhosts/cacti)

httpd-2.4.2 (安装路径:/usr/local/apache)

php-5.4.4 (安装路径:/usr/local/php)

MySQL-5.5.25a (安装路径:/usr/local/mysql)

rrdtool-1.4.7.tar.gz(安装路径:/usr/local/rrdtool)

一、 编译安装lamp平台

(这里不再给出详细步骤,若没有lamp平台以下是一个脚本,执行即可;若已经安装了则跳过此步骤,从“二” 开始即可)

准备工作:

    1、若想支持mcrypt扩展,下载libmcrypt-2.5.7-5.el5.i386.rpm  libmcrypt-devel-2.5.7- 5.el5.i386.rpm 并安装 rpm -ivh libmcrypt-*  

    2、提供了一个httpd服务的脚本,如下,放到/root目录下,命名为httpd.sh

注意:要求php在configure时指定了--enable-sockets选项,否则,cacti将无法运行。

#!/bin/bash  

#  

# httpd        Startup script for the Apache HTTP Server  

#  

# chkconfig: - 85 15  

# description: Apache is a World Wide Web server.  It is used to serve \  

#          HTML files and CGI.  

# processname: httpd  

# config: /etc/httpd/conf/httpd.conf  

# config: /etc/sysconfig/httpd  

# pidfile: /var/run/httpd.pid  

 

# Source function library.  

. /etc/rc.d/init.d/functions  

 

if [ -f /etc/sysconfig/httpd ]; then  

        . /etc/sysconfig/httpd  

fi  

 

# Start httpd in the C locale by default.  

HTTPD_LANG=${HTTPD_LANG-"C"}  

 

# This will prevent initlog from swallowing up a pass-phrase prompt if  

# mod_ssl needs a pass-phrase from the user.  

INITLOG_ARGS="" 

 

# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server  

# with the thread-based "worker" MPM; BE WARNED that some modules may not  

# work correctly with a thread-based MPM; notably PHP will refuse to start.  

 

# Path to the apachectl script, server binary, and short-form for messages.  

apachectl=/usr/local/apache/bin/apachectl  

httpd=${HTTPD-/usr/local/apache/bin/httpd}  

prog=httpd 

pidfile=${PIDFILE-/var/run/httpd.pid}  

lockfile=${LOCKFILE-/var/lock/subsys/httpd}  

RETVAL=0 

 

start() {  

        echo -n $"Starting $prog: "  

        LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS  

        RETVAL=$?  

        echo  

        [ $RETVAL = 0 ] && touch ${lockfile}  

        return $RETVAL  

}  

 

stop() {  

    echo -n $"Stopping $prog: "  

    killproc -p ${pidfile} -d 10 $httpd  

    RETVAL=$?  

    echo  

    [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}  

}  

reload() {  

    echo -n $"Reloading $prog: "  

    if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then  

        RETVAL=$?  

        echo $"not reloading due to configuration syntax error"  

        failure $"not reloading $httpd due to configuration syntax error"  

    else  

        killproc -p ${pidfile} $httpd -HUP  

        RETVAL=$?  

    fi  

    echo  

}  

 

# See how we were called.  

case "$1" in  

  start)  

    start  

    ;;  

  stop)  

    stop  

    ;;  

  status)  

        status -p ${pidfile} $httpd  

    RETVAL=$?  

    ;;  

  restart)  

    stop  

    start  

    ;;  

  condrestart)  

    if [ -f ${pidfile} ] ; then  

        stop  

        start  

    fi  

    ;;  

  reload)  

        reload  

    ;;  

  graceful|help|configtest|fullstatus)  

    $apachectl $@  

    RETVAL=$?  

    ;;  

  *)  

    echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"  

    exit 1  

esac  

 

exit $RETVAL 

接下来就可以执行脚本了

#!/bin/bash  

#  

<<mark 

prepare the source packages  

apr-1.4.6.tar.bz2    

apr-util-1.4.1.tar.bz2  

httpd-2.4.2.tar.bz2   

cmake-2.8.8.tar.gz  

mysql-5.5.25a.tar.gz  

libmcrypt-2.5.7-5.el5.i386.rpm  

libmcrypt-devel-2.5.7-5.el5.i386.rpm  

php-5.4.4  

mark  

################compileing httpd######################  

#yum -y groupinstall "Development Libraries" "Development Tools" "X Software Development"  

#setenforce 0  

#mkdir /source  

SOURCE=/source  

SysDir=/etc/rc.d/init.d  

PathDir=/etc/profile  

 

cd $SOURCE  

wget http://apache.etoak.com//apr/apr-1.4.6.tar.bz2  

wget http://apache.etoak.com//apr/apr-util-1.4.1.tar.bz2  

wget http://apache.etoak.com//httpd/httpd-2.4.2.tar.bz2  

wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz  

wget http://anduin.linuxfromscratch.org/sources/BLFS/svn/m/mysql-5.5.25a.tar.gz  

wget http://downloads.php.net/stas/php-5.4.4.tar.bz2   

 

tar xf apr-1.4.6.tar.bz2    

cd apr-1.4.6  

./buildconf  

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

make  

make install  

 

cd $SOURCE  

tar xf apr-util-1.4.1.tar.bz2  

cd apr-util-1.4.1  

./buildconf --with-apr=$SOURCE/apr-1.4.6  

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr  

make  

make install  

 

cd $SOURCE  

yum -y install pcre-devel  

tar xf httpd-2.4.2.tar.bz2   

cd httpd-2.4.2  

./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-suexec --enable-ssl --enable-rewrite --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-modules-shared=most --enable-mpms-shared=all   

make  

make install  

 

cd $SOURCE  

echo "PidFile  \"/var/run/httpd.pid\" " >> /etc/httpd/httpd.conf  

cp /root/httpd.sh   $SysDir/httpd  

chmod +x $SysDir/httpd  

chkconfig --add httpd  

service httpd start  

echo "PATH=\$PATH:/usr/local/apache/bin" >> $PathDir  

export PATH=$PATH:/usr/local/apache/bin  

echo "MANPATH  /usr/local/apache/man " >> /etc/man.config  

ln -sv /usr/local/apache/include /usr/include/httpd  

service httpd start  

 

#########################compileing mysql###################################  

cd $SOURCE  

tar xf cmake-2.8.8.tar.gz  

cd cmake-2.8.8  

./bootstrap  

make  

make install  

 

cd $SOURCE  

groupadd -r mysql  

useradd -g mysql -r -d /data/mysql mysql  

tar xf mysql-5.5.25a.tar.gz  

cd mysql-5.5.25a  

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1  -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLE_PROFILING=1    

make  

make install  

   

cd /usr/local/mysql  

chown -R :mysql .  

mkdir -pv /data/mysql  

chown -R mysql:mysql /data/  

cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf  

cp /usr/local/mysql/support-files/mysql.server $SysDir/mysqld  

chmod +x $SysDir/mysqld  

chkconfig --add mysqld  

scripts/mysql_install_db --user=mysql --datadir=/data/mysql  

sed -i '/\[mysqld\]/a \datadir = /data/mysql' /etc/my.cnf  

sed -i 's/thread_concurrency = 8/thread_concurrency = 2/g' /etc/my.cnf  

echo "PATH=\$PATH:/usr/local/mysql/bin" >> $PathDir  

export PATH=$PATH:/usr/local/mysql/bin  

echo "MATHPATH /usr/local/mysql/man" >> /etc/man.config  

ln -sv /usr/local/mysql/include /usr/include/mysql  

echo " /usr/local/mysql/lib " >> /etc/ld.so.conf.d/mysql.conf  

ldconfig  

service  mysqld start  

cd  

##########################compiling php#########################  

cd $SOURCE  

tar xf  php-5.4.4.tar.bz2  

cd  php-5.4.4  

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-sockets  

cd $SOURCE  

make  

make install  

cd $SOURCE  

cp php-5.4.4/php.ini-production /etc/php.ini  

echo "AddType application/x-httpd-php  .php " >> /etc/httpd/httpd.conf  

echo "AddType application/x-httpd-php-source  .phps" >> /etc/httpd/httpd.conf  

sed -i 's/DirectoryIndex index.html/DirectoryIndex index.php index.html/g' /etc/httpd/httpd.conf  

service httpd restart  

cd  

echo "The End!"

 OK,此时lamp平台架构好了

二、 安装配置cacti

1、cacti虚拟主机

在LAMP平台上,专门为cacti准备了一个虚拟主机cacti.magedu.com,其配置如下:

#vim /etc/httpd/httpd.conf

启用虚拟主机

# vim /etc/httpd/extra/httpd-vhosts.conf  //把原有的虚拟主机注释掉

添加内容如下:  

<VirtualHost *:80> 

    ServerName cacti.forman.com  

    DocumentRoot /web/vhosts/cacti  

    <Directory "/web/vhosts/cacti"> 

        Options Indexes  

        AllowOverride none  

        Require all granted  

    </Directory> 

    ErrorLog "logs/cacti-error_log"  

    CustomLog "logs/cacti-access_log" common  

</VirtualHost> 

#mkdir /web/vhosts/cacti -pv

2、net-snmp

2.1 安装

由于本机即是监控端(NMS),又是被监控端,因此我们这里直接通过yum安装net-snmp和net-snmp-utils

# yum -y install net-snmp net-snmp-utils  

2.2启动服务

# service snmpd start  

# chkconfig snmpd on  

 

使用如下命令进行测试:  

# snmpwalk -v 2c -c public localhost system  

 

如果有正常监控信息输出即为OK。 

3、安装rrdtool

#pwd

/source

#wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz

# tar xf rrdtool-1.4.7.tar.gz  

# cd rrdtool-1.4.7  

# ./configure --prefix=/usr/local/rrdtool  

# make  

# make install  

#echo "MANPATH  /usr/local/rrdtool/share/man" >> /etc/man.config  

#echo "PATH=\$PATH:/usr/local/rrdtool/bin " >> /etc/profile  

#export PATH=$PATH:/usr/local/rrdtool/bin  

#ln -sv /usr/local/rrdtool/include /usr/include/rrdtool  

#echo "/usr/local/rrdtool/lib" >> /etc/ld.so.conf.d/rrdtool.conf  

#ldconfig

#cd 

4、安装cacti

4.1 安装

#pwd

/source

#wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz

# tar xf cacti-0.8.8a.tar.gz -C /web/vhosts  

# cd cacti-0.8.8a

# mv ./* /web/vhosts/cacti

4.2 初始配置:

为cacti创建数据库,并初始化所需要表:

# mysqladmin -uroot -p create cacti //此时的密码为mysql的密码

# cd /web/vhosts/cacti  

# mysql -uroot -p cacti < cacti.sql 

创建mysql用户,使用cacti能访问其cacti数据库

# mysql -uroot -p -e "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser'";

//创建了用户cactiuser 密码也为cactiuser  

# mysqladmin -uroot -p flush-privileges  

# mysql -ucactiuser -p          //验证一下是否正确  

 cactiuser  

接着创建系统用户cactiuser,以之运行cacti的数据获取和日志记录等工作

# useradd cactiuser  

# chown -R cactiuser:cactiuser /web/vhosts/cacti/{log,rra} 

以cactiuser用户的身份,每5钟获取一次数据:

# echo '*/5 * * * *  /usr/local/php/bin/php /web/vhosts/cacti/poller.php &> /dev/null' > /var/spool/cron/cactiuser  

php的时区不一致,把php配置文件/etc/php.ini中的时区改为如下格式:

 

#vim /etc/php.ini

date.timezone = Asia/Shanghai   

# hwclock -s    //同步系统时间

# service httpd restart  

 

        

编辑cacti的配置文件include/config.php,将实际访问cacti的URL路径,启用并修改如下行:

//$url_path = "/cacti/";

我们这里将之修改为:

$url_path = "/";

在外面的物理机的hosts文件中添加:

X .X.X.X cacti.forman.com        //实现域名的访问

而后在浏览器中打开http://cacti.forman.com/install,按提示一步步配置即可完成安装。

密码第一次输入的时候,会让修改密码,用户默认为admin 密码为admin

提示图片如下:

 

 

 

 

 

 

 

 第一次登陆的时候,会提示修改密码,如下图

 

 重新登陆即可

device--->Localhost ---->version2 --->save即可 点击graphs可看到生成的图像,如下所示:

 

到这里,cacti的基本工作做完了,后面的工作就是根据自己的需要进行配置了。本文不足之处期待指正

©著作权归作者所有:来自51CTO博客作者不凡一夏的原创作品,如需转载,请注明出处,否则将追究法律责任

cacti服务器配置


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消