开发者社区> 技术小胖子> 正文

Centos使用Cacti监控你的网络

简介:
+关注继续查看


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

借鉴以下站点内容
安装前的准备
首先要做到时间上必须准确,使用ntpdate来和网络时间服务器对时
crontab -e
编辑自动执行文档添加下面这一行
*/1 * * * * /usr/sbin/ntpdate time.nist.gov
上面表示每分钟同时间服务器进行一次同步。
接下来我们这次安装CACTI需要使用到mysql apache php 这三个我们使用tar包来进行安装,这样可以使用到最新版本的
另外要使用到zlib-devel zlib libpng-devel libpng freetype-devel freetype libjpeg-devel libjpeg fontconfig-devel fontconfig libxml2-devel   libxml2 libxml2-python gd-devel gd这些库。
卸载已经安装好的RPM包
首先我们如果CENTOS在安装时自带了mysql apache php的话就要用
rpm -e --nodeps httpd
rpm -e --nodeps mysql
rpm -e --nodeps php
使用上面的命令来将rpm安装好的删除掉,建议如果可以上网最好使用
yum -y remove httpd mysql php
因为yum来删除的话可以将相关联的包也删除掉,这样更加完美。
删除了上面的包后我们可以来进行安装了,安装顺序为mysql>apache>php
首先下载mysql并进行解压
 
 
一、Cacti的安装
 
1.安装环境:Centos 5
2.安装 MySQL、Apache、PHP
tar -xzvf mysql-5.0.22.tar.gz
cd mysql-5.0.22
grep mysql /etc/passwd
查看是否已经有mysql用户
useradd mysql
添加mysql用户,用于运行mysql服务。这样更安全,千万不能用root来运行mysql
./configure --prefix=/usr/local/mysql
将mysql进行配置,指定安装路径
make
进行编译
make install
进行安装
cd /usr/local/mysql/
进入mysql的安装目录
find ./ -name "*.cnf"
查找配置文件模板
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
将模板配置文件改名复制到/etc目录下
/usr/local/mysql/bin/mysql_install_db --user=mysql
生成数据库,必须指定数据库运行的用户名
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
设置目录所属组所属用户
/usr/local/mysql/bin/mysqld_safe --user=mysql&
将数据服务启动,加&是以后台方式运行,可以用jobs来查看后台运行的程序
vi /etc/rc.d/rc.local
在该文件中添加/usr/local/mysql/bin/mysqld_safe --user=mysql&mysql开机就启动
/usr/local/mysql/bin/mysqladmin -u root password '123456'
设置数据库root用户密码为123456
/usr/local/mysql/bin/mysql -u root -p
输入密码测试修改后的密码是否为123456
/usr/local/mysql/bin/mysqladmin -uroot -p variables
查看数据库输出数据(最大连接数,最大连接用户等)
//修改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
killall mysqld
杀死mysql的进程
netstat -an |grep 3306
查看是否还有3306这个端口,没有则表明,已经把进程杀死了
//重新启动MySQL后使用下面的命令查看修改是否成功
# mysqladmin -uroot -p variables
Password:
//可以看到以下项说明修改成功
| max_connections                 | 1000
| max_user_connections            | 500
| wait_timeout                    | 200
 
(2).安装Apache
下载地址:[url]http://httpd.apache.org/[/url]
# 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 [url]www.yourdomain.com[/url]              (或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库的支持)在这里使用yum来对zlib,freetype,libpng.libjpeg等进行更新。也可以选择tar包来安装GD,本文是使用rpm格式安装的最新版本的GD

6).安装GD
yum -y update zlib-devel zlib libpng-devel libpng freetype-devel freetype libjpeg-devel libjpeg fontconfig-devel fontconfig libxml2-devel libxml2 libxml2-python gd-devel gd
 
9).安装PHP
PHP下载地址:[url]http://www.php.net/downloads.php#v5[/url]
tar -zxvf  php-5.2.3.tar.gz
cd php-5.2.3
安装之前要cp /usr/include/gd.h /usr/lib/gd.h 才可以进行后面的编译
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-gd=/usr/lib --with-freetype-dir --with-png-dir --with-jpeg-dir --with-zlib --enable-gd-jis-conv --with-mail --enable-xml --enable-sockets
# make
# make install
# cp php.ini-recommended /usr/local/php/lib/php.ini
# ln –s /usr/local/php5/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
附注,有时候在访问测试页面,并不能出来,这里候要将php.ini中short_open_tag设置为on
或者将测试页的代码写成标准的php格式,要在第一行的?号后面加上php
 
在浏览器中输入:[url]http://www.yourdomain.com[/url]/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部分请参考本blog的NAGIOS部分中有一篇RRDTool安装。
 
2.安装net-snmp
yum install net-snmp*
使用yum可以将net-snmp相关联的包都自动安装为最新版本
 
3.安装Cacti
Cacti官方网站:[url]www.cacti.net/[/url]
# 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/apache2/htdocs/cacti/poller.php > /dev/null 2>&1
注意:首次执行poller.php时请使用cacti用户,否则生成的rrd文件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).在浏览器中输入:[url]http://www.yourdomain.com/cacti/[/url]
默认用户名: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(设置成rrdtool文件所在路径)
PHP Binary Path              /usr/local/bin/php
Cacti Log File Path           /usr/local/apache/htdocs/cacti/log/cacti.log
 
4).进入cacti后需确认更改以下位置:(如下图)
Console>Settings>General
将rrdtool版本改成和安装相匹配的版本
 
如果出现添加了设备,状态为未知,可以查看cacti目录下的rra目录中是否有数据产生,如果没有任何文件的话,可以切换到cacti用户
su - cacti
再手动执行生成数据的命令
/usr/local/bin/php /usr/local/apache2/htdocs/cacti/poller.php
再正常的话会有文件生成了,前提是必须已经添加了设备
 
也可以使用tail -f /var/log/cron 查看计划任务中是否执行了



     本文转自fine102 51CTO博客,原文链接:http://blog.51cto.com/gzmaster/73121,如需转载请自行联系原作者


 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用Java connector消费ABAP系统的函数
使用Java connector消费ABAP系统的函数
22 0
使用.NET REACTOR制作软件许可证
原文:使用.NET REACTOR制作软件许可证 软件下载地址:http://www.eziriz.com/downloads.htm    做一个简单的许可证系统,下面是具体步骤:   1,  OPEN ASSEMBLY打开项目可执行文件(debug文件夹里面exe文件)。
947 0
c++ GDI 中SelectObject使用方法和注意事项
介绍 CPen* SelectObject( CPen* pPen ); CBrush* SelectObject( CBrush* pBrush ); virtual CFont* SelectObject( CFont* pFont ); CBitmap* SelectObject( CBitmap* pBitmap ); int SelectObject( CRgn* pRgn ); CGdiObject* SelectObject( CGdiObject* pObject ); 函数功能:该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象。
1240 0
21117
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载