cacti监控的搭建-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 855083
  • 博文数量: 72
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1693
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-04 15:53
个人简介

主要从事linux,云原生架构改造,服务网格,elk,python,golang等相关技术。

文章分类

全部博文(72)

文章存档

2015年(52)

2014年(20)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: 架构设计与优化

2015-03-23 13:39:10

 通过百度对cacti,rrdtool等工具的了解:
        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教学。

        rrdtool是指round robin database 工具(环状数据库)。round robin是一种处理定量数据、以及当前元素指针的技术。想象一个周边标有点的圆环--这些点就是时间存储的位置。从圆心画一条到圆周的某个点的箭头--这就是指针。就像我们在一个圆环上一样,没有起点和终点,你可以一直走下去。过来一段时间,所有可用的位置都会被用过,该循环过程会自动重用原来的位置。这样,数据集不会增大,并且不需要维护。我们使用rrdtool来处理rrd数据库。使用它向rrd数据库存储提取数据。
rrd适合存储时间序列的数据。就是说你必须能够在时间的几个点上度量某些值,并提供这些信息给rrdtool。如果你能够做到这一点,rrdtool就能够存储它们。这些数值必须是数字,但是不一定要是整数。
下面的许多例子是关于snmp的,snmp是简单网络管理协议的缩写。简单是指协议简单--并不表示管理或监视网络简单。读完本篇文档后,你应当能够对人们谈论的snmp有更多的理解。只要知道snmp可以用来查询设备中保持的计数器的值就可以了。我们要存放到rrd数据库中的正是这些计数器中的数值。
rrdtool源自mrtg(多路由器流量绘图器)。mrtg是有一个大学连接到互联网链路的使用率的小脚本开始的。mrtg后来被当作绘制其他数据源的工具使用,包括温度、速度、电压、输出量等等。
很可能你会从使用rrdtool来存储和处理通过snmp收集到的数据。这些数据很可能是某个网络或计算机接收或发送的字节数(比特数)。它也可以用来显示潮水的波浪、阳光射线、电力消耗、展会的参观人员、机场附近的噪音等级、你喜欢的度假区的温度、电冰箱的温度、以及任何你可以想象的东西。
你最需要一个度量数据,以及能够提供这些数据给rrdtool的感应器。rrdtool会让你创建数据库、存储数据、提取数据、创建用于在web浏览器中显示的png格式的图像。这些png图像来于你收集的数据,它可以是网络平均使用率、峰值等。
下面是cacti监控的一个关系拓扑图:

接下来我们开始搭建cacti监控环境:
首先安装snmp服务:
[root@vm ~]# yum install net-snmp.x86_64 net-snmp-utils.x86_64 -y
[root@vm ~]# /etc/init.d/snmpd start
对snmp进行配置:/etc/snmp/snmpd.conf
配置看这个网页:

configure snmp

(1) edit the file /etc/snmp/snmpd.conf using a text editor such as vi, enter:
# vi /etc/snmp/snmpd.conf

change/modify line(s) as follows:

find the following line:

com2sec notconfiguser  default       public
replace with (make sure you replace 192.168.0.0/24 with your network/subnet) the following lines:
com2sec local     localhost           public
com2sec mynetwork 192.168.0.0/24      public            #这里改成你的ip所对应的网段

scroll down a bit and change :

find lines:

group   notconfiggroup v1           notconfiguser
group   notconfiggroup v2c           notconfiguser

replace with:

group myrwgroup v1         local
group myrwgroup v2c        local
group myrwgroup usm        local
group myrogroup v1         mynetwork
group myrogroup v2c        mynetwork
group myrogroup usm        mynetwork

again scroll down a bit and locate the following line:

find line:

view    systemview     included      system

replace with:

view all    included  .1                               80

again scroll down a bit and change the following line:

find line:

access  notconfiggroup ""      any       noauth    exact  systemview none none

replace with:

access myrogroup ""      any       noauth    exact  all    none   none
access myrwgroup ""      any       noauth    exact  all    all    none

scroll down a bit and change the following lines:

find lines:

syslocation unknown (edit /etc/snmp/snmpd.conf)                
syscontact root  (configure /etc/snmp/snmp.local.conf)
replace with (make sure you supply appropriate values):
syslocation linux (rh3_up2), home linux router.        
 syscontact yournamehere             注意这里我们在设置的时候一定要改成你的用户名
按照上面的配置完成后我们重新启动服务:
[root@vm ~]# /etc/init.d/snmpd restart
[root@vm ~]# snmpwalk -v 1 -c public localhost ip-mib::ipadentifindex
ip-mib::ipadentifindex.127.0.0.1 = integer: 1
ip-mib::ipadentifindex.192.168.1.103 = integer: 2
看到我自己的ip信息证明我们配置正确.

安装配置apache,mysql,php:
[root@vm ~]# yum install httpd php mysql-server php-mysql php-snmp php-xml -y
[root@vm ~]# rpm -ivh php-snmp-5.3.3-22.el6.x86_64.rpm    #这个安装包我们需要从网上下载
[root@vm ~]# /etc/init.d/mysqld start
[root@vm ~]# mysql_secure_installation            #初始化数据库,并给root用户设置密码
[root@vm ~]# mysql -uroot -p
enter password:     输入密码登录数据库验证

