声明:本系列文档出自石头记,如若转载请注明出处,本人保留文档的所有权,并欢迎转载。
本系列文档的其他部分链接如下:
一、概述及Cacti的工作流程
二、Cacti的安装
三、Cacti的使用
四、Cacti脚本及模板
五、Cacti插件
六、Cacti高级应用--打造自己的Cacti模板

一、Cacti的安装

 

1.安装环境:RedHat AS 4

2.安装Apache、MySQL、PHP

(1).安装MySQL

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

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

# rpm –qa | grep mysql

# rpm –e mysql-*

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

# rm –f /etc/my.cnf

# tar –zxvf mysql-standard-5.0.27-linux-i686-glibc23.tar.gz

# cp –rf mysql-standard-5.0.27-linux-i686-glibc23 /usr/local/

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

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

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

# useradd mysql

# groupadd mysql

//初始化授权表

# cd /usr/local/mysql

# scripts/mysql_install_db

//修改MySQl目录的所有权

# cd /usr/local

# chgrp –R mysql mysql-standard-5.0.27-linux-i686-glibc23

# chgrp –R mysql mysql

# chown –R mysql mysql-standard-5.0.27-linux-i686-glibc23/data

# chown –R mysql mysql/data

# ln –s /usr/local/mysql/bin/* /usr/local/bin/

//启动Mysql

# bin/safe_mysqld --user=mysql &

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

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

# chkconfig --add mysqld

//修改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 -p variables

Password:

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

| max_connections                 | 1000

| max_user_connections            | 500

| wait_timeout                    | 200

(2).安装Apache

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

# tar –zxvf httpd-2.2.4.tar.gz

# cd httpd-2.2.4

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

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

# make

# make install

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

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

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

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

(3).安装PHP

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

库文件下载地址:http://oss.oetiker.ch/rrdtool/pub/libs/
1).安装zlib

tar zlib-1.2.3.tar.gz
  cd zlib-1.2.3
  ./configure --prefix=/usr/local/zlib
  make
  make install

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
   cd jpeg-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 --prefix=/usr/local/libjpeg --enable-shared --enable-static
   make && make install
注意,这里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

编译时显示以下信息:

** Configuration summary for gd 2.0.34:

Support for PNG library:          yes
   Support for JPEG library:         yes
   Support for Freetype 2.x library: yes
   Support for Fontconfig library:   yes
   Support for Xpm library:          no
   Support for pthreads:             yes

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

/usr/local/zlib/lib

/usr/local/freetype/lib

/usr/local/libjpeg/lib

/usr/local/libgd/lib

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

8).安装libxml,RedHat AS 4默认安装libxml包,但版本太低,PHP5需要更高版本的libxml包。
      # tar –zxvf libxml2-2.6.25.tar.gz
      # cd libxml2-2.6.25
      # ./configure
      # make
      # make install

9).安装PHP

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

tar -zxvf  php-5.2.3.tar.gz
cd php-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

# make install

# cp php.ini-recommended /usr/local/php/lib/php.ini

# ln –s /usr/local/php/bin/* /usr/local/bin/

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

查找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

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

添加以下行:

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

[?php

Phpinfo();

?]

wq保存退出。

# /usr/local/apache/bin/apachectl –k stop

#/usr/local/apache/bin/apachectl –k start

在浏览器中输入: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     //激活对 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      //支持套接字

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

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

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

#!/bin/sh
BUILD_DIR=`pwd`
INSTALL_DIR=/usr/local/rrdtool
cd $BUILD_DIR
tar zxf cgilib-0.5.tar.gz
cd cgilib-0.5
make CC=gcc CFLAGS="-O3 -fPIC -I."
mkdir -p $BUILD_DIR/lb/include
cp *.h $BUILD_DIR/lb/include
mkdir -p $BUILD_DIR/lb/lib
cp libcgi* $BUILD_DIR/lb/lib
cd $BUILD_DIR
tar  zxf zlib-1.2.3.tar.gz
cd zlib-1.2.3
env CFLAGS="-O3 -fPIC" ./configure --prefix=$BUILD_DIR/lb
make
make install
cd $BUILD_DIR
tar zxvf libpng-1.2.18.tar.gz
cd libpng-1.2.18
env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \
    ./configure --disable-shared --prefix=$BUILD_DIR/lb
make
make install
cd $BUILD_DIR
tar zxvf freetype-2.3.5.tar.gz
cd freetype-2.2.5
env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC" \
    ./configure --disable-shared --prefix=$BUILD_DIR/lb
make
make install

cd $BUILD_DIR
tar zxvf libart_lgpl-2.3.17.tar.gz
cd libart_lgpl-2.3.17
env CFLAGS="-O3 -fPIC" ./configure --disable-shared --prefix=$BUILD_DIR/lb
make
make install

IR=-I$BUILD_DIR/lb/include
CPPFLAGS="$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng"
LDFLAGS="-L$BUILD_DIR/lb/lib"
CFLAGS=-O3
export CPPFLAGS LDFLAGS CFLAGS

cd $BUILD_DIR
tar zxf rrdtool-1.2.23.tar.gz
cd rrdtool-1.2.23
./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl && make && make install

//完成后建立符号连接

