一 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已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。


catci_第1张图片

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  

2 安装cacti

wget https://www.cacti.net/downloads/cacti-1.1.38.tar.gz

catci
拷贝配置文件到httpd发布目录
catci
创建软连接
catci

3 mysql数据库相关

1 启动

catci

2 数据库授权

catci

3 使得httpd服务能够访问cacti

catci

4 添加zone的权限,使cacti能够访问此表,此表在mysql数据库中;

catci

5 将其数据库配置导入数据库:

catci_第2张图片

6 设置mysql数据库时区:

catci
第一个mysql为客户端命令,第二个mysql是mysql库,如有用户名和密码,则为

mysql_tzinfo_to_sql /usr/share/zoneinfo/Asia/Shanghai Shanghai             | mysql -uroot(用户名) -p666666(密码,此处密码和-p之间无空格)  mysql

4 配置php相关

1 查看其目录

catci

2 配置与mysql数据库之间的链接

catci_第3张图片

3 配置PHP时区:

catci
catci_第4张图片
重启服务并查看:
catci
catci
catci_第5张图片
至此,安装完成:

三 图形化安装配置

1 安装

catci_第6张图片
catci_第7张图片
catci_第8张图片
catci_第9张图片
catci_第10张图片
catci_第11张图片

2 登录

用户名是admin
初始密码是admin
catci_第12张图片catci_第13张图片
catci_第14张图片

3 修改显示语言:

catci_第15张图片
catci_第16张图片
catci_第17张图片
catci_第18张图片

4 安装插件并配置

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

修改如下字段

[root@localhost ~]# cat  /etc/spine.conf   | grep  ^DB
DB_Host         localhost
DB_Database     cacti
DB_User         cacti
DB_Pass         westos
DB_Port         3306

初始化

/usr/local/spine/bin/spine 

配置 spine路径
catci_第19张图片

设置收据采集方式并保存
catci_第20张图片

5 设置图形驱动

catci
catci
catci
catci

6 设置本机监控
进入并设置
catci_第21张图片
配置主机
catci_第22张图片
保存配置
catci_第23张图片
查看图形
catci_第24张图片

7 添加监控节点:

1 安装snmp 服务

catci
catci
catci
catci_第25张图片

服务端验证
catci

catci_第26张图片

2 配置服务

catci
catci
catci
catci

3 服务端添加站点

catci_第27张图片
catci_第28张图片
此时的版本号是1 ,
catci_第29张图片
catci_第30张图片
catci_第31张图片
catci_第32张图片catci_第33张图片
catci_第34张图片
catci_第35张图片

4 将图形添加到树中

catci_第36张图片
catci_第37张图片
catci_第38张图片
catci_第39张图片

catci_第40张图片
catci_第41张图片