cacti的介绍、安装、配置、及维护
一、cacti的介绍
Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结 构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。
cacti工作流程图:

具体详见cacti官网:http://www.cacti.net/
cacti 安装环境:Cacti requires MySQL, PHP, RRDTool, net-snmp, and a webserver that supports PHP such as Apache or IIS.
二、安装:
1、配置LAMP环境
yum -y install mysql mysql-server mysql-devel
yum -y install httpd php php-mysql
2、安装rrdtool工具和SNMP包
检查安装依赖包:yum -y install zlib freetype libjpeg fontconfig gd libxml2 php-gd
rrdtool安装:yum -y install perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool perl-DBD-MySQL
snmp安装:yum -y install php-pdo lm_sensors net-snmp php-snmp net-snmp-utils
3、cacti安装
tar -zxvf cacti-0.8.8b.tar.gz
mv cacti-0.8.8b /var/www/html/cacti
4、配置cacti
a>配置httpd服务
vim /etc/httpd/conf.d/cacti.conf (添加如下行,或在/etc/httpd/conf/httpd.conf)
Alias /cacti /var/www/html/cacti
<Directory /var/www/html/cacti>
DirectoryIndex index.php
AllowOverride all
order deny,allow
deny from all
allow from all
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc on
php_flag track_vars on
</Directory>
vim /etc/httpd/conf/httpd.conf (修改如下行:)
ServerName localhost:80 (276行)
vim /etc/php.ini
date.timezone = PRC (946行)
启动httpd服务:service httpd start
b>配置mysql并导入cacti.sql
service mysqld start
mysqladmin -u root password '123456' (设置数据库密码)
mysql -uroot -p123456
mysql> create database cacti;
mysql> grant all on cacti.* to cacti@'localhost' identified by '';
mysql> flush privileges;
mysql -u cacti -p123456 -D cacti < /var/www/html/cacti/cacti.sql (导入数据库)
c>安装配置snmpd服务
vim /etc/snmp/snmpd.conf (修改如下行:)
com2sec notConfigUser 127.0.0.1 public
access notConfigGroup "" any noauth exact all none none
view all included . 80
启动snmpd服务:service snmpd start
d> 配置cacti目录权限
useradd cacti -d /var/www/html/cacti -s /bin/false
chown -R root:root /var/www/html/cacti/
chown -R cacti:cacti /var/www/html/cacti/rra /var/www/html/cacti/log
e> 配置cacti连接数据库
vim /var/www/html/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = ""; (cacti密码:grant allon cacti.* to cacti@'localhost' identified by'123456';)
$database_port = "";
$database_ssl = false;
f> 配置完成,设置服务开机自启动
chkconfig httpd on
chkconfig mysqld on
chkconfig snmpd on
g> 配置cron计划任务
crontab -u cacti -e
*/ * * * * /usr/bin/php /var/www/html/cacti/poller.php &>/dev/null
5.插件setting,thold,monitor 安装:
下载地址:http://docs.cacti.net/plugins
在安装thold插件,必须先安装settings插件,后安装thold插件。因为settings插件提供email的相关设置,thold插件的报警功能是根据settings里的设置来决定发送邮的。
tar xf settings-v0.-.tgz -C /var/www/html/cacti/plugins
tar xf thold-v0.4.9-.tgz -C /var/www/html/cacti/plugins
tar xf monitor-v1.-.tgz -C /var/www/html/cacti/plugins
vim /var/www/html/cacti/include/config.php
//$url_path = "/cacti/"; 在这一行下面添加一行
$plugins[] = 'settings';
$plugins[] = 'thold';
$plugins[] = 'monitor';
保存后,打开cacti网页,

保证最后一个页面没有红色报错,完成。
首次登陆用户名密码:admin、admin
启用插件console-->plugin management-->将插件安装与启用,如下图表示已经正确启用。

a>设置邮件报警通知
# 设置邮件发送服务:https://www.cnblogs.com/weijie0717/p/10309584.html
在Console---->setting------>mail/DNS中修改!选择 Mail Services :SMTP

7.安装spine
下载地址:http://www.cacti.net/downloads/spine/
tar zxf cacti-spine-0.8.8b.tar.gz
cd cacti-spine-0.8.8b
./configure --prefix=/usr/local/cacti-spine
如果安装报错:configure: error: Cannot find SNMP headers. Use --with-snmp= to specify non-default path.
解决方案:
#yum -y install net-snmp-devel
重新执行:
#./configure --prefix=/usr/local/cacti-spine
#make && make install
#cd /usr/local/cacti-spine/etc/
#cp spine.conf.dist spine.conf
#vim spine.conf
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass
DB_Port
DB_PreG
使用:#/usr/local/cacti-spine/bin/spine --conf=/usr/local/cacti-spine/etc/spine.conf 命令测试spine是否正确安装,如果输入下面信息表示安装成功:
SPINE: Using spine config file [/usr/local/cacti-spine/etc/spine.conf]
SPINE: Version 0.8.8b starting
SPINE: Time: 0.2112 s, Threads: 5, Hosts: 4
打开cacti网页 Console->setting-> poller 将poller type 改为:spine
setting-> Paths-->Spine Poller File Path添加路径: /usr/local/cacti-spine/bin/spine 保存。
8.安装 weathermap 插件
weathermap是cacti中大家使用最多的插件之一,用它可以制作出漂亮的网络拓扑图,并且可以使点到点之间的流量表现的更加直观具体。

