Cacti整合Zabbix监控

前言:

由于公司现在很多业务都是使用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继续

1

②全新安装

2

③确保所有的文件都可以被找到,点击Finish

3

登录系统,默认用户名admin,密码admin,登录之后需要修改密码。

4

二、安装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】下的那个蓝色按钮,然后再点击一下向上的箭头,安装成功。

5

安装成功

6

配置superlinks

【console】–>【Configuration】–>【settings】–>【Misc】,默认即可,无需修改。

7

添加链接

【console】–>【Management】–>【External Links】–>【右上角Add】

8

我们要添加的是URL链接,所以选择第一项,如果你要添加一些网页文件连接,那么你需要把文件放到superlinks插件目录的content目录下。

9

Ok,点击【Save】保存看效果吧,点击进去试试看。【注意:建议使用chrome浏览器,使用其他浏览器可能会出现Zabbix显示不完整问题】

10

输入Zabbix用户名和密码,进行登录吧

11

怎么样,还是很酷的吧。

12

四、Cacti插件介绍

cacti发展到今天,已经出现了很多好用的插件,接下来就介绍下这些插件

monitor 监控主机状态

到cacti官网下载Monitor插件,解压到plugins目录,上文安装superlinks已经提到过,这里不再陈述。

使用:

【console】–>【Configuration】–>【settings】–>【Misc】–>【Monitor】

13

看一下显示效果吧,绿色代表主机正常,红色代表主机宕机,蓝色代表主机正在恢复

14

php-werthermap  气象图

很好用,想用好是比较废脑筋的,有兴趣的可以去看一下这个http://www.cactifans.org/cacti/192.html,讲的非常详细。我也上个业务上的图

15

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】

16

接着,到前台页面看一下怎么使用的吧

17

OK,这就是这个插件的使用方法,有时候还是挺实用的。

18

settings 设置

superlinks 超链接 上文已经使用过

thold  报警插件

Very Important 插件,没有他,Cacti的实用性至少会下降一半,至少我不会再使用它。这是一个阀值监控报警的插件,可以根据当前系统状态是否超过阀值而进行报警,这样我们就不止能监控到主机是否存活了,还能监控主机性能。现在报警方式很多,邮件、短信、飞信、微信等多种方式,短信需要短信接口,飞信要用移动号码,微信需要公共微信号,那还是邮件吧。。。。

首先,我们需要配置邮件发送方式,确保邮件可以发送出去。

【console】–>【Configuration】–>【settings】–>【Mail / DNS】

19

20

邮件已经可以发送了,下一步配置一下阀值触发器。

【console】–>【Configuration】–>【settings】–>【Mail / DNS】

22

选项说明:【 Send Emails with Urgent Priority 】选项可以将邮件当紧急邮件发出,我一般都是勾选

接下来,进行下一步,添加报警邮件列表,这样我们可以很方便的将不同的主机报警发给不同的人,或者相同的主机报警发给很多人。


【console】–>【Management】–>【Notification Lists】–>【Add】

23

那就添加阀值测试一下报警功能吧

【console】–>【Management】–>【Thresholds】–>【Add】,选择本机的一个进程数来进行监控

21

配置报警阀值和报警邮件。

Cacti整合Zabbix监控

保存退出吧,从上图中,我们看到process进程数是142,而我们设置的阀值数是200,所以并不会报警,那为了报警,我们改变一下阀值数为100,再次保存。等一会我们就会发现报警了,并且收到邮件了。

Cacti整合Zabbix监控

Cacti整合Zabbix监控

赶紧修改阀值解除报警吧,不然每过一小时就有一封加急邮件哟~~

discovery  自动发现主机插件

额,这个插件说实话有点鸡肋,虽能提供一些自动发现主机的功能,但功能过于弱小,竟然还需要手动去添加发现的主机。。。。。。这TM的也能叫自动发现?但是对于没有使用过zabbix的用户来说,他还是不错的。说实话,他的Discovery Templates 我也没使用成功,可能是我打开的姿势不太对。

安装之后就会在Table那里自建一个选项卡,然后我们需要到【console】–>【Configuration】–>【settings】–>【Misc】–>【Discover】进行配置

Cacti整合Zabbix监控

当自动发现完成一轮之后,你就会发现这个,发现成功了,自己点击Add进行添加吧。自动发现之后别忘了关闭这个功能,很耗费资源的。

Cacti整合Zabbix监控

OK,就写这么多,其实还有一些插件比较好用,比如Syslog 日志插件,Aggregate流量汇总插件等等,需要的朋友可以自行去下载安装使用。

原创文章,作者:myb_sir,如若转载,请注明出处:http://www.178linux.com/1215

(4)
上一篇 2015-03-18 18:52
下一篇 2015-03-19 21:44

相关推荐

  • 第八周作业

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;     在线的主机使用绿色显示;     不在线的主使用红色显示; #!/bin/bash for i in {1..254};do if ping -c 1 -w 1 192.16…

    2017-07-03
  • 树 非线性结构 树是n(n >= 0)个元素的集合: (1)每个元素称为结点(node); (2)有一个特定的结点,称为根结点或根(root); (3)除根结点外,其余结点被分成m(m>=0)个互不相交的有限集合,而每个子集又都是一棵树(称为原树的子树Subtree) 注意 n = 0时,称为空树 树只有一个特殊的没有前驱的元素,称为树的根(Ro…

    2017-10-16
  • 基于lamp实现wordpress(php-rpm)与phpMyAdmin(pph-rpm+https支持)

    前言    踩了好多坑终于把想象中的样子搭建出来了。真的是,只有遇到问题了,然后扎耳挠腮把问题解决了,才是真的学到了。此次环境我们采用lamp架构,并且通过fastcgi让httpd和php进行通信。当然所有的一切都是在同一台主机上实现。本次安装的应用是phpMyAdmin-4.4.14.1和wordpress-4.3.1

    Linux干货 2016-12-26
  • 十三.Linux博客-2016年8月18日while、for特殊用法、selet循环与菜单、函数

    格式说明: 操作 概念 命令 说明及举例 十三.while、for特殊用法、selet循环与菜单、函数 while特殊用法 while循环的特殊用法(遍历文件的每一行): while read line; do 循环体 done < /PATH/FROM/SOMEFILE 依次读取/PATH/FROM/…

    Linux干货 2016-08-24
  • 从Linux小白到大牛——与狼共舞的日子12(上)

    马哥教育网络班21期+第12周课程练习 1、请描述一次完整的http请求处理过程; 1)建立或处理连接:客户端发送http请求报文,服务器端接收或拒绝请求; 2)接收请求:服务器端接收来自客户端对某些资源的请求; 3)处理请求:服务器端解析客户端请求报文,获取客户端请求的资源及请求方法等信息; 4)访问资源:服务器端获取客户端请求的资源; 5)构建响应报文;…

    Linux干货 2016-12-26
  • 关于HISTCONTROL命令及对快捷键Ctrl+o命令的影响

            在linux中环境变量HISTCONTROL可以控制历史的记录方式。         HISTCONTROL有以下的选项:         &n…

    Linux干货 2017-02-18

评论列表(3条)

  • stanley
    stanley 2015-03-19 21:34

    厉害厉害!非常浓厚的文档功底和治学态度,赞!

  • 雷神
    雷神 2015-03-20 08:54

    牛逼啊,总结的真好!赞一个

  • 追马
    追马 2015-03-20 08:55

    这种模式挺好,实现了可扩展性~