Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具,使用PHP开发,它是由一些PHP页面组成软件,主要针对企业的大量网络设备、服务器主机***能监测服务,可提供对CPU负载、内存占用、运行进程数、磁盘空间、网卡流量等各种数据信息的监测,cacti注重的是状态监控,报警和服务恢复功能比较差。
官方站点:http://www.cacti.net
Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下,一般以rra为后缀名称)。简单原理图如下:
开始Cacti安装部署
机器IP地址:192.168.1219.129
软件下载:
[root@rhel64 ~]# wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
[root@rhel64 ~]# wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz
[root@rhel64 ~]# wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8a.tar.gz
安装lamp环境:
[root@rhel64 ~]# yum -y install httpd mysql mysql-server php php-mysql php-json php-pdo
安装相关的lib库:
[root@rhel64 ~]# yum -y install cairo-devel libxml2-devel pango pango-devel
安装编译器:
[root@rhel64 ~]# yum -y install gcc make gcc-c++ autoconf automake
解压编译软件:
[root@rhel64 ~]# tar zxf rrdtool-1.4.5.tar.gz
[root@rhel64 ~]# cd rrdtool-1.4.5
[root@rhel64 rrdtool-1.4.5]# ./configure --prefix=/usr/local/rrdtool/
[root@rhel64 rrdtool-1.4.5]# make && make install
[root@rhel64 rrdtool-1.4.5]# ln -s /usr/local/rrdtool/bin/* /usr/local/bin/
安装snmp服务:
[root@rhel64 rrdtool-1.4.5]# yum -y install net-snmp net-snmp-utils
安装Cacti主程序:
[root@rhel64 ~]# tar zxf cacti-0.8.8a.tar.gz && mv cacti-0.8.8a /var/www/html/cacti
创建Cacti数据库:
[root@rhel64 ~]# service mysqld start
[root@rhel64 ~]# /usr/bin/mysqladmin -u root -h rhel64 password '123456'
[root@rhel64 ~]# /usr/bin/mysqladmin -u root password '123456'
[root@rhel64 ~]# mysql -uroot -p
mysql> create database cacti; Query OK, 1 row affected (0.00 sec) mysql> grant all on cacti.* to cacti@'localhost' identified by "123456"; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> |
把Cacti数据导入Cacti数据库:
[root@rhel64 ~]# mysql -ucacti -p123456 cacti</var/www/html/cacti/cacti.sql
[root@rhel64 ~]# chmod -R 777 /var/www/html/cacti/rra
[root@rhel64 ~]# chmod -R 777 /var/www/html/cacti/log
[root@rhel64 ~]# vi /var/www/html/cacti/include/config.php
<?php /* +-------------------------------------------------------------------------+ | Copyright (C) 2004-2012 The Cacti Group | | | | This program is free software; you can redistribute it and/or | | modify it under the terms of the GNU General Public License | | as published by the Free Software Foundation; either version 2 | | of the License, or (at your option) any later version. | | | | This program is distributed in the hope that it will be useful, | | but WITHOUT ANY WARRANTY; without even the implied warranty of | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | GNU General Public License for more details. | +-------------------------------------------------------------------------+ | Cacti: The Complete RRDTool-based Graphing Solution | +-------------------------------------------------------------------------+ | This code is designed, written, and maintained by the Cacti Group. See | | about.php and/or the AUTHORS file for specific developer information. | +-------------------------------------------------------------------------+ | http://www.cacti.net/ | +-------------------------------------------------------------------------+ */ /* make sure these values refect your actual database/host/user/password */ $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cacti"; $database_password = "123456"; $database_port = "3306"; $database_ssl = false; /* Edit this to point to the default URL of your Cacti install ex: if your cacti install as at http://serverip/cacti/ this would be set to /cacti/ */ //$url_path = "/cacti/"; /* Default session name - Session name must contain alpha characters */ //$cacti_session_name = "Cacti"; ?> |
[root@rhel64 ~]# setenforce 0
[root@rhel64 ~]# crontab -e
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php >>/tmp/cacti_rrdtool.log 2>&1
http://192.168.1219.129/cacti/
一直点击next下去即可,用户名和密码默认是admin.admin,第一次登陆需要修改密码。
定义监控哪些设备:
控制面版-->建立设备-->定义设备-->为设备生成图像-->在图像树中添加新设备
console-->Devices-->add(左上角)-->define devices-->Create Graphs for this Host-->create
在被监控客户机上要安装net-snmp,41行那里要填写监控端的IP地址。
[root@rhel64 ~]# yum -y install net-snmp
[root@rhel64 ~]# vim /etc/snmp/snmpd.conf
62 access notConfigGroup "" any noauth exact all none none
41 com2sec notConfigUser 192.168.1219.129 public
85 view all included .1 80
[root@rhel64 ~]# service snmpd start
待续...