安装weathermap包:
wget http://network-weathermap.com/files/php-weathermap-0.97c.zip unzip php-weathermap-.97c.zip -d /var/www/html/cacti/plugins chown -R apache:apache /var/www/html/cacti/plugins/weathermap/configs/ chown -R apache:apache /var/www/html/cacti/plugins/weathermap/output/
启用插件console-->plugin management-->将插件安装与启用,如下图表示已经正确启用。

vim /var/www/html/cacti/include/config.php
//$url_path = "/cacti/"; 在这一行下面添加一行
$plugins[] = 'weathermap';

如果出现如下错误:

修改 /var/www/html/cacti/plugins/weathermap/editor.php
$ENABLED=false 改为 true。
$ignore_cacti=False 改为:true
点击:Editor

cacti的介绍、安装、配置、及维护的更多相关文章
- Cacti的基本安装配置
////////////////////cacti///////////////////////////常用的监控软件有:cacti.nagios.zabbix等 cacti 重图形.有数据历史.需要 ...
- Nginx介绍,安装,配置
引言 为什么要学习Nginx 问题一: 客户端到底要将请求发送给哪台服务器? 问题二: 如果所有客户端的请求都发送给了服务器1,那另一台岂不是废了 问题三: 客户端发送的请求可能是申请动态资源的,也可 ...
- IntelliJ IDEA使用教程一 介绍&安装&配置
http://blog.csdn.net/nextyu/article/details/47206015 全套
- 长平狐 Android-x86虚拟机安装配置全攻略
Android-x86虚拟机安装配置网上有很多,但是全部说明白的确不多,希望这篇文章能把主要的配置介绍给您,帮助您少走一些弯路. 本文分别针对VMWare和Virtual Box两种虚拟机介绍安装配置 ...
- Android-x86虚拟机安装配置全攻略
转自Android-x86虚拟机安装配置全攻略 注:这里安装从简,具体请参考虚拟机Vmware安装运行安卓4.0详细教程 Android-x86虚拟机安装配置网上有很多,但是全部说明白的确不多,希望这 ...
- Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解
随着图像识别和深度学习领域的迅猛发展,GPU时代即将来临.由于GPU处理深度学习算法的高效性,使得配置一台搭载有GPU的服务器变得尤为必要. 本文主要介绍在Ubuntu 16.04环境下如何配置Ten ...
- Windows上安装配置SSH教程(8)——综合应用:在Windows上使用手动方式实现SSH远程登陆与文件传输
服务器端操作系统:Windows XP 客户端操作系统:Windows10 安装与配置顺序 1.服务端安装OpenSSH 2.服务端配置OpenSSH 3.客户端安装OpenSSH 4.客户端安装Wi ...
- Windows上安装配置SSH教程(6)——综合应用:在Windows上实现SSH远程登陆与文件传输
----------------- 声明:本教程现已经弃用.由于客户端同时安装Cygwin和OpenSSH for Windows会出现问题(Cygwin的shell下无法使用ssh命令),建议直接在 ...
- kudu介绍及安装配置
kudu介绍及安装配置 介绍 Kudu 是一个针对 Apache Hadoop 平台而开发的列式存储管理器.Kudu 共享 Hadoop 生态系统应用的常见技术特性: 它在 commodity har ...
随机推荐
- for break
public static void main(String[] args) { aaa: for (int j = 0; j < 2; j++) { System.out.println(&q ...
- python 0,1行列问题
shape[0]-- 行 A.min(0) --A的按列最小值,生成一个行向量 >>> a = np.random.rand(3,3) >>> a array([[ ...
- django admin 支持时间更改
from django.db import models import django.utils.timezone as timezone class Doc(models.Model): add_d ...
- Python的深copy和浅copy
浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象. 浅copy: a = [1, 2, ...
- Linux 开机启动 php socket
问题 php socket 服务在服务器重启后无法自动启动,需要添加开机启动脚本.有以下问题 开机延迟3分钟后,再启动socket服务 socket服务有3个模块需要按照先后顺序启动 registe ...
- 东芝 B-EV4 打印机 串口打印命令
最近在做项目时候使用了东芝的B-EV4打印机,在打印Excel时候由于字体太小,导致打印非常模糊.只能通过串口名称发送打印指令进行打印.在做项目的时候查了很多关于B-EV4打印机的资料,和打印命令.资 ...
- OSS阿里云上传文件 前端js下载url跨域问题
场景: 1.后端上传文件至阿里云OSS,返回得到一个URL. 2.前端用这个URL下载文件,ajax请求异常:No 'Access-Control-Allow-Origin' header is pr ...
- 【java】final修饰符介绍
final: 最终,作为一个修饰符特点:1.可以修饰类,函数,变量2.被final修的的类不能被继承.因此类用final修饰可以避免被继承,被子类重写功能.3.被final修饰的方法不可以被重写.4. ...
- CSS之padding&margin
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ssh免密钥之上厕所
ssh服务简单介绍 SSH协议框架中最主要的部分是三个协议: *传输层协议(The Transport Layer Protocol)提供服务器认证,数据机密性,信息完整性等的支持; *用户认证协议( ...