简介
- 基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。
- Cacti通过SNMP(简单网络管理协议)协议来获取数据,使用 RRDtool来描绘图形,而且你完全不需要了解RRDtool复杂的参数。
- 它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看的树状结构、主机以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。
- 官方网站:http://www.cacti.net/
- Cacti的工作结构
- C/S模式,采集监测数据
- B/S模式,管理监测平台
- B/S模式,管理监测平台
部署Cacti
- 配置IP地址、主机名,关闭SELinux
- vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
BOOTPROTO=static ONBOOT=yes IPADDR=172.16.8.172 NETMASK=255.255.255.0 GATEWAY=172.16.8.2 DNS1=114.114.114.114 DNS2=8.8.8.8
- vim /etc/sysconfig/network
HOSTNAME=cti.sevenwin.org
- vim /etc/hosts
172.16.8.172 cti cti.sevenwin.org
- vim /etc/selinux/config
SELINUX=disabled
- reboot
- 基本环境构建
- [root@cti ~]# yum install -y gcc httpd php php-mysql php-snmp mariadbmariadb-devel mariadb-server rrdtool
- [root@cti ~]# yum install -y net-snmp net-snmp-devel net-snmp-utils wget ntp
- 配置并启动NTP服务,支持PHP,保证时间统一并准确
- [root@cti ~]# systemctl enable ntpd.service
- [root@cti ~]# sed -i "s@;date.timezone =@date.timezone =Asia/Chongqing@g" /etc/php.ini
- [root@cti ~]# systemctl start ntpd.service
- 配置MariaDB,并为Cacti创建数据库
- [root@cti ~]# systemctl enable mariadb.service
- [root@cti ~]# systemctl start mariadb.service
- [root@cti ~]# mysqladmin -u root password 9865321
- [root@cti ~]# mysql -u root -p
- MariaDB [(none)]> create database cacti;
- MariaDB [(none)]> create user cactiuser@localhost identified by 'Pa9865321';
- MariaDB [(none)]> grant all on cacti.* to cactiuser@localhost;
- MariaDB [(none)]> flush privileges;
- MariaDB [(none)]> quit
- 安装Cacti
- [root@cti ~]# wget http://www.cacti.net/downloads/cacti-0.8.8h.tar.gz
- [root@cti ~]# tar zxvf cacti-0.8.8h.tar.gz
- [root@cti ~]# mv cacti-0.8.8h /var/www/html/cacti
- [root@cti ~]# cd /var/www/html/cacti/
- [root@cti cacti]# mysql -h localhost -u cactiuser -p cacti<cacti.sql
- Enter password: //上面的步骤导入数据库脚本,初始化Cacti数据库
- [root@cti cacti]# vim ./include/config.php
$database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = “Pa9865321”; //这里改为建库时的脚本 $database_port = "3306"; $database_ssl = false;
- [root@cti cacti]# crontab –e //配置任务计划,每隔1分钟就轮询1次
*/1 * * * * php /var/www/html/cacti/poller.php >/dev/null
- [root@cti ~]# systemctl enable httpd.service
- [root@cti ~]# systemctl start httpd.service //启动Apache
- 4、启动SNMP服务
- [root@cti ~]# systemctl enable snmpd.service
- [root@cti ~]# systemctl start snmpd.service
- 5、配置防火墙规则
- [root@cti ~]# firewall-cmd --permanent --zone=public --add-service=http
- [root@cti ~]# firewall-cmd --zone=public --add-service=http
- [root@cti ~]# firewall-cmd --permanent --zone=public --add-port=161/udp
- [root@cti ~]# firewall-cmd --zone=public --add-port=161/udp
- 6、在浏览器中进行安装配置
- 127.0.0.1/cacti/
- 6.1 点击“Next”
- 6.3 由于前面配置得当,这里直接点击“Finish”即完成
- 6.4 第一次登录,默认的用户名与密码都是“admin”
- 6.5 要求修改管理员登录密码
- 6.6 over
- 轮询插件spine安装
- 7.1 下载并编译安装、配置
- [root@cti ~]# wget http://www.cacti.net/downloads/spine/cacti-spine-
0.8.8h.tar.gz - [root@cti ~]# tar zxvf cacti-spine-0.8.8h.tar.gz
- [root@cti ~]# cd cacti-spine-0.8.8h/
- [root@cti cacti-spine-0.8.8h]# ./configure
- [root@cti cacti-spine-0.8.8h]# make && make install
- [root@cti cacti-spine-0.8.8h]# cp -rf /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
- [root@cti cacti-spine-0.8.8h]# ln -s /usr/local/spine/bin/spine /usr/bin/
- [root@cti cacti-spine-0.8.8h]# vim /etc/spine.conf
DB_Host localhost DB_Database cacti DB_User cactiuser DB_Pass Pa9865321 DB_Port 3306
- [root@cti ~]# wget http://www.cacti.net/downloads/spine/cacti-spine-
- 7.2 在浏览器界面上的配置
- 选择“Setting”>“Paths”>找到“Spine Poller File Path”项,设置值“/usr/bin/spine”
- 然后点击“Save”
- 7.3 在浏览器界面上的配置
- 再选择“Setting”>“Poller”>找到“Poller Type”项,选择“spine”
- 然后点击“Save”
- 7.1 下载并编译安装、配置
- 其它常用插件的安装
- 8.1 下载安装
- [root@cti ~]# wget http://docs.cacti.net/_media/plugin:monitor-v1.3-1.tgz
- [root@cti ~]# mv plugin:monitor-v1.3-1.tgz monitor.tgz
- [root@cti ~]# tar zxf monitor.tgz
- [root@cti ~]# mv monitor /var/www/html/cacti/plugins/
- [root@cti ~]# wget http://docs.cacti.net/_media/plugin:clog-v1.7-1.tgz
- [root@cti ~]# mv plugin:clog-v1.7-1.tgz clog.tgz
- [root@cti ~]# tar zxvf clog.tgz
- [root@cti ~]# mv clog /var/www/html/cacti/plugins/
- [root@cti ~]# wget http://docs.cacti.net/_media/plugin:settings-v0.71-1.tgz
- [root@cti ~]# mv plugin:settings-v0.71-1.tgz settings.tgz
- [root@cti ~]# tar zxvf settings.tgz
- [root@cti ~]# mv settings /var/www/html/cacti/plugins/
- [root@cti ~]# wget http://docs.cacti.net/_media/plugin:thold-v0.5.0.tgz
- [root@cti ~]# mv plugin:thold-v0.5.0.tgz thold.tgz
- [root@cti ~]# tar zxvf thold.tgz
- [root@cti ~]# mv thold /var/www/html/cacti/plugins/
- [root@cti ~]# cd /var/www/html/cacti/plugins/monitor/
- [root@cti monitor]# mysql -u cactiuser -p cacti < monitor.sql
- 8.2 在WUI中设置
- 选择“Plugin Management”中安装并激活这些插件
- 8.1 下载安装
配置Cacti客户端
- 9、Linux(centos6)
- ip:172.16.8.101
- 克隆机器修改mac地址:vi /etc/udev/rules.d/70-persistent-net.rules
- 复制自动生成的mac地址,覆盖掉拷贝过来的地址
- 再编辑ip地址即可
- 克隆机器修改mac地址:vi /etc/udev/rules.d/70-persistent-net.rules
- [root@c65 ~]# yum -y install net-snmp
- [root@c65 ~]# vim /etc/snmp/snmpd.conf
com2sec notConfigUser 172.16.8.172 public access notConfigGroup "" any noauth exact all none none view all included .1 80
- [root@c65 ~]# service snmpd start
- [root@c65 ~]# chkconfig snmpd on
- [root@c65 ~]# iptables -I INPUT -p udp --dport 161 -j ACCEPT
- [root@c65 ~]# iptables -I INPUT -p udp --dport 162 -j ACCEPT
- [root@c65 ~]# service iptables save
- 现在即可在服务端添加主机
- ip:172.16.8.101
- 10、Windows(Server 2012)
- 设置固定的IP地址:172.16.8.102
- 添加角色和功能:snmp
- 服务配置
- snmp service
- 安全-添加:团体权限(只读),社区名称(public)
- 添加服务器:172.16.8.172
- snmp service
- 现在即可在服务端添加主机
关于CactiEZ
- Cacti发行版 CactiEZ
- CactiEZ 是一个基于 CentOS 的 Linux 发行版,主要的目的是为了简化 Cacti 监控系统的安装和配置,装好了就可直接使用Cacti。
- 官网
- http://cactiez.cactiusers.org/
- 中文版Cacti下载地址
- https://sourceforge.net/projects/cnyunwei/files/V11/
- 系统账号
- user:root
- pass:www.nyunwei.com
- 登录账号
- user:admin
- pass:www.nyunwei.com
- 系统账号