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 ...
随机推荐
- Java分布式锁
分布式锁简述 在单机时代,虽然不存在分布式锁,但也会面临资源互斥的情况,只不过在单机的情况下,如果有多个线程要同时访问某个共享资源的时候,我们可以采用线程间加锁的机制,即当某个线程获取到这个资源后,就 ...
- Oracle Sql Loader的学习使用
最近由于遇到oracle控制文件的使用,虽然不是很复杂,但是从来没有用过,专门花点时间看看.点击 这里 查看详细 1,概述: Sql Loader: 一个批量工具,将文件数据导入到数据库.可以导入一个 ...
- Vue 移动端常用tap事件封装
基于Vue的移动端项目,有些时间原生并没用提供,需要我们自己手动封装,可以封装一些自定义指令来供全局使用. 本文封装了 tap, swipe, swipeleft, swiperight, swipe ...
- SQL 查询当天,本月,本周的记录
SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111) ORDE ...
- Eclipse+PyDev 安装和配置
Eclipse+PyDev 安装和配置 2012-03-17 23:23:23 | 17465次阅读 | 评论:0 条 | Python开发有很多工具,其中Eclipse+Pydev 是最常见的一种 ...
- maya中MFnMesh.h使用说明的翻译
由于最近要修改一个maya中的deformer脚本,于是开始系统学习openMaya的一些知识,当然少不了得把一堆头文件说明看一遍.首先把MFnMesh.h这个文件翻译一下吧,不废话,上译文: 首先M ...
- Scrapy学习篇(十一)之设置随机User-Agent
大多数情况下,网站都会根据我们的请求头信息来区分你是不是一个爬虫程序,如果一旦识别出这是一个爬虫程序,很容易就会拒绝我们的请求,因此我们需要给我们的爬虫手动添加请求头信息,来模拟浏览器的行为,但是当我 ...
- LeetCode【83. 删除排序链表中的重复元素】
我最开始的程序是 但是结果
- 关于spring boot在IDE工具中可以启动成功,但是打成jar包以及运行jar包失败的问题
1. 运行jar包报错,如下图: 2. 首先,找到pom.xml,把下面的build块中的内容改成如下所示: 3. 然后,请千万不要用Intellij idea来打包项目为Jar,你应该来到项目的根目 ...
- WordPress版微信小程序2.1.5版发布
WordPress版微信小程序功能已经基本完善,利用这套程序,搭配WordPress提供的rest api,WordPress网站的站长可以快速搭建属于自己的网站微信小程序 . WordPress版微 ...