zoukankan      html  css  js  c++  java
  • cacti监控部署与配置

     cacti是一套基于PHP,mysql,SNMP及RRDTool开发的网络流量测试图形分析工具 

       cacti是通过snmpget来获取数据,使用RRDtool绘画图形 ,而且完全可以不需要了解RRDtool复杂的参数 ,它提供了非常强大的数据和用户管理功能,可以指定每个用户能查看树状结构,host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面 友好,软件cacti的发展是基于让RRTool使用这更方便的使用该软件,除了基本 的SNMP的流量更系统咨询监控外,cacti也可外挂scripts及加上Temlates来做出各式各样的监视

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

         mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名,主机IP,snmp团体名,端口,模板信息等变量,snmp抓 到的数据不是存储在mysql中的,而是存在rrdtool生成rrd文件的处理 ,rrd文件 是大小固定的档案文件,它能够存储的数据笔数在创建时就已经定义。

    Cacti监控安装及监控本机

    Nagios  zabbix

    Cacti简介

    • 是一套基于php、mysql、SNMP、RRDTool开发的网络流量监测图形分析工具。Cacti通过snmpget获取数据,使用RRDTool绘画图形。最后通过web方式呈现出来
    • Cacti三层架构:

    –        数据采集层:通过SNMP或自定义脚本进行数据采集

    –        数据存储层:通过cacti模板等数据存放至MYSQL中

    –        数据展现层:通过WEB方式呈现出来

    可以把他理解为一个php网站

    一、安装

    1、安装必须的软件包

    [root@cacti-server ~]# yum -y install httpd php php-mysql php-ldap php-xml mysql mysql-server

    [root@cacti-server ~]# yum  install –y net-snmp lm_sensors gcc gcc-c++ libart_lgpl-develzlib-devel libpng-devel freetype-devel net-snmp-utils

    2、安装rrdtool。Rrdtool是一个绘图工具,系统光盘中没有提供,所以需要手工安装

    (1)安装rrdtool编译时所需软件

    (2)解压rrdtool并进行配置安装

    [root@cacti-server ~]# tar zxvf rrdtool-1.2.30.tar.gz -C /usr/src/cd

    [root@cacti-server ~]# cd /usr/src/rrdtool-1.2.30/

    [root@cacti-server rrdtool-1.2.30]# ./configure --prefix=/usr/local/

    [root@cacti-server rrdtool-1.2.30]# make && make install

    3、启动mysql数据库和httpd服务

    [root@cacti-server ~]# /etc/init.d/httpd start

     [root@cacti-server ~]# chkconfig --add httpd

    [root@cacti-server ~]# chkconfig httpd on

    [root@cacti-server ~]# /etc/init.d/mysqld start

    [root@cacti-server ~]# chkconfig --add mysqld

    [root@cacti-server ~]# chkconfig mysqld on

    4、安装cacti

    (1)cacti本质上是一个PHP网站,只需要把它解压并拷贝到/var/www/html/目录下即可

    [root@cacti-server ~]# tar zxvf cacti-0.8.8a.tar.gz -C /usr/src/

    [root@cacti-server ~]# cd /usr/src/

    [root@cacti-server src]# mv cacti-0.8.8a/ /var/www/html/cacti

    [root@cacti-server src]# cd /var/www/html/cacti/

    (2)创建cactiuser用户,并设置相关目录的属主、属组

    [root@cacti-server cacti]# adduser cactiuser

    [root@cacti-server cacti]# chown -R cactiuser.cactiuser rra/ log/

    其中rra目录是收集到的监控数据目录,log目录是日志目录

    (3)创建数据库。因为cacti并没有把创建数据库的脚本写到网页中,所以需要管理员手工创建相关数据库。

    进入Mysql数据库

    Mysql

    创建数据

    mysql> create database cactidb default character set utf8;

    为数据库进行授权:

    mysql> grant all on cactidb.* to 'cactiuser'@'localhost' identified by '123.com';

    Query OK, 0 rows affected (0.00 sec)

    (4)以cactiuser的身份把sql脚本导入到数据库

    [root@cacti-server ~]# mysql -u cactiuser -p123.com cactidb < /var/www/html/cacti/cacti.sql

    5)修改相关的php文件,以便于apache通过php连接mysql数据库时,可以提供正确的用户名、密码等

    [root@cacti-server ~]# cd /var/www/html/cacti/ 

    [root@cacti-server cacti]# vim include/config.php

     26行$database_type = "mysql";

    $database_default = "cactidb";

    $database_hostname = "localhost";

    $database_username = "cactiuser";

    $database_password = "cacti";

    $database_port = "3306";

     

    总结:

    1、  先安装cacti需要的系统包

    2、  解压安装

    3、  设置数据库,导入cacti.sql

    4、  修改config.php

    (6)打开网页按照向导完成安装

    在浏览器输入http://192.168.20.138/cacti/install/

    用户名和密码都是admin,首次登陆后,要求修改admin的密码    123.com

     

    修改完后即可进入界面

     

    二、监控自身

    CACTI监控的时候,是通过SNMP实现的。

    SNMP:简单网络管理协议  UDP161、162

    查询方法:

    轮询:监控端周期性地查询被监控端161

    陷阱:被监控端主动向监控端汇报事件162

    SNMP消息类型:

    get-request:监控端查询被监控端

    get-next-request:监控端查询被监控端某一项更详细内容

    set-request:监控端设置被监控端的某些参数

    get-response:被监控端回应监控端

    trap:陷阱,被监控端主动向监控端汇报事件

    1、配置snmp                                                             

    [root@cacti-server cacti]# vim /etc/snmp/snmpd.conf

    41行定义安全组

    85行定义视图

    62行向安全组授权相应的视图

     

    2、启动服务

    [root@cacti-server ~]# /etc/init.d/snmpd start

    正在启动 snmpd:                                           [确定]

    [root@cacti-server ~]# netstat -anput | grep snmp

    tcp        0      0 127.0.0.1:199               0.0.0.0:*                   LISTEN      23462/snmpd        

    udp        0      0 0.0.0.0:161                 0.0.0.0:*                               23462/snmpd        

    [root@cacti-server ~]# chkconfig --add snmpd

    [root@cacti-server ~]# chkconfig snmpd on

    3、通过WEB页面添加被监控主机

    (1)删除存在的主机

     

    (2)添加要监控的主机

    3)添加监控项

    上一步点击Create后,把页面拉到底部,后面显示没有数据,那么它是无用的,点击后面的X号,将其删除。

    添加上SNMP能够监控的项目

    使用相同的办法,把处理器信息也添加上。最后保存

    4)为监控项绘制图形

    在WEB页的最上端,点击创建图形

    选项要监控的项目,然后点击Create

     

    (5)把创建的图形加入到图形树

    (6)为图形生成数据

    在监控服务器上,以cactiuser的身份执行php命令

    [root@cacti-server cacti]# su - cactiuser

    [cactiuser@cacti-server ~]$ php /var/www/html/cacti/poller.php

    F5刷新即可出线图形

    (7)设置计划任务

    为了每隔1分钟监控服务器都会获取一次数据,需要使用计划任务,每隔1分钟生成一次数据

     crontab  -e

    */1  *  *  *  *  /usr/bin/php /var/www/html/cacti/poller.php &> /dev/null

    过几分钟显示下图为正常

  • 相关阅读:
    寒假记录六
    寒假记录5
    寒假记录4
    寒假记录3
    寒假记录2
    寒假记录1
    hive数据库课堂测试
    第一周
    个人总结
    课程总结
  • 原文地址:https://www.cnblogs.com/bixiaoyu/p/6920327.html
Copyright © 2011-2022 走看看