Cacti 是用 php 语言实现的一个软件,它的主要功能是用 snmp 服
务获取数据,然后用 rrdtool 储存和更新数据,当用户需要查看数据的时候用 rrdtool 生成图表呈现给用户。因此,snmp 和 rrdtool 是 cacti
的关键。
Snmp 关系着数据的收集,rrdtool 关系着数据存储和图表的生成。
snmp 抓到数据不是存储在 mysql 中,而是存在 rrdtool 生成的 rrd 文
件中(在 cacti 根目录的 rra 文件夹下,一般以 rra 为后缀名称)。简
单原理图如下:
1) Cacti 服务器端安装
官网下载 cacti 相关软件,一共需要三个软件,下载地址分别如下:
http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz
http://www.cacti.net/downloads/spine/cacti-spine-0.8.8a.tar.gz
2) 安装 LAMP 系统环境
这里采用 yum 安装方式,安装命令:
yum install httpd mysql mysql-server php php-mysql php-json
php-pdo -y
3) 安装 rrdtool 采集工具安装 rrdtool 之前需要安装相应的 lib 库,如下安装:
yum install cairo-devel libxml2-devel pango pango-devel –y
tar xzf rrdtool-1.4.5.tar.gz ;cd rrdtool-1.4.5 ; ./configure --prefix=/usr/
local/rrdtool/
make &&make install ;ln -s /usr/local/rrdtool/bin/ /usr/local/bin/
4) 安装 SNMP 服务
yum install net-snmp net-snmp-utils –y
5) 安装 cacti 主程序
tar xzf cacti-0.8.8a.tar.gz && mv cacti-0.8.8a /var/www/html/cacti/
6) 创建 cacti 数据库
mysql -uroot –p 输入你的密码进入数据库,然后创建数据库:
create database cacti;创建数据库
grant all on cacti. to cacti@'localhost' identified by "123456";创建用户
并授权
flush privileges; 刷新权限
mysql 配置完毕后,把 cacti 数据导入 cacti 数据库
mysql -ucacti -p123456 cacti >/tmp/cacti_rrdtool.log 2 >&1
9) Cacti 安装完毕,测试访问
通过 http://ip/cacti/ 访问出现如下界面,点击 NEXT 下一步。
进入 Cacti 配置管理界面
点击 device,可以添加设备,默认可以看到 127.0.0.1 这台服务器。
右上角 Add 可以增加设备。
点击 localhost 可以看到具体的设置,包括采用的 snmp 协议版本,监
控的名称等:
如果出现 snmp error,检查 snmp 服务是否已启动,或者是否有权限。
出现如上信息则表示正常。
点击左上角第二个按钮,graphs 查看 cacti 图像—选择 localhost 主机
—右边会显示 cacti 每 5 分钟的监控图像。