一.Cacti的介绍
三.Cacti工作原理
四.名词解释
1. RRDtools
使用RRDtool来存储和处理通过SNMP收集到的数据开始.这些数据很可能是某个网络或计算机接收或发送的字节数(比特数).它也可以用来显示潮水的波浪、阳光射线、电力消耗、展会的参观人员、机场附近的噪音等级、你喜欢的度假区的温度、电冰箱的温度、以及任何你可以想象的东西.
你最需要一个度量数据,以及能够提供这些数据给RRDtool的感应器就可以了.RRDtool会让你创建数据库、存储数据、提取数据、创建用于在Web浏览器中显示的PNG格式的图像.这些PNG图像以来于你收集的数据,它可以是网络平均使用率、峰值.
2.RRD
Round Robin Database环状数据库
3.SNMP
snmp(Simple Network Management Protocal, 简单网络管理协议)在架构体系的监控子系统中将扮演重要角色.大体上,其基本原理是,在每一个被监控的主机或节点上 (如交换机)都运行了一个 agent,用来收集这个节点的所有相关的信息,同时监听 snmp 的 port,也就是 UDP 161,并从这个端口接收来自监控主机的指令(查询和设置).
如果使用 RHEL5 的 net-snmp,那么被监控主机需要安装 net-snmp(包含了 snmpd 这个 agent),而监控端需要安装 net-snmp-utils.如果自行编译,需要 beecrypt(libbeecrypt)和 elf(libraryelf)的库.
每一个 agent 维护一个树形的数据库,称为 MID(Management Information Base, 管理信息库),其每一个节点称为 Object Identifier(OID),这在使用 net-snmp-utils 的工具时会用到.这些节点就表示了这台主机系统的设备如网卡的接口描述(eth0 等)、物理地址(MAC)、接口类型等,也可能是系统的信息,或者是需要监控的进程等...
五.应用场景极其优点
常见应用
服务器资源:CPU、内存、磁盘、进程、连接数等
服务器类型:WEB、Mail、FTP、数据库、中间件
网络接口:流量、转发速度、丢包率
设备运行状态:风扇、电源、温度
机房运行环境:电流、电压、温湿度
优点:
开源性;
界面 相对其它监控软件漂亮,能划出漂亮的数据图;
跨平台监控;
可扩展性
六.Cacti 安装与配置
1.安装依赖包:
yum -y install httpd php php-mysql php-snmp mysql mysql-server perl-DBD-MySQL php-pdo net-snmp net-snmp-libs net-snmp-utils net-snmp-devel ruby ruby-devel
2.设置开机启动snmpd,httpd,mysqld 服务
启动服务:service snmpd start
service httpd start
service mysqld start
开机自启:chkconfig snmpd on
chkconfig httpd on
chkconfig mysqld on
3.下载最新的RRDTools rpm包,进行安装
rrdtool-1.4.4-1.el5.wrl.i386
rrdtool-perl-1.4.4-1.el5.wrl.i386
rrdtool-ruby-1.4.4-1.el5.wrl.i386
使用yum安装:yum -y localinstall --nogpgcheck rrdtool-*.rpm
4.配置snmp
# vim /etc/snmp/snmp.conf
将com2secnotConfigUser default public
改为:com2secnotConfigUser 127.0.0.1 public (这是监控本地,被监控主机设置)
将access notConfigGroup “” any noauth exact systemview none none
改为:accessnotConfigGroup”" any noauth exact all none none
#view all included .1 80
将前面的 # 注释去掉.
重新启动 snmp 服务:service snmpd restart
5.安装cacti数据以及模板
配置mysql数据库
# mysql
Mysql > CREATE DATABASE cacti;
Mysql > grant all privileges on cacti.* to cacti@localhost identified by ‘cacti’;
Mysql > grant all privileges on cacti.* to cacti@127.0.0.1 identified by ‘cacti’;
Mysql > |