实验环境:
物理主机 redhat7.0 内核版本 3.10.0-123.el7.x86_64
虚拟机 redhat6.5 内核版本 2.6.32-431.el6.x86_64
server10.example.com 172.25.254.10
所需软件包: cacti-0.8.8h.tar.gz
cacti-spine-0.8.8h.tar.gz
php-snmp-5.3.3-26.el6.x86_64.rpm
monitor-v1.3-1.tgz
1.Cacti 简介
cacti 是用 php 语言实现的一个软件,它的主要功能是用 snmp 服务获取数据, snmp 需要的变量数据是通过读取 mysql 数据库得到,然后用 rrdtool 储存和更新数据,当用户需要查看数据的时候用 rrdtool 生成图表呈现给用户。
rrdtool 对数据的更新和存储就是对 rrd 文件的处理,rrd 文件是大小固定的档案文件,它能够存储的数据笔数在创建时就已经定义。
1. Snmp 用来收集数据;
2. Rrdtool 用来存储数据和生成图表;
3. Mysql 用来配合 PHP 程序存储一些变量数据并对变量数据进行调用。
2.cacti基本配置
(1)[root@server10 mnt]# yum install httpd -y
[root@server10 mnt]# tar -zxf cacti-0.8.8h.tar.gz
[root@server10 mnt]# mv cacti-0.8.8h /var/www/html/cacti
(2)[root@server10 mnt]# yum install php php-mysql mysql-server -y
##简单的lnmp架构
[root@server10 mnt]# yum install rrdtool -y
(3)[root@server10 mnt]# yum install php-snmp-5.3.3-26.el6.x86_64.rpm -y
##php-snmp的版本要和php的版本相同
(4)配置数据库
[root@server10 mnt]# /etc/init.d/mysqld start ##打开数据库
[root@server10 mnt]# mysql_secure_installation ##数据库安全初始化,给一个root密码,接下来都是y
[root@server10 mnt]# mysql -uroot -p ##查看数据库是否初始化正确,我给的root密码是westos
[root@server10 mnt]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.1.71 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
+--------------------+
2 rows in set (0.00 sec)
mysql>
cd /var/www/html/cacti
<1> mysqladmin -pwestos create cacti ##创建cacti数据库用户
<2> mysql -pwestos cacti < cacti.sql ##将cacti.sql表导入cacti数据库
<3> mysql -predhat -e "grant all on cacti.* to cacti@localhost identified by 'redhat';" ##将cacti数据库的所有内容的权限赋给本地用户cacti
<4> mysql -ucacti -predhat ##进入cacti数据库查看一下
《1》show databses;
《2》use cacti;
《3》show tatbls;
(5)配置cacti的apache访问页
cd /var/www/html/cacti/include/
<1>vim config.php
29 $database_username = "cacti";
30 $database_password = "redhat";
39 $url_path = "/cacti/";
42 $cacti_session_name = "Cacti";
<2>/etc/init.d/httpd restart ##重启apache
<3>浏览器访问http://172.25.254.10/cacti/ ##注意虚拟机和物理机的时间要同步
(6)浏览器访问时有红色警告出现,那是因为cacti服从snmp协议,虚拟机上当然要有这个协议支持咯!
(7)yum install net-snmp-utils -y ##安装snmp协议
useradd -u 1000 -M -d /var/www/html/cacti cacti ##/var/www/html/cacti里的文件的所属用户和用户组都是id(1000),这是因为用户不存在,我们需要建立一个id=1000用户,安全第一
su - cacti
<1>crontab -e ##编辑定时任务
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
<2>crontab -l ##查看定时任务
浏览器刷新查看
(8)网页登陆,密码为admin,然后改密码
基本的安装就完成了,现在正在监控虚拟机主机。