pure compiling install http://yantaohncz.blog.51cto.com/727950/565411
cacti是用php语言实现的一个软件,它的运行需要网站服务器(如apache)及PHP环境的支持。同时,cacti还需要Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。
rrdtool的对主机负载、网络流量等信息的统计需要通过SNMP协议实现。经过SNMP抓取到的数据存储于由rrdtool生成的rrd文件中,这些文件通常位于cacti的rra目录中。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的归档文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。
这副图片简述了cacti的工作原理.
安装依赖软件包,其中有些在安装nagios的时候已经安装过了
yum install -y httpd* gcc glibc glibc-common gd gd-devel php* php-* ntp mysql* mysql-* net-snmp* net-snmp-* cairo-devel libxml2-devel pango-devel pango libpng-devel freetype-devel libart_lgpl-devel intltool freetype perl-ExtUtils-MakeMaker perl-Time-HiRes
我安装完mysql,查看服务时有unrecognized service的提示
因为没有安装mysql-server
安装一下
yum install mysql -server -y
不提示了
安装rrdtool
编辑yum源
vi /etc/yum.repos.d/CentOS-Base.repo
添加下面内容
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
安装rrdtool
yum install -y rrdtool*
看下安装成果
rrdtool,rrdtool-php,rrdtool-devel都有了
启动mysql
service mysqld start
编辑snmp配置文件
vi /etc/snmp/snmpd.conf
修改com2sec notConfigUser default public
中的default为127.0.0.1
access notConfigGroup “” any noauth exact systemview none none
中的systemview为all
取消view all included .1 80前面的#
下载cacti
wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
解压
tar zxvf cacti-0.8.8a.tar.gz
把解压后的目录移动到指定目录
mv cacti-0.8.8a /usr/cacti
可以给mysql的root用户设置密码,当然也可以不设置,看你自己了
mysqladmin -uroot password 密码
验证设置的密码
mysqladmin --user=root --password reload
修改密码是修改密码:
mysqladmin -u root -p password ‘新密码’
或者进入数据库下面有说到怎么进
update user set password=PASSWORD(“新密码″) where user=”root”;
flush privileges;
quit
创建数据库
先进入数据库
如果有密码
mysql -u root -h 127.0.0.1 -p当然-h可以省略
然后输入密码
或者mysql -uroot -p密码
如果没设置密码就可以直接输入mysql
创建数据库
mysql> create database cacti;
或者上面的步骤可以直接用mysqladmin --user=root -p create cacti代替
mysql> grant all on cacti.* to 'cacti'@'localhost' identified by 'cacti';
mysql> flush privileges;
ctrl c或者exit退出
将cacti表内容导入数据库
ca /usr/cacti
mysql -ucacti -pcacti cacti < /usr/cacti/cacti.sql
编辑/usr/cacti/include/config.php和global.php
内容一样
指定数据库连接用户名和密码为cacti
添加系统用户cacti,不创建家目录
useradd -r -M cacti
设置它对目录的权限
chown –R cacti /var/www/html/cacti/rra/
chown –R cacti /var/www/html/cacti/log/
设置计划任务,5分钟刷新一次
5个*分别代表分,时,日,月,周
echo "*/5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1">>/etc/crontab
重启crond服务
service crond restart
访问一下
192.168.189.23/cacti
啊,找不到网页,点下面详细信息,报错404
一般是目录不存在
我们要把cacti的解压目录放在http的根目录下才行
mv /usr/cacti /var/www/html
向导界面出现了
因为是第一次安装,所以默认New Install,而不是update更新
cacti用到的命令路径,你可以改,当然为什么要改呢?!呵!
登陆界面
默认是admin admin
输入完会让你修改密码
英文界面,里面也可以改用户名和密码之类的操作,你可也可去安装cactiEZ,中文版的,做的很完美!
不显示图片
下面是排错过程
还是不显示
网页上查看日志
命令行查看日志
设置刷新时间为1分钟
也不管用
删除文件
重新生成
可以了,点graphs
但是没数据
把刷新时间再改回5分钟吧
这里也可以设置这个时间,两个要相同
原来的Unknown也变成Up了
没数据排错
看snmp配置是否正确,正确会出来很多数据,这个IP是被监控的IP
或者
看另一个日志
说是重庆时区
改时区
没用
换一种方法,改cacti的时区设置
也不行
还有一种说法:
如果还是无法抓到snmp数据包
用ps aux |grep snmp 查看是否启动,如没有看到进程
输入/usr/local/sbin/snmpd -c /etc/snmp/snmpd.conf 启动snmp进程
测试snmp是否正常
#snmpwalk -c public -v 2c localhost
#snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex
IP-MIB::ipAdEntIfIndex.61.xxx.xxx.xxx = INTEGER: 2 IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1 IP-MIB::ipAdEntIfIndex.172.xxx.xxx.xxx = INTEGER: 3
也可以用snmpd -f -Le 命令查看当前有没有出什么错
不过我没试,因为是后来看到的
还有多试几次
没办法了,不知道哪里错了
重来,重新安装rrdtool
http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz
修改snmp配置文件
这个很少人说要启用这两个,不过我这里启用了,反正是好了!
终于成功了!
被监控端也要安装snmp,设置和这个一样,最后别忘记启动服务
添加LINUX被监控主机
Devices,右上角Add
输入主机描述,主机名或IP,主机模板选择Generic SNMP-enabled Host
点下面的Create,然后出现下面这个界面
下面Associated Graph Templates
添加你要监控的选项模板,点下面的保存
最右上面点Create Graphs for this Host,为这个主机画图
勾选所有的,点Create
Create
Graph Management可以对要监控的所有图形进行管理
如果是不显示图片
在上面右键显示图片,如果不行,看你的系统时间对不对如果不对
date -s 年月日或者月/日/年
date -s 时:分
hwclock -w
当然也要等几分钟,它也要花点时间收集数据
又没数据
把被监控端iptables关闭
再一看还没有,不过等一会就有了,因为它要花一段时间来采集数据
除了CactiEZ是中文的,还有一个中文版的cacti
wget http://blogimg.chinaunix.net/blog/upfile2/090815172648.gz
解压
tar zxvf 090815172648.gz
生成一个cacti-0.8.7e-cn-utf8文件夹
覆盖掉之前安装的英文版的
按住回车不放
然后我删除了原来的数据库cacti
进入数据库
然后drop database cacti;
重新创建数据库
mysql> create database cacti;
mysql> grant all on cacti.* to 'cacti'@'localhost' identified by 'cacti';
mysql> flush privileges;
mysql>exit
把cacti表写进数据库
cd /var/www/html/cacti
mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql
重启服务
FATAl:Cannot connect to MySQL server on ‘127.0.0.1’,Please make sure you have specified a valid MySQL database name in ‘include/config.php’
看来没覆盖掉原来的文件,把原来英文版的cacti文件夹删了
rm -rf /var/www/html/cacti
把中文的放过来
mv cacti-0.8.7e-cn-utf8 cacti
重新编辑config.php和global.php(貌似也可以不用编辑它)
向导界面也成中文的了
看这里写到配置文件是config.php,没有global.php
输入用户admin 密码 admin后出现强制让你修改密码的界面
全中文,还是这货看着舒服啊!
没图
手动刷新
php /var/www/html/cacti/poller.php --force
好多小方块,因为那些是中文,成了乱码
在设置里看下路径,RRDTool字体路径是空的
顺便说一个命令
locale -a是显示系统支持的所有字符集
我们来安装RRDTOOL所需的中文字体
yum install ruby -y这个貌似也可以不安装
先看下默认的字体包
ls /usr/share/fonts
只有dejavu和liberation两个目录
我们要安装一个ttfonts
在下面的链接里有很多
我用的是下面这个
ftp://ftp.cs.stanford.edu/pub/mirrors/centos/4.7/os/x86_64/CentOS/RPMS/ttfonts-zh_CN-2.14-6.noarch.rpm |
安装rpm -vih ttfonts-zh_CN-2.14-6.noarch.rpm
提示……is needed by……
加参数--force --nodeps
rpm -vih ttfonts-zh_CN-2.14-6.noarch.rpm --force --nodeps
不用管后面的提示
再看字体目录,多了一个zh_CN
打开web页面里的路径
设置RRDTool默认字体路径为/usr/share/fonts/zh_CN/TrueType/gkai00mp.ttf保存,显示文件已找到!
正常了!
监控流量
打开设备里的主机,进去后选择SNMP版本,一般选1就行了
相关数据查询里添加SNMP-接口统计
选择为些设备生成图像
选择网卡,创建
过一会就有了
监控Windows
添加SNMP服务
重启后设置SNMP Service的安全里添加社区名称
我写的是public,对应snmp服务器里/etc/snmp/snmpd.conf里设置的
下面接收来自下列主机的SNMP数据包添加Cacti服务器的IP
完了后重启下snmp service服务
看任务管理器里都有点小区别了!
添加Window主机
主机模板选择Windows 2000/XP设备
snmp版本也是1
创建,选择相应的监视选项
我们在图像模板里可以打开相应的选项后选择 打开图像调试模式,可以查看有没有问题!当然要过一会打开才有效!,不要在刚添加完选项就打开,那样会导致你误判!
参考:
http://foreveryan.blog.51cto.com/3508502/727866
http://www.centos.bz/2012/01/cacti-install-tutorials/
http://www.linuxyan.com/linux-service/168.html
http://bbs.linuxtone.org/thread-7972-1-1.html
http://foreveryan.blog.51cto.com/3508502/775558
顺便说下
如果是admin 的密码丢失,id = 1;其他用户以此类推。
进入mysql
mysql> show databases;
mysql> use cacti;
mysql> show tables;
mysql> update user_auth set password=md5("newpassword") where id='1';
新的cacti密码就是newpassword了~~
下面这个问题虽然还没遇到,但留下来以备后用
流量图显示断断续续的。
经过查找分析得出以下几个方面来解决。
------------------------------------------------------------------------------------------------------------------------------------
Tasks: 72 total, 2 running, 70 sleeping, 0 stopped, 0 zombie
Cpu(s): 10.4% us, 6.1% sy, 0.0% ni, 41.9% id, 41.6% wa, 0.0% hi, 0.0% si
Mem: 2074824k total, 2046988k used, 27836k free, 19880k buffers
Swap: 779144k total, 208k used, 778936k free, 1841200k cached
① 首先查看本服务器内存使用情况,如果本机内存使用达到 80% 以上后,流量图会出现断断续续的现象
【解决方法】增加内存。
------------------------------------------------------------------------------------------------------------------------------------
② 查看 Cacti 版本信息,我现在的版本是 0.8.7c 版本,升级到最新版本后,流量图断断续续的情况消失。
【解决方法】升级 Cacti 版本到最新。
------------------------------------------------------------------------------------------------------------------------------------
③ 设置流量刷新时间,由原来的每 5 分钟,更改为每 1 分钟更新一次。
【解决方法】更改刷新时间。
更改刷新时间的具体方法如下:
·在 Cacti 设置项中有两处需要更改
·还在本服务器上更改 crontab-e 的时间。
------------------------------------------------------------------------------------------------------------------------------------
④ 用户冲突,比如有两个以上用户设置了crontab 的自动执行程序,导致用户频繁切换。
可以通过查看 /rra下面的文件属性得知。
------------------------------------------------------------------------------------------------------------------------------------
⑤ SNMP 用 UDP 包通讯,有时会引起丢包。特别在远程网或压力大的时候。
【解决方法】增大 timeout 时间
------------------------------------------------------------------------------------------------------------------------------------
⑥ php 脚本也是有 timeout 的.
------------------------------------------------------------------------------------------------------------------------------------
⑦ cacti 服务器,怎么只有图,没有数据,
手动执行 # /usr/local/php/bin/php /usr/local/apache2/htdocs/cacti/poller.php //很多时候都通过手动执行得到错误提示。
提示 File size limit exceeded,原来是某个文件超过了系统限制文件的大小,用 find 命令查看比较大的文件,发现 cacti 的日志文件好大,清空了他的内容,然后过几分钟再去看图,数据出现了,这里也给我提示了个信息,不要把 cacti 调整到 debug 模式,否则很可能出现这样的问题。
http://bbs.linuxtone.org/thread-7468-1-1.html
出处:http://mcmvp.blog.51cto.com/5497438/1226854
转载于:https://blog.51cto.com/frankch/1751146