安装rrdtool工具:
[root@vm ~]# yum install libxml* perl-extutils-embed -y        #这两个包是后面编译安装所需要的
[root@vm ~]# tar zxf rrdtool-1.4.4.tar.gz
[root@vm ~]# cd rrdtool-1.4.4
[root@vm rrdtool-1.4.4]# ./configure
[root@vm rrdtool-1.4.4]# make && make install
[root@vm rrdtool-1.4.4]# ln -s /opt/rrdtool-1.4.4/bin/rrdtool /usr/local/bin/

安装并配置cacti
[root@vm ~]# tar zxf cacti-0.8.8b.tar.gz -c /var/www/html/cacti
[root@vm ~]# cd /var/www/html/cacti/
[root@vm cacti]# useradd cacti
[root@vm cacti]# mysqladmin -pwestos create cacti
[root@vm cacti]# mysql -pwestos cacti [root@vm cacti]# mysql -pwestos
mysql> grant all on cacti.* to cacti@localhost identified by 'westos';
mysql> flush privileges;
[root@vm cacti]# cd include/
[root@vm include]# vim config.php         
  1. /* make sure these values refect your actual database/host/user/password */
  2. $database_type = "mysql";
  3. $database_default = "cacti";
  4. $database_hostname = "localhost";
  5. $database_username = "cacti";     #修改用户名
  6. $database_password = "westos";    #修改密码
  7. $database_port = "3306";
  8. $database_ssl = false;

  9. $url_path = "/cacti/";
  10. $cacti_session_name = "cacti";
[root@vm include]# vim /etc/php.ini
date.timezone = asia/shanghai        #修改时区,因为要做crontab
[root@vm include]#su - cacti
[root@vm ~]$ crontab -e
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1        #我们定义每5分钟采集一次数据
[root@vm include]# /etc/init.d/httpd start
在浏览器上输入:安装cacti,第一次登录用户名和密码都是admin,后面可以自己修改。
当我们点击graphs的时候出现一些字符乱码,是因为缺少,解决办法如下:
[root@vm ~]# yum install -y cjkuni-uming-fonts        #安装完成后刷新页面显示正常

安装cacti-spine加速器,提高扫面速率:
[root@vm cacti]# yum install dos2unix autoconf automake libtool -y
[root@vm ~]# tar zxf cacti-spine-0.8.8b.tar.gz
[root@vm ~]# cd cacti-spine-0.8.8b
[root@vm cacti-spine-0.8.8b]# ./configure
[root@vm cacti-spine-0.8.8b]# make && make install
[root@vm cacti-spine-0.8.8b]# cd /usr/local/spine/etc
[root@vm etc]# cp spine.conf.dist  spine.conf
[root@vm etc]# vim spine.conf        #修改下面内容
    db_host         localhost
    db_database     cacti
    db_user         cacti
    db_pass         westos
    db_port         3306
    db_preg         1
[root@vm etc]# cp spine.conf /etc/
[cacti@vm ~]$ /usr/local/spine/bin/spine
spine: using spine config file [/etc/spine.conf]
spine: version 0.8.8b starting
spine: time: 0.0651 s, threads: 5, hosts: 2

cacti 0.8.8版本以后可以不用装plugin,直接进行一下模块的添加:
[root@vm ~]# tar zxf settings-v0.71-1.tgz -c /var/www/html/cacti/plugins
[root@vm ~]# tar zxf monitor-v1.3-1.tgz -c /var/www/html/cacti/plugins
[root@vm ~]# tar zxf thold-v0.5.0.tgz -c /var/www/html/cacti/plugins
然后登录到web界面去设置cacti,进入cacti之后,首先设置安装好的spine
console->setting->paths

save之后点击poller->点击下图中的cmd.php

选择spine最后save
console->plugin management 安装插件,下面我们展示几张监控的图片:


下面我们做一下如何添加其他主机的状态监控:
我们另外一台主机的ip:192.168.1.104    (selinux and iptables is disabled)
[root@vm1 ~]#  yum install net-snmp.x86_64 net-snmp-utils.x86_64 -y
[root@vm ~]# scp /etc/snmp/snmpd.conf 192.168.1.104:/etc/snmp/        #从103主机上复制snmpd.conf这个配置文件到104主机,然后开启104主机的snmp服务
[root@vm1 ~]# /etc/init.d/snmpd start
[root@vm ~]# snmpwalk -v 1 -c public 192.168.1.104 ip-mib::ipadentifindex        #在103上对104进行远程监控
ip-mib::ipadentifindex.127.0.0.1 = integer: 1
ip-mib::ipadentifindex.192.168.1.104 = integer: 2
然后我们在web端进行设置:
点击下图的console->create devices

点击add:

填写下面信息:


点击save,出现下面信息:
创建graph

选择下面两个选项:

添加要监控的项:

出现下面信息一下信息表示成功:

创建->add填写好后,然后继续点击下面的add->save

选择要监控的主机,然后create:

到这里我们的监控主机添加成功,下面我们点击monitor就可以看到,点击192.168.1.104我们可以看到他的监控信息


我们还可以通过setting设置邮箱报警,等其他设置.
阅读(9352) | 评论(1) | 转发(1) |
1

上一篇:

下一篇:

给主人留下些什么吧!~~

2017-03-28 10:58:09

你好 php-snmp-5.3.3-22.el6.x86_64.rpm这个包从哪个网站下载的?我搜尽了都没有找到

|
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图