下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

关于Cacti监控的配置与安装解析

作者:课课家教育     来源: http://www.kokojia.com点击数:965发布时间: 2017-11-14 15:00:49

标签: MySQLCacti云计算

  欢迎各位阅读本篇文章,Cacti是一套基于phpMySQL、SNMP及RRDTool开发的网络流量监测图形分析工具。本篇文章讲述了关于Cacti监控的配置与安装解析。

  知识分享:Cact基本介绍

  Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。

  它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。

  软件Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。

  cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。

  Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。

  snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。关于RRDTool的知识请参阅RRDTool教学。

关于Cacti监控的配置与安装解析_MySQL_Cacti_云计算_课课家教育

  Cacti是一个非常好的网络监控工具,利用php语言实现其功能,Cacti通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好,下面来简要的介绍下cacti的安装和配置,cacti的安装需要lamp环境,php需要有一大堆的扩展。

  一、编译安装rrdtool

  Linux下用的最多的是MRTG的性能监视,MRTG配置比较简单,MRTG的确是非常好的东东,但我认为它毕竟已经是一套很旧的软件了,其作者在多年前就已经开发了RRDTool代替该软件,现在已经发展得很成熟。既然有更好的选择,为什么我们还要用MRTG呢? 简单的说,rrdtool就是一个强大的绘图的引擎,很多语言都可以调用rrdtool绘图。

Cacti整个系统的架构是这样的

  Cacti整个系统的架构是这样的:基于SNMP协议,被监控端是服务器,或一些网络设备,网络管理工作站,采用Linux(或Freebsd)操作系统,并且安装Net-SNMP工具,使用RRDTOOL采集数据,存储数据,并用Cacti调用rrdtool显示出来。

  CACTI采用PHP编写,基于B/S结构。

  [root@server5 ~]# cd /usr/local/src/tarbag/

  [root@server5 tarbag]# wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.4.tar.gz

  [root@server5 tarbag]# tar -zxvf rrdtool-1.4.4.tar.gz -C ../software/

  [root@server5 tarbag]# cd ../software/rrdtool-1.4.4/

  [root@server5 rrdtool-1.4.4]# ./configure --prefix=/usr/local/rrdtool

  [root@server5 rrdtool-1.4.4]# make && make install

  [root@server5 rrdtool-1.4.4]# ls /usr/local/rrdtool/

  bin include lib share

  也可以自动安装

  #yum -y install rrdtool

  # rrdtool

  RRDtool 1.4.4 Copyright 1997-2010 by Tobias Oetiker 

  Compiled Jan 14 2014 18:25:27

  二、安装配置net-snmp

  [root@server5 ~]# cd /usr/local/src/tarbag/

  [root@server5 tarbag]# wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.4.tar.gz

  [root@server5 tarbag]# tar -zxvf rrdtool-1.4.4.tar.gz -C ../software/

  [root@server5 tarbag]# cd ../software/rrdtool-1.4.4/

  [root@server5 rrdtool-1.4.4]# ./configure --prefix=/usr/local/rrdtool

  [root@server5 rrdtool-1.4.4]# make && make install

  [root@server5 rrdtool-1.4.4]# ls /usr/local/rrdtool/

  bin include lib share

  也可以自动安装

  #yum -y install rrdtool

  # rrdtool

  RRDtool 1.4.4 Copyright 1997-2010 by Tobias Oetiker

  Compiled Jan 14 2014 18:25:27

  三、Cacti安装

  [root@server5 tarbag]# wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz

  直接解压就行了

  [root@server5 tarbag]# tar -zxvf cacti-0.8.7g.tar.gz

  [root@server5 tarbag]# mv cacti-0.8.7g /usr/local/cacti

  四、在数据库服务器上导入cacti数据库文件

  [root@server5 ~]# cd /usr/local/cacti

  [root@server5 cacti]# scp cacti.sql

  [root@yunwei ~]# mysql

  Welcome to the MySQL monitor. Commands end with ; or \\g.

  Your MySQL connection id is 1

  Server version: 5.1.36-log Source distribution

  Type 'help;' or '\\h' for help. Type '\\c' to clear the buffer.

  mysql> create database cacti;

  Query OK, 1 row affected (0.00 sec)

  mysql> use cacti

  Database changed

  mysql> source /tmp/cacti.sql;

  mysql> select * from cacti.version;

  +-------------+

  | cacti |

  +-------------+

  | 0.8.7g |

  +-------------+

  1 row in set (0.00 sec)

  创建数据库用户

  mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'cacti';

  mysql> flush privileges;

  配置Cacti中的mysql连接参数:

  # vi /usr/local/cacti/include/config.php

  $database_type = "mysql";

  $database_default = "cacti";

  $database_hostname = "192.168.1.1";

  $database_username = "cacti";

  $database_password = "cacti";

  $database_port = "3306";

  $url_path = "/cacti/"; #这一行非常重要设置cacti程序访问路径的

  五、建立任务调度(设置cacti收集数据的默认的任务计划)

  # crontab -e

  */2 * * * * /usr/local/php5.3.23/bin/php /usr/local/cacti/poller.php > /dev/null 2>&1

  代表每2分钟来执行后面PHP解析内容,把显示信息重定向到空的路径

  为了防止这个任务计划不执行,我们最好手动验证一下,

  # /usr/bin/php /usr/local/cacti/poller.php

  如果出现大量php时区设置的错误,那php.ini的时区设置的不对,下面我们来修改一下php时区。

  # vim /etc/php.ini

  date.timezone = Asia/Shanghai

  # service httpd restart

  六、安装cacti

安装cacti

  在浏览器中输入http://ip/cacti 跟着提示进行安装;默认管理员用户名和密码都是admin,首次登录强制要求修改管理员用户密码。

  七、cacti-plugins插件安装

  PA的安装,PA是cacti的插件管理工具,其他插件需要PA的支持才可以安装,安装monitor、settings、thold插件。

  八、被监控主机snmp的配置

  在生产环境中,snmp协议一般只开在内网网卡:

  # vi /etc/snmp/snmpd.conf

  1、更改

  com2sec notConfigUser default public

  改为

  com2sec notConfigUser 127.0.0.1 public本机

  com2sec notConfigUser 192.168.1.1 public 监控主机

  2、#view all included .1 80

  将前面的 # 注释 去掉。 保存退出。

  [root@server5 ~]# service snmpd start

  启动 snmpd:

  [root@server5 ~]# chkconfig snmpd on

  测试snmp是否正常:

  [root@server5 ~]# snmpwalk -v 2c 127.0.0.1 -c public

  小结:Cacti是用PHP语言实现的一个软件,它的主要功能是用SNMP服务获取数据,然后用RRDTool储存和更新数据,当用户需要查看数据的时候用RRDTool生成图表呈现给用户。不妨关注课课家教育平台,在这个学习知识的天堂中,您肯定会有意想不到的收获的!

赞(24)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程