ln –s /usr/local/rrdtool/bin/* /usr/local/bin/

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

2.安装net-snmp

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

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

# tar zxvf net-snmp-5.2.4.tar.gz

#cd net-snmp-5.2.4
#./configure --prefix=/usr/local/net-snmp  --enable-developer
#make
#make install

# ln –s /usr/local/net-snmp/bin/* /usr/local/bin/

#cp EXAMPLE.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 –zxvf cacti-0.8.6j.tar.gz

# mv –r cacti-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用户

# useradd cacti

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

# chown –R cacti /usr/loca/apache/htdocs/cacti/rra

//修改cacti目录所属组

# chgrp –R cacti /usr/loca/apache/htdocs/cacti

//为cacti用户添加cron任务

# su – cacti

# crontab –e

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

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

4.安装Cactid

CACTID 的安装需要以下支持:

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

o    mysql

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

o    openssl-devel  (Redhat默认安装)

# tar -zxvf cacti-cactid-0.8.6i.tar.gz

# cd cacti-cactid-0.8.6i

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

# make

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

# mkdir /usr/local/cactid

# cp cactid cactid.conf /usr/local/cactid

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

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:

6.完成cacti的安装

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

默认用户名:admin 密码:admin

2).更改密码

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

snmpwalk Binary Path          /usr/local/ bin/snmpwalk

snmpget Binary Path         /usr/local/ bin/snmpget

RRDTool Binary Path         /usr/local/ bin/rrdtool

PHP Binary Path              /usr/local/bin/php

Cacti Log File Path           /usr/local/apache/htdocs/cacti/log/cacti.log

Cactid Poller File Path      /usr/local/cactid/cactid

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

Console>Settings>General

Console>Settings>Poller

使用Cacti监控你的网络Cacti的安装相关推荐

  1. linux下搭建cacti监控

    一.cacti 监控软件简介         1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存         和更新数据,当用户需要查看数 ...

  2. 配置cacti 监控squid

    类别:原创 服务器 第一:说明,软件说明,和安装的目的 使用cacti监控squid的各项参数,安装前请确保安装好了LMAP环境,mysql.apache.cacti.snmp.squid正常使用. ...

  3. linux cacti 搭建,linux下搭建cacti监控(示例代码)

    一.cacti 监控软件简介 1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存         和更新数据,当用户需要查看数据的时候用rrd ...

  4. Cacti 监控网络

    一.概述及Cacti的工作流程 二.Cacti的安装 三.Cacti的使用 四.Cacti脚本及模板 五.Cacti插件 六.Cacti高级应用--打造自己的Cacti模板 一.概述 1. cacti ...

  5. 安装中文版cacti监控华为交换机流量并实现95计费

    一. 安装yum源: 以网易yum源为例 1. 下载repo文件 下载地址:http://mirrors.163.com/.help/CentOS6-Base-163.repo 2. 备份并替换系统的 ...

  6. 几个优化 Cacti 监控服务性能的技巧

    几个优化 Cacti 监控服务性能的技巧 by ROBIN on 2011年05月26日 · LEAVE A COMMENT · in NETWORK, 信息世界 | IT 这几天一直在深入研究 Ca ...

  7. 搭建cacti监控平台

    Cacti介绍: Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.Cacti通常是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完 ...

  8. RHEL5.9下cacti监控的部署详解

    cacti是一套基于php.mysql.snmp以及rrdtool开发的系统监控图形分析工具,它通过snmp来获取数据,使用rrdtool绘画图形而且完全可以不需要了解rrdtool复杂的命令参数,它 ...

  9. 如何利用Cacti监控机房温度

    本文基于Cacti监控软件,针对在无人值守的情况下,对机房的温度进行实时的监控和图形显示,并容许设定报警温度,机房超温发送给机房管理人员. 系统原理 为了实时监控机房的温度,本文基于Cacti监控软件 ...

最新文章

  1. 困扰多日的C#调用Haskell问题竟然是Windows的一个坑
  2. java比较字符引用地址_java中的比较运算符== 与 equals()方法
  3. 图片上传之后清空_OSS文件上传及OSS与ODPS之间数据连通
  4. [Regular] 2、正则表达式基础元字符及分组、捕获
  5. 云游戏之大冒险:5G,等还是不等 | 专访云格致力陈浩
  6. 用纯css3和html制作一些泡沫对话框
  7. 雷军:小米11的屏幕是小米手机有史以来最贵且最好的屏幕
  8. [SPOJGCJ1C09C] Bribe the Prisoners
  9. linux分区理解整理
  10. NB-IOT:物联网【无码化】体验NB-loT全流程
  11. Nginx+php+mysql+wordpress搭建自己的博客站点
  12. dede图片上传php,织梦DEDE 栏目字段添加并调用:例如图片上传
  13. LNK2005 解决方法以及发生原因
  14. java 僵尸进程_僵尸进程ZOMBIE
  15. 没拿到一毛钱股份的老公和CEO身份曝光,发文妻子的选妃照也被挖出来了……
  16. 台式计算机时间不能同步,电脑时间同步不了怎么办
  17. C 语言判断某年是否为闰年该月有多少天
  18. 河南理工大学计算机专业几本,河南理工大学是几本?河南理工大学是985或211吗...
  19. ACM中java的使用(各种比赛中)
  20. 才智杂志才智杂志社才智编辑部2022年第35期目录

热门文章

  1. 如何获取元素在父级div里的位置_前端面试题--元素的BFC特性和实例
  2. 对C语言程序进行编译时 针对以下情况,linux书上划的题的答案.doc
  3. android点击展开textview,《Android APP可能有的东西》之UI篇:展开TextView全文
  4. php7 curl_init(),php7.3-curl_init获取301、302跳转后的数据
  5. C语言优势大揭露,你还在等什么呢?
  6. Python,OpenCV中的K均值聚类——K-Means Cluster
  7. Windows10 C盘爆满如何清理
  8. 使用Python+OpenCV构建文档扫描程序
  9. POJ - 2516 Minimum Cost 最小费用最大流
  10. Kimera实时重建的语义SLAM系统