文档章节

cacti 安装配置 错误处理

hua_zi
 hua_zi
发布于 2015/08/10 16:22
字数 1612
阅读 1117
收藏 0

20130805  安装cacti

一、先记录下安装cacti,全rpm安装,简单

1、vim /etc/sysconfig/selinux 

SELINUX=disabled 

2、停止防火墙

service iptables stop

3、安装依赖包

yum install httpd php php-mysql php-snmp php-gd mysql mysql-server mysql-devel net-snmp net-snmp-utils net-snmp-devel rrdtool pango rsyslog-mysql gcc make wget -y

4、建cacti数据库并赋予用户权限

mysqladmin -uroot create cacti

mysql -uroot -p -e "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser'" 

5、安装cacti软件包

wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz

tar zxf cacti-0.8.8a.tar.gz -C /var/www/html/

mv /var/www/html/cacti-0.8.8a /var/www/html/cacti

mysql -ucacti -pcactiuser cacti < /var/www/html/cacti/cacti.sql

6、进配置文件,进行修改

a、

vi /var/www/html/cacti/include/config.php 

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cactiuser";

$database_password = "cactiuser";

$database_port = "3306";

$database_ssl = false;

b、给需相应的文件读写权限

 chmod 777 /var/www/html/cacti/rra/ /var/www/html/cacti/log/

c、设置定时任务

  */5 * * * *  /usr/bin/php /var/www/html/cacti/poller.php

d、为了SNMP服务使用不受影响,需要使用  vi /etc/snmp/snmpd.conf 进SNMP配置文件进行修改相关信息:

com2sec notConfigUser  127.0.0.1       cacti9

access  notConfigGroup ""      any       noauth    exact  all none none 

view all    included  .1                               80  把前面的#去掉

7、插件安装

Spine 可以提高采集数据的效率,适合监控服务器数量比较多的Cacti,而cmd.php适合小型、测试、学习所用。

 tar zxvf cacti-spine-0.8.8a.tar.gz

  cd cacti-spine-0.8.8a         

  ./configure && make && make install

  提示:error: Cannot find MySQL headers.  Use --with-mysql= to specify non-default path.

  缺少mysql-devel包,yum install mysql-devel -y

  拷贝并修改spine.conf文件中连接数据库用户信息

  cp /usr/local/spine/etc/spine.conf.dist  /usr/local/spine/etc/spine.conf

  其他插件

tar zxf settings-v0.71-1.tgz -C /var/www/html/cacti/plugins

tar zxf thold-v0.4.9-3.tgz -C /var/www/html/cacti/plugins

tar zxf realtime-v0.5-2.tgz -C /var/www/html/cacti/plugins

tar zxf plugin-monitor-v1.3-1.tgz -C /var/www/html/cacti/plugins 

注意:安装即使插件后,查看实时图像时,--------需要在cacti目录下创建cache目录,并赋予777权限,在控制台setting--》Misc--》设置缓存目录 

mkdir /var/www/html/cacti/cache

chmod 777 /var/www/html/cacti/cache/

8、设置一下服务的重启与开机启动:

service httpd restart

service snmpd restart

service crond restart

service mysqld restart 

chkconfig httpd on    

chkconfig snmpd on     

chkconfig mysqld on    

chkconfig crond on 

9、设置向导

http://IP:81/cacti/   

a、修改密码:

b、安装并激活插件console>Plugin Management 

c、修改以spine方式运行

   console>settings>Poller 修改Poller Type 为spine

   console>seting>Paths 修改Spine Poller File Path 路径 /usr/local/spine/bin/spine

d、设置缓存 console>seting>Misc 设置Cache Directory /var/www/html/cacti/cache 为刚才创建的缓存目录

客户端安装

yum install net-snmp net-snmp-utils net-snmp-perl -y

vi /etc/snmp/snmpd.conf

更改 com2sec notConfigUser default public

改为 com2sec notConfigUser 监控端IP public(自定义)

更改access notConfigGroup "" any noauth exact systemview none none

改为access notConfigGroup "" any noauth exact all none none

将 #view all included .1 80 前面的 # 注释去掉

service snmpd restart

正常情况下cacti服务端就会出图,

cacti服务器测试一下

出现过的问题

1、POLLER: Poller[0] WARNING: Cron is out of sync with the Poller Interval! The Poller Interval is '300' seconds, with a maximum of a '300' second Cron, but 480 seconds have passed since the last poll!

*/5 * * * *  /usr/bin/php /usr/local/cacti/poller.php > /dev/null 2>&1

改成每1分钟一次,改完后重启crond服务,结果问题得以解决,在正常之后又改回5分钟,运行正常

2、安装完成后,不出图,必须点击进去,

      解决:进入 Cacti --> System Utilities --> Technical Support 就能看到是哪个部件出了问题导致无法出图,经过查看是Rrdtool版本输入错误导致,

3、生成图片错误,两种或多种数据放在一张图上时,

        ERROR: the RRD does not contain an RRA matching the chosen CF

       解决:进入cacti--->Graph Management --->选中有问题的Graph-->查看其debug模式报错,将item1的CFType由原先的Last修改为Average,

4、图片上方标注中文显示乱码,

 解决:

      首先,需要一个中文字体,下载simsun.ttc、simsun.ttf,将它们放进 /usr/share/fonts目录     

      并刷新字体缓存:  fc-cache -f -v   

