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)
myb_sirmyb_sir
上一篇 2015-03-18
下一篇 2015-03-19

相关推荐

  • 1128基于fastDFS,制作rpm包

    基于fastDFS,制作rpm包: 1、安装相应的环境: 1、Development tools 2、git(从外网git仓库下载源码所需) 3、Server Platform Development ———————————&#…

    2016-12-05
  • 编写服务脚本/root/bin/testsrv.sh和备份脚本/root/bin/copycmd.sh

    编写服务脚本/root/bin/testsrv.sh,完成如下要求 (1) 脚本可接受参数:start, stop, restart, status (2) 如果参数非此四者之一,提示使用格式后报错退出 (3) 如是start:则创建/var/lock/subsys/SCRIPT_NAME, 并显示“启动成功” 考虑:如果事先已经启动过一次,该如何处理? (…

    Linux干货 2016-08-24
  • bash

    bash 配置文件   按生效范围划分:存在两类;     全局配置:            /etc/profile       &nbs…

    Linux干货 2015-04-15
  • 分享我自己的一个最小化安装CentOS6的初始化脚本

    #!/bin/bash # #Filename:postinstall_init.sh #Description:系统安装完成后,对系统进行一些配置,以符合自己的试验环境 #Author:renpingsheng #Email:995883352@qq.com #Version:1.0 #Date:2017.5.5 setenforce 0 #更改selin…

    Linux干货 2017-05-07
  • Linux的SOCKET编程详解

    1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如 UNIX BSD有:管道(pipe)、命名管道(named pipe)软中断信号(signal) UNIX system V有:消息(message)、共享存储区…

    Linux干货 2015-04-10
  • 马哥教育网络班21期-第九周课程练习

    第九周作业 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i nologin=0 declare -i other=0   &n…

    Linux干货 2016-09-19

评论列表(3条)

  • stanley
    stanley 2015-03-19 21:34

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

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

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

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

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