【基本介绍】-> 百科
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),它能够存储的数据笔数在创建时就已经定义。
【依赖软件】
web服务器:Apache 或者 nginx 等
Mysql : 用了存储相应的数据
Php : 用来解析cacti
rrdtool :用来生成和存储图表和数据 http://oss.oetiker.ch/rrdtool/
net-snmp : 用来抓取网络数据 http://www.net-snmp.org/
cacti : 用来整合各个软件并呈现 http://www.cacti.net/
【安装环境】
以下的软件在CentOS5.8测试通过
mysql5.1.73
php5.4.24
apache2.2
rrdtool1.4.8
netsnmp5.5
cacti0.8.7
【安装配置net-snmp】
安装[root@NC-1 ~]# yum install -y net-snmp net-snmp-libs net-snmp-utils
配置[root@NC-1 snmp]# vi /etc/snmp/snmpd.conf
# First, map the community name "public" into a "security name"
# sec.name source community
com2sec notConfigUser
127.0.0.1 public
####
# Finally, grant the group read-only access to the systemview view.
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact
all none none
## incl/excl subtree mask
view all included .1 80 (去掉前面的注释 “#”)
检测snmp,如果一下命令没有数据在检查snmp配置
[root@NC-1 ~]# snmpwalk -c public -v 2c localhost
[root@NC-1 ~]# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex
【安装rrdtool】
这里用编译安装源码方式
检测rrdtool命令是否成功
RRDtool 1.4.8 Copyright 1997-2013 by Tobias Oetiker <tobi@oetiker.ch>
Compiled Jun 18 2014 03:06:44
Usage: rrdtool [options] command command_options
Valid commands: create, update, updatev, graph, graphv, dump, restore,
last, lastupdate, first, info, fetch, tune,
resize, xport, flushcached
RRDtool is distributed under the Terms of the GNU General
Public License Version 2. (www.gnu.org/copyleft/gpl.html)
For more information read the RRD manpages
【安装cacti】
解压源码到web的documentroot下面(例如/var/www/html/cacti)
【mysql安装配置】
mysql安装省略
创建cacti数据库
[root@NC-1 ~]# mysqladmin -u root -p create cacti
给cacti数据库的用户权限
mysql> grant all on cacti.* to cactiuser@localhost identified by 'cacti123!@#';
mysql> flush privileges;
mysql> quit
导入cacti的数据,cacti.sql在源码的根目录下面
[root@NC-1 cacti]# mysql -uroot -pNCroot cacti<cacti.sql
为cacti配置数据库连接
[root@NC-1 ~]# vim /var/www/html/cacti/include/config.php
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti123!@#";
$database_port = "3306";
$database_ssl = false;
【apache/nginx php】
apache+php : php是作为apache的一个模块来使用的。在编译的时候要注意参数,使他们支持相应的模块
nginx+php+fpm : nginx使用php是通过fpm来实现的。相应配置php-fpm
【后续】
首次登入cacti会进入cacti installation guide,进行相应的配置。
初始用户名和密码是admin,登入成功后强制修改
制定cron,持续生成相应的rrd文件
*/5 * * * * /usr/local/bin/php /usr/local/apache/htdocs/cacti/poller.php > /dev/null 2>&1
【错误总结】
1.很大部分是跟php有关系,本来对Php语言不是很熟悉大部分百度
例如:
(1)It is not safe to rely on the system's timezone settings.
在php.ini里面配置时区 date.timezone ="Asia/Shanghai"
(2)PHP Strict Standards: Only variables should be passed by reference in /usr/local/nginx/html/cacti/lib/ping.php on line 382
好似跟php版本有关系
socket_select($r = array($this->socket), $w = NULL, $f = NULL, $to_sec, $to_usec)
->>>>>>改为
$r = array($this->socket);
$w = NULL;
$f = NULL;
socket_select($r, $w, $f, $to_sec, $to_usec)
2.使用rrdtool的问题主要是对perl的支持问题
(1) Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 3.BEGIN failed--compilation aborted at Makefile.PL line 3.
安装perl扩展: yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
3.不能生成rrd文件(页面上没有图片生成)
页面没有图片检查相应的rrd文件是否生成。可以手动执行(根据情况添加参数--debug --force)并解决相应的错误。这里忽略cron和执行时间间隔太短的问题
/usr/local/php5.4.24/bin/php /var/www/html/cacti/poller.php
4.页面有图片但是没有数据
还是去检查rrd文件是否更新和是否有数据(没数据的话都是nan)
列如:
rrdtool fetch localhost_users_6.rrd AVERAGE | grep -v nan
users
1403174100: 2.0000000000e+00
1403174400: 2.0000000000e+00
数据都是nan的话在页面上开启debug模式查看cacti的log看具体问题
5.权限问题
我一般是把rra plugins log这3个文件夹权限弄成777.cmd.php添加执行权限。关于用户名,这里并没有设置全部都是root
6.log里面执行语句都正常但是rrd文件就是没数据
我是手动执行update后就都有数据产生了
/usr/local/bin/rrdtool update /usr/local/nginx/html/cacti/rra/localhost_cpu_system_17.rrd --template cpu_system N:12377
【参考】
http://blog.sina.com.cn/s/blog_4e424e2101000b5y.html
http://oss.oetiker.ch/rrdtool/pub/?M=D
http://www.cacti.net/downloads/
http://88fly.blog.163.com/blog/static/1226803902011290280920/?suggestedreading
分享到:
相关推荐
### Cacti安装配置知识点详解 #### 一、Cacti简介及应用场景 Cacti是一款基于Web的网络流量监控工具,它通过收集网络设备的数据并以图表的形式展示出来,帮助管理员直观地了解网络设备的状态。Cacti支持多种数据...
### (三)Cacti配置与优化 #### 1. 配置SNMP 编辑`/etc/snmp/snmpd.conf`文件,设置SNMP的community string和其他参数: ```conf rocommunity public default sysLocation Unknown sysContact Root ``` #### 2. ...
在这个“cacti安装配置全套”中,您将找到关于如何在您的系统上安装和配置Cacti的详细步骤。 1. **环境准备**:Cacti通常在Linux环境下运行,常见的选择包括Ubuntu、CentOS等。确保你的系统已安装了LAMP(Linux、...
Cacti安装配置手册 Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用RRDtool绘画图形,而且您完全可以不需要了解RRDtool复杂的参数。因此,snmp和rrdtool是...
教程名称:Cacti安装配置及优化文档教程课程目录:【】cacti 完全文档【】snmpb【开源的MIB浏览器】【】【一】安装配置Cacti Nginx PHP MYSQL【】【三】为Cacti监控添加Cisco路由器【】【二】修改cacti轮询时间精度,...
以下是对Cacti安装配置的详细步骤的深入解释: 1. **安装MySQL数据库**: MySQL是Cacti用来存储图形和数据的主要数据库系统。首先,你需要创建一个名为`mysql`的用户组和用户,然后解压并编译安装MySQL。执行`./...
本篇文章将详细介绍如何在Linux系统上安装和配置Cacti,帮助你掌握网络监控的关键技能。 首先,Cacti的安装过程通常涉及以下步骤: 1. **系统准备**:确保你的Linux服务器已经安装了LAMP(Linux、Apache、MySQL、...
【Cacti 系统监控工具安装配置详解】 Cacti 是一款基于 Web 的网络监控和性能图形化工具,常用于监控服务器、网络设备的性能数据。本文将详细介绍如何在 CentOS 5.4 x86_64 环境下安装配置 Cacti。 ### 一、准备...
Cacti是一款流行的开源网络流量监测和图形分析工具,它基于PHP, MySQL, SNMP以及RRDTool开发而成。...通过正确安装和配置Cacti,运维团队可以提高对网络和系统的监控效率,为保障系统稳定运行和优化性能提供有力支持。
在本文中,我们将深入探讨Cacti的安装和配置过程,以及如何进行设备监控图的设置。 首先,Cacti的安装通常在Linux环境中进行,需要一些基础的软件包,包括Apache Web服务器、PHP解释器以及MySQL数据库。确保PHP已经...
很好的一篇文章,真的很好,超好,good
下面我们将详细介绍Cacti的安装过程以及配置要点。 **1. 安装环境准备** 在开始安装Cacti之前,你需要确保服务器已经安装了以下基础软件: - Linux操作系统:如Ubuntu、CentOS等。 - Apache或Nginx Web服务器。 - ...
根据提供的文件信息,可以看出这份文档主要记录了Cacti监控系统的安装步骤,涉及MySQL数据库、Apache Web服务器以及...这些是搭建Cacti监控系统的基础,确保这些组件正确安装后,才能继续进行后续的Cacti安装配置工作。
在CentOS系统上,安装Cacti通常涉及多个步骤,包括安装必要的软件包、配置数据库、设置权限等。本文将详细介绍如何使用一键安装脚本来简化这个过程。 首先,`auto_cacti1.2.22`脚本是为CentOS设计的,旨在自动化...