一 catci 介绍:
1 概述
Cacti 是通过 snmpget 来获取数据, 使用 RRDtool 绘画图形, 而且你完全可以不需要了解 RRDtool 复杂的参数. 它提供了非常强大的数据和用户管理功能, 可以指定每一个用户能查看树状结构, host 以及任何一张图, 还可以与 LDAP 结合进行用户验证, 同时也能自己增加模板, 功能非常强大完善. 界面友好. 软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件, 除了基本的 Snmp 流量跟系统资讯监控外, Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图.
cacti 是用 PHP 语言实现的一个软件, 它的主要功能是用 snmp 服务获取数据, 然后用 rrdtool 储存和更新数据, 当用户需要查看数据的时候用 rrdtool 生成图表呈现给用户. 因此, snmp 和 rrdtool 是 cacti 的关键. Snmp 关系着数据的收集, rrdtool 关系着数据存储和图表的生成.
MySQL 配合 PHP 程序存储一些变量数据并对变量数据进行调用, 如: 主机名, 主机 ip,snmp 团体名, 端口号, 模板信息等变量.
snmp 抓到数据不是存储在 MySQL 中, 而是存在 rrdtool 生成的 rrd 文件中(在 cacti 根目录的 rra 文件夹下).rrdtool 对数据的更新和存储就是对 rrd 文件的处理, rrd 文件是大小固定的档案文件(Round Robin Archive), 它能够存储的数据笔数在创建时就已经定义. 关于 RRDTool 的知识请参阅 RRDTool 教学.
2 snmp 介绍:
简单网络管理协议 (SNMP), 由一组网络管理的标准组成, 包含一个应用层协议(application layer protocol), 数据库模型(database schema) 和一组资源对象. 该协议能够支持网络管理系统, 用以监测连接到网络上的设备是否有任何引起管理上关注的情况. 该协议是互联网工程工作小组 (IETF,Internet Engineering Task Force) 定义的 internet 协议簇的一部分. SNMP 的目标是管理互联网 Internet 上众多厂家生产的软硬件平台, 因此 SNMP 受 Internet 标准网络管理框架的影响也很大. SNMP 已经出到第三个版本的协议, 其功能较以前已经大大地加强和改进了.
3 MIB
Management Information Base: 管理信息库, 由网络管理协议访问的管理对象数据库, 它包括 SNMP 可以通过网络设备的 SNMP 管理代理进行设置的变量. SMI,Structure of Management Information: 管理信息结构, 用于定义通过网络管理协议可访问的对象的规则. SMI 定义在 MIB 中使用的数据类型及网络资源在 MIB 中的名称或表示.
使用 SNMP 进行网络管理需要下面几个重要部分: 管理基站, 管理代理, 管理信息库和网络管理工具.
管理基站通常是一个独立的设备, 它用作网络管理者进行网络管理的用户接口. 基站上必须装备有管理软件, 管理员可以使用的用户接口和从 MIB 取得信息的数据库, 同时为了进行网络管理它应该具备将管理命令发出基站的能力.
管理代理是一种网络设备, 如主机, 网桥, 路由器和集线器等, 这些设备都必须能够接收管理基站发来的信息, 它们的状态也必须可以由管理基站监视. 管理代理响应基站的请求进行相应的操作, 也可以在没有请求的情况下向基站发送信息.
MIB 是对象的集合, 它代表网络中可以管理的资源和设备. 每个对象基本上是一个数据变量, 它代表被管理的对象的一方面的信息.
最后一个方面是管理协议, 也就是 SNMP,SNMP 的基本功能是: 取得, 设置和接收代理发送的意外信息. 取得指的是基站发送请求, 代理根据这个请求回送相应的数据, 设置是基站设置管理对象 (也就是代理) 的值, 接收代理发送的意外信息是指代理可以在基站未请求的状态下向基站报告发生的意外情况.
SNMP 为应用层协议, 是 TCP/IP 协议族的一部分. 它通过用户数据报协议 (UDP) 来操作. 在分立的管理站中, 管理者进程对位于管理站中心的 MIB 的访问进行控制, 并提供网络管理员接口. 管理者进程通过 SNMP 完成网络管理. SNMP 在 UDP,IP 及有关的特殊网络协议 (如, Ethernet, FDDI, X.25) 之上实现.
二 软件安装:
1 依赖关系的解决:
- yum -y install mariadb* httpd net-snmp-devel openssl-devel dos2unix autoconf automake binutils libtool gcc cpp glibc-headers kernel-headers glibc-devel help2man PHP-xml PHP-gd net-snmp-devel PHP rrdtool PHP-
- PHP-mbstring PHP-process PHP-snmp.NET-snmp-utils
- wget https://www.cacti.net/downloads/spine/cacti-spine-1.1.36.tar.gz
- tar xf cacti-spine-1.1.36.tar.gz
- cd cacti-spine-1.1.36/
- sh Bootstrap
- ./configure
- make
- make install
- chown root:root /usr/local/spine/bin/spine
- chmod +s /usr/local/spine/bin/spine
- cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
- [[email protected] ~]# cat /etc/spine.conf | grep ^DB
- DB_Host localhost
- DB_Database cacti
- DB_User cacti
- DB_Pass westos
- DB_Port 3306
来源: http://www.bubuko.com/infodetail-3066630.html