5、在用PHP5.3以上的PHP版本时,只要是涉及时间的会报一个

PHP Warning:  date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /var/www/html/cacti/lib/functions.php on line 486

以下是三种方法(任选一种都行):我一般用第三种

a、在页头使用date_default_timezone_set()设置 date_default_timezone_set('PRC'); //东八时区 echo date('Y-m-d H:i:s');

b、在页头使用 ini_set('date.timezone','Asia/Shanghai');

c、修改php.ini。打开php5.ini查找date.timezone 去掉前面的分号修改成为:date.timezone =PRC

6、登陆显示全是代码,可能是php未开启短标签 

  在php.ini中开启短标签

  short_open_tag = On

转载 =================================cacti的排错经验=========================


cacti出不了数据,一般从以下几个方面入手解决问题

1。确认你的cacti主机上能否得到目标机器上的snmp数据
cacti得到目标机器上的统计数据分为两种方法,一种是远程通过snmp协议获取、一种是本地机器通过shell脚本获取。

2。确认你的crontab计划任务有在正常运作
cacti是通过crontab的定时作业每隔一段时间获取数据的,如果定时作业没有运作,肯定也是读取不到数据的

3。确认你的crontab定时作业所执行的作业能获取信息
cacti获取信息用的是poller.php定时运作,然后根据你设置的是用php脚本来执行snmp获取还是cactid来获取,所以,你必须确认你的php能支持php的snmp扩展、或者确认你有正确设置cactid。推荐使用cactid,效率比通过php高10~20倍。

4。确认你的rrdtool的版本
rrdtool1.0.x版本和1.2.x版本有着比较大的差别,在cacti里面要正确设置你的rrdtool的版本。比较容易出现的错误就是你的rrdtool是1.2.x版本,而cacti默认的rrdtool版本为1.0.x版本,如果是这样的话,你的数据收集是正常的,不过由于rrdtool的版本变化导致的命令处理格式的一点差别,cacti的缩微图会画不出来的,而具体的图片时可以画出来,这个,大家要留神一下。

5。当然了,要保证cacti收集的数据能被储藏在你的机器上,要保证收集的数据能被httpd服务读取


© 著作权归作者所有

hua_zi

hua_zi

粉丝 2
博文 21
码字总数 7915
作品 0
杭州
私信 提问
cacti——问题排查

2014/5/7 16:55 cacti cacti登录密码忘记解决方法 如果是admin 的密码丢失,id = 1;其他用户以此类推。 进入mysql mysql> show databases; mysql> use cacti; mysql> show tables; mysql> u......

寂寞淡淡愁
2014/05/07
0
0
Cacti搭建以及部分常用插件安装

一、Cacti简介 Cacti是一款实用PHP语言开发的性能与流量监测工具,监测的对象可以是Linux也可以是Windows服务器,也可以是路由器、交换机等网络设备,主要基于SNMP(Simple Network Manageme...

Bella小旭
2016/11/26
0
0
centos7下搭建cacti

cacti 什么是Cacti? Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用 RRDtool绘画图形,而且你...

黎董
2017/03/20
0
0
Cacti 的 MySQL server on 'localhost'” 错误

cacti 的 “FATAL: Cannot connect to MySQL server on 'localhost'” 错误 [root@nagios cacti]# php poller.php FATAL: Cannot connect to MySQL server on 'localhost'. Please make sure......

我不是九爷
2018/08/01
0
0
CentOS6.5下Cacti安装过程

一、前置条件: RRDTool 1.0.49以上版本 MySQL 5.x以上 PHP 5.1以上 Apache 二、检查CentOS/Redhat下面的安装包是否已经安装: httpd php php-mysql php-snmp mysql mysql-server net-snmp 三...

hzde0128
2018/07/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

阿里云POLARDB如何助力轻松筹打造5亿用户信赖的大病筹款平台?

轻松筹首创了“大病救助”模式,帮助了众多病患在第一时间解決了医疗资金等问题,为了从源头解决了医疗资金问题。而在轻松筹这样全球5.5亿用户信赖的大病筹款平台的背后,是日益增长的各种数...

阿里云云栖社区
10分钟前
2
0
Confluence 6 在升级过程中查看合并日志

为了监控升级的过程,你应该查看 application log 日志中的输出。 通常日志经常将会显示多个日志实例,这个实例是定义在日志的 INFO 级别的,通常格式如下: WikiToXhtmlMigrationThread-n -...

honeymoose
10分钟前
0
0
git diff 文件对比

git diff filepath 工作区与暂存区比较 git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较 git diff --staged 或 --cached filepath 暂存区与HEAD比较 git diff branchName filepa......

李佳顺
11分钟前
0
0
spring mvc 定制化配置

spring mvc 自定义配置 1.实现某些接口,然后让上面的类加载进去. class MyHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver { @Override public boolean......

最爱肉肉
13分钟前
0
0
OSG_采样像机的内容如果不显示到窗口上

cameraLight->setRenderTargetImplementation(Camera::FRAME_BUFFER_OBJECT);// 这句使内容不渲染到屏幕上cameraLight->setRenderOrder(Camera::PRE_RENDER); 1.setRenderTargetImplement......

洛克人杰洛
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部