前言:
由于公司现在很多业务都是使用cacti进行监控流量的,并且还有一些使用zabbix监控的项目,正好又有一个项目需要搭建Cacti+Zabbix进行综合监控,搭建完毕之后发现,Cacti较之以前有了不小的改进,所以就来写一写Cacti和Zabbix监控整合的文章,顺便说一下Cacti下的一些好用的插件。
环境:
Centos 6.4 X86_64
Cacti-0.8.8b
Zabbix-2.2
一、安装Cacti
1、安装开发包组和必要的开发包(注意:此次安装了Cacti和Zabbix必须的环境,所以包比较多,有些包需要EPEL源,如果没有配置EPEL源,请百度如何配置)
yum -y groupinstall "Development tools" "Server Platform Development" yum -y install mysql mysql-server httpd php php-mysql php-xml php-gd php-bcmath php-mbstring net-snmp net-snmp-devel yum -y install zlib libpng freetype libjpeg fontconfig gd libxml2 libxml2-devel libcurl libcurl-devel rrdtool
2、下载cacti
wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz
3、安装cacti
#关闭iptables和SELINUX,避免出现问题 setenforce 0 sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config service iptables stop chkconfig iptables off #启动httpd和mysqld service httpd start service mysqld start chkconfig httpd on chkconfig mysqld on #下载Cacti,解压文件到HTTP目录 wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz tar -zxvf cacti-0.8.8b.tar.gz mv cacti-0.8.8b /var/www/html/cacti #配置Cacti数据库 mysql> create database cacti; mysql> use cacti ; mysql> source /var/www/html/cacti/cacti.sql; mysql> grant all on cacti.* to cacti@localhost identified by ‘cacti’; mysql> flush privileges; mysql> quit #修Ccacti数据库配置文件 vi /var/www/html/cacti/include/config.php $database_type = “mysql”; $database_default = “cacti”; $database_hostname = “localhost”; $database_username = “cacti”; $database_password = “cacti”; $database_port = “3306″; #添加cacti执行用户 useradd cacti #修改cacti目录属主为apache chown -R apache.apache /var/www/html/cacti #另外还需要两个目录的所有者修改,以便使cacti有写权限: chown -R cacti /var/www/html/cacti/rra chown -R cacti /var/www/html/cacti/log #添加计划任务,定时运行poller.php取回监控数据 vi /etc/crontab */1 * * * * cacti /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 #重新启动任务计划 service crond restart
4、访问页面http://ip/cacti,安装cacti
①点击Next继续
②全新安装
③确保所有的文件都可以被找到,点击Finish
登录系统,默认用户名admin,密码admin,登录之后需要修改密码。
二、安装Zabbix
关于安装zabbix,可以查看我之前的文章http://www.beyond362.com/2014/11/02/zabbix%E7%B3%BB%E5%88%97%E4%B9%8B%E5%85%A5%E9%97%A8%E4%BB%8B%E7%BB%8D%EF%BC%88%E4%B8%80%EF%BC%89/这里不再累述。
三、Cacti整合Zabbix
这是通过cacti的插件superlinks实现的,可以在Cacti界面中登录Zabbix并查看Zabbix监控的信息,总的来说还是蛮好用的。
Cacti监控插件http://docs.cacti.net/plugins,可惜的是现在Cacti的插件更新速度非常非常的慢,都是比较老的插件了,但也不乏一些特别好用的插件,superlinks就是其中之一。
wget http://docs.cacti.net/_media/plugin:superlinks-v1.4-2.tgz mv plugin\:superlinks-v1.4-2.tgz superlinks-v1.4-2.tgz tar xf superlinks-v1.4-2.tgz -C /var/www/html/cacti/plugins/
Cacti现在的版本安装插件好用多了,以前还需要修改配置文件,现在不需要修改了,直接可以使用。赞一个。需要注意一点的就是有些插件解压缩之后权限并不够,所以,需要确保插件目录权限为755
好了,使用吧,打开前台页面
【console】–>【Configuration】–>【Plugin Management】,点击【Actions】下的那个蓝色按钮,然后再点击一下向上的箭头,安装成功。
安装成功
配置superlinks
【console】–>【Configuration】–>【settings】–>【Misc】,默认即可,无需修改。
添加链接
【console】–>【Management】–>【External Links】–>【右上角Add】
我们要添加的是URL链接,所以选择第一项,如果你要添加一些网页文件连接,那么你需要把文件放到superlinks插件目录的content目录下。
Ok,点击【Save】保存看效果吧,点击进去试试看。【注意:建议使用chrome浏览器,使用其他浏览器可能会出现Zabbix显示不完整问题】
输入Zabbix用户名和密码,进行登录吧
怎么样,还是很酷的吧。
四、Cacti插件介绍
cacti发展到今天,已经出现了很多好用的插件,接下来就介绍下这些插件
monitor 监控主机状态
到cacti官网下载Monitor插件,解压到plugins目录,上文安装superlinks已经提到过,这里不再陈述。
使用:
【console】–>【Configuration】–>【settings】–>【Misc】–>【Monitor】
看一下显示效果吧,绿色代表主机正常,红色代表主机宕机,蓝色代表主机正在恢复
php-werthermap 气象图
很好用,想用好是比较废脑筋的,有兴趣的可以去看一下这个http://www.cactifans.org/cacti/192.html,讲的非常详细。我也上个业务上的图
realtime 以小时、分钟、秒为单位查看graph图形
很好用的一个以小时、分钟、秒为单位查看graph图形的插件,安装之后需要进行以下操作。
安装之后首先要做的是要创建一个目录,用来存放realtime的cache,目录随便建,只需要目录让apache用户有读写权即可,我一般创建在cacti目录下,名字叫cache
mkdir /var/www/html/cacti/cache -pv chown -R apache.apache /var/www/html/cacti/cache
【console】–>【Configuration】–>【settings】–>【Misc】–>【Realtime Graphs】
接着,到前台页面看一下怎么使用的吧
OK,这就是这个插件的使用方法,有时候还是挺实用的。
settings 设置
superlinks 超链接 上文已经使用过
thold 报警插件
Very Important 插件,没有他,Cacti的实用性至少会下降一半,至少我不会再使用它。这是一个阀值监控报警的插件,可以根据当前系统状态是否超过阀值而进行报警,这样我们就不止能监控到主机是否存活了,还能监控主机性能。现在报警方式很多,邮件、短信、飞信、微信等多种方式,短信需要短信接口,飞信要用移动号码,微信需要公共微信号,那还是邮件吧。。。。
首先,我们需要配置邮件发送方式,确保邮件可以发送出去。
【console】–>【Configuration】–>【settings】–>【Mail / DNS】
邮件已经可以发送了,下一步配置一下阀值触发器。
【console】–>【Configuration】–>【settings】–>【Mail / DNS】
选项说明:【 Send Emails with Urgent Priority 】选项可以将邮件当紧急邮件发出,我一般都是勾选
接下来,进行下一步,添加报警邮件列表,这样我们可以很方便的将不同的主机报警发给不同的人,或者相同的主机报警发给很多人。
【console】–>【Management】–>【Notification Lists】–>【Add】
那就添加阀值测试一下报警功能吧
【console】–>【Management】–>【Thresholds】–>【Add】,选择本机的一个进程数来进行监控
配置报警阀值和报警邮件。
保存退出吧,从上图中,我们看到process进程数是142,而我们设置的阀值数是200,所以并不会报警,那为了报警,我们改变一下阀值数为100,再次保存。等一会我们就会发现报警了,并且收到邮件了。
赶紧修改阀值解除报警吧,不然每过一小时就有一封加急邮件哟~~
discovery 自动发现主机插件
额,这个插件说实话有点鸡肋,虽能提供一些自动发现主机的功能,但功能过于弱小,竟然还需要手动去添加发现的主机。。。。。。这TM的也能叫自动发现?但是对于没有使用过zabbix的用户来说,他还是不错的。说实话,他的Discovery Templates 我也没使用成功,可能是我打开的姿势不太对。
安装之后就会在Table那里自建一个选项卡,然后我们需要到【console】–>【Configuration】–>【settings】–>【Misc】–>【Discover】进行配置
当自动发现完成一轮之后,你就会发现这个,发现成功了,自己点击Add进行添加吧。自动发现之后别忘了关闭这个功能,很耗费资源的。
OK,就写这么多,其实还有一些插件比较好用,比如Syslog 日志插件,Aggregate流量汇总插件等等,需要的朋友可以自行去下载安装使用。
原创文章,作者:myb_sir,如若转载,请注明出处:http://www.178linux.com/1215
评论列表(3条)
厉害厉害!非常浓厚的文档功底和治学态度,赞!
牛逼啊,总结的真好!赞一个
这种模式挺好,实现了可扩展性~