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 ...
随机推荐
- Yii2项目高级模版 三个模块在同一个目录下的重定向配置
最近做项目用到的,非常好用. 修改 advanced/backend/config/main.PHP 文件如下: return [ 'homeUrl' => '/admin', 'compone ...
- MySQL Error--Error Code
mysql error code(备忘) 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导 ...
- Linux内核分析第三次作业
实验:mykernel时间片轮转多道程序内核 进入实验楼实验,在终端中分别输入以下命令 cd LinuxKernel/linux-3.9.4 rm -rf mykernel patch -p1 < ...
- 第二章 C#语法基础 (2.2 C#语言的运算符和表达式)
[案例]本案例通过随机数发生器随机产生三条边,要求输出三天边长(边长长度为1~20的整数),并判断是否可以构成一个三角形. 如果可以,则计算出三角形面积,否则输出信息”三条随机的边不能构成三角形“. ...
- CSRF的防御解决过程
CSRF是什么,就不多说,网络上的帖子多的去了,关于其定义. 这里主要介绍我们项目中,是如何解决这个问题的.方案比较简单,重点是介绍和记录一下遇到的问题和一些小的心得. 1. 解决方案 A. 用户登录 ...
- Spring生态研习【三】:Spring-kafka
1. 基本信息介绍 基于spring的kafka应用,非常简单即可搭建起来,前提是要有一个kafka的broker集群.我在之前的博文里面已经介绍并搭建了一套broker环境,参考Kafka研究[一] ...
- unity的一些tips
主要是我知乎上回答的一个关于unity的tip,备忘. 说说我所看到unity相关的,不好的习惯: 1 尽量不要在Awake(), start()等函数内加入业务逻辑的初始化代码.首先无法简便的直接启 ...
- 多版本opencv管理; find_package()的原理解析
近期用cmake编译程序时,报错找不到opencv2.由于我电脑里安装了多个版本的opencv,管理不善,借此机会梳理一下思路. 1. Cmake -- find_package(Opencv REQ ...
- 读取Excel的部分问题
1.office分很多版本,导致Excel连接字符串不同. 2.是否有标题头的问题(在连接字符串中设置) 3.Excel本身删除分数据删除和表格结构删除.普通delete只能删除数据, 还是能读取到表 ...
- nodejs 函数 :html2js
var fs = require("fs"); var path = require("path"); function propStringToMap(ss1 ...