【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结 构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。
下图是cacti运行的主界面
Cacti 架构图:
环境:LNMP(安装参考官网:www.lnmp.org)
Cacit 运行环境需要PHP + Mysql + rrdtool 以及snmp 工具的支持。
一、准备工作
环境:LNMP(www.lnmp.org)
所需软件:
rrdtool
Net-snmp
Net-snmp-libs
Net-snmp-utils
下载相关软件(先做第二步骤的(2)步骤,下面的添加源安装yum直接用yum安装以上软件包)
二、安装配置
(1)、在主监控机上安装net-snmp net-snmp-libs net-snmp-utils net-snmp-devel
yum -y install net-snmp net-snmp-libs net-snmp-utils net-snmp-devel
(2)在主监控机上安装rrdtool,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
yum -y install rrdtool
(3)配置snmp
vi /etc/snmp/snmpd.conf
#将下边这行中的default
com2sec notConfigUser default public
#改为127.0.0.1
com2sec notConfigUser 127.0.0.1 public
#将下边这行中的systemview
access notConfigGroup "" any noauth exact systemview none none
#改为all
access notConfigGroup "" any noauth exact all none none
#将下边这行的注释“#”号去掉
#view all included .1 80
#重启snmpd服务
service snmpd restart
(4)安装cacti
#把解压后的包移动到你的相应的web目录
tar xvf cacti-0.8.7e-cn-utf8.tar.gz
mv cacti-0.8.7e-cn-utf8 /data0/htdocs/blog/cacti
(5)在数据库中建库、授权、导入数据库结构
批量转换sql文件内的TYPE为ENGINE
sed -in-place -e 's/TYPE/ENGINE/g' /data0/htdocs/blog/cacti/cacti.sql
#注意导入cacti.sql时该文件的路径
#mysql -uroot -p
mysql>create database cacti default character set utf8;
mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON cacti.* TO cacti@localhost IDENTIFIED BY 'cacti';
mysql>flush privileges;
mysql>use cacti
mysql>\. /data0/htdocs/blog/cacti/cacti.sql //导入sql
mysql> \q
#配置cacti以连接数据库
vi /data0/htdocs/blog/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
(6)浏览器下配置
#用浏览器打开 http://ip/cacti ,会显示 cacti的安装指南,设置好就不会再出现了。
#点击 “Next”
#选择“New Install”,点击“Next”
#指定 rrdtool、 php、 snmp 工具的 Binary 文件路径,确保所有的路径都是显示“ FOUND”,没有 “NOT FOUND”的,点击 Finish 完成安装。
(PHP路径:/usr/local/php/bin/php)
#Cacti 默认的用户名与密码是 admin,输入用户名与密码,点击 login
#为了安全的原因,第一次登录成功后,cacti 会强制要求你更改一个新的 password ,输入新密码并确认密码
(6)浏览器下配置
#用浏览器打开 http://ip/cacti ,会显示 cacti的安装指南,设置好就不会再出现了。
#点击 “Next”
#选择“New Install”,点击“Next”
#指定 rrdtool、 php、 snmp 工具的 Binary 文件路径,确保所有的路径都是显示“ FOUND”,没有 “NOT FOUND”的,点击 Finish 完成安装。
#Cacti 默认的用户名与密码是 admin,输入用户名与密码,点击 login
#为了安全的原因,第一次登录成功后,cacti 会强制要求你更改一个新的 password ,输入新密码并确认密码,点击 save ,进入 cacti 控制台界面:
#点击 graphs ,查看cacti 监控本机的图表:
(7)增加入一个计划任务,使得 cacti 每五分钟生成一个监控图表。
crontab -e
#加入如下内容。注意poller.php的路径
*/5 * * * * /usr/local/php/bin/php /data0/htdocs/blog/cacti/poller.php > /dev/null 2>&1
#确保 /data0/htdocs/blog/cacti/rra/目录存在
#如果暂时未看到图表,可以手工执行,生成图表
# /usr/local/php/bin/php /data0/htdocs/blog/cacti/poller.php > /dev/null 2>&1
(8)字体在图形中显示不正常的解决方法
下载并安装cjkuni-fonts中文字体,字体名ukai.ttf,下载地址
http://ftp.tw.debian.org/debian/pool/main/t/ttf-arphic-ukai/ttf-arphic-ukai_0.1.20060928.orig.tar.gz
(如果wget不到,复制地址用迅雷下载)
#tar zxvf ttf-arphic-ukai_0.1.20060928.orig.tar.gz
#cd ttf-arphic-ukai-0.1.20060928/
#cp ukai.ttf /usr/share/fonts/ukai.ttf
安装完成后注意在"设置"中更改下面两个必改项. 常规->RRDTool应用程序版本 改为1.2.x,默认为1.0.x.不改可能图像不能正常显示出来.
路径->RRDTool默认字体路径 改为上面安装的ukai.ttf的文件路径,如/usr/share/fonts/ukai.ttf
(9)使用 Cacti 监控 Linux 主机
#在被监控的linux主机上安装net-snmp
yum install net-snmp
vi /etc/snmp/snmpd.conf
#更改以下部分
#将下边这行中的default
com2secnotConfigUser default public
#改为10.0.0.52(cacti)服务器的地址)
com2secnotConfigUser 10.0.0.52 public
#将下边这行中的systemview
access notConfigGroup "" any noauth exact systemview none none
#改为all
access notConfigGroup "" any noauth exact all none none
#将下边这行的注释“#”号去掉
#view all included .1 80
service snmpd restart
(10)如果出现问题请注意一下snmp协议的版本,都用version 1是一种解决方法
如果都用version 1,需要把所有监控机和被监控机的snmpd.conf改一下
#vi /etc/snmp/snmpd.conf
#将下边这行
view systemview included .1.3.6.1.2.1.1
#改为
view systemview included .1.3.6.1.2.1
来源:oschina
链接:https://my.oschina.net/u/1036767/blog/192961