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

过几分钟显示下图为正常

cacti监控部署与配置的更多相关文章

  1. Smokeping 监控部署及配置

    安装参见: https://github.com/oetiker/SmokePing/blob/master/doc/smokeping_install.pod 1 Smokeping *** Gen ...

  2. Cacti+nagios 整合监控部署文档

    目录 Cacti+nagios监控部署步骤... 2 一.Cacti安装... 2 1需要安装的依赖软件包:... 2 2安装rrdtool 2 3启动数据库和httpd服务... 3 4将serve ...

  3. Security基础(五):部署Cacti监控平台、构建Cacti监测系统

    一.部署Cacti监控平台 目标: 本案例要求部署一台Cacti监控主机,并安装相关监控组件,为进一步执行具体的监控任务做准备: 安装net-snmp.net-snmp-utils 安装LAMP及相关 ...

  4. Cacti监控Windows主机,Windows主机的正确配置

    使用cacti监控Windows主机的时候经常遇到无法获取Windows主机的snmp信息和Windows主机的硬件信息,主要原因是Windows主机没有正确配置snmp,以下是正确的配置步骤:1.安 ...

  5. Linux:cacti环境部署

    一.监控端安装1)基础软件:安装配置cacti前,需要安装:httpd.php.mysqld.php-mysql.net-snmp.rrdtool以上均可使用yum安装:yum install -y ...

  6. centos7上安装cacti监控

     简介 在企业网络运维过程中,管理员必须时刻关注服务器的运行状态,如CPU.内存.磁盘空间使用情况等.为了能够及时的发现问题,尽量减少故障的发生.当网络中的设备,服务器等数量较多时,可以部署一套监控系 ...

  7. Cacti监控mysql数据库服务器实现过程

    Cacti监控mysql数据库服务器实现过程 2014-05-29      0个评论    来源:Cacti监控mysql数据库服务器实现过程   收藏    我要投稿 1 先在cacti服务器端安 ...

  8. 基于suse linux系统的cacti系统部署——rpm包方式

    豆丁 http://www.docin.com/p-191889788.html rpm包方式:啊扬--沙迳:2010-12-1:更改:2011/5/16:一.Cacti的简介(来源:网络):Cact ...

  9. Cacti监控服务

    Cacti监控服务 案例1:部署Cacti监控平台 案例2:构建Cacti监测系统 1 案例1:部署Cacti监控平台 1.1 问题 本案例要求部署一台Cacti监控主机,并安装相关监控组件,为进一步 ...

随机推荐

  1. 关于Iscroll.js 的滑动和Angular.js路由冲突问题

    Iscroll主要应用于app移动端开发. 主要代码: window.onload=function(){ var myIscroll=new IScroll(".headerNav&quo ...

  2. 愚公oracle数据库同步工具

    最近,利用一些时间对oracle数据库实时同步工具做了一些调研分析,主要关注了linkedin的databus和阿里的yugong两个中间件,其中databus需要在每个待同步的表上增加额外的列和触发 ...

  3. [leetcode-566-Reshape the Matrix]

    In MATLAB, there is a very useful function called 'reshape', which can reshape a matrix into a new o ...

  4. 从Android源码的角度分析Binder机制

    欢迎访问我的个人博客,原文链接:http://wensibo.top/2017/07/03/Binder/ ,未经允许不得转载! 前言 大家好,好久不见,距离上篇文章已经有35天之久了,因为身体不舒服 ...

  5. Sass控制命令及函数知识整理

    2017-07-07  20:17:17 最底部附结构图(实在是结构图太长了没办法) 2017-06-22  09:11:43 一.Sass的控制命令 1.@if语句 @if 指令是一个 SassSc ...

  6. localStorage与location的用法

    1.localStorage 是h5提供的客户端存储数据的新方法: 之前,这些都是由 cookie 完成的.但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 coo ...

  7. windows平台python 2.7环境编译安装zbar

    最近一个项目需要识别二维码,找来找去找到了zbar和zxing,中间越过无数坑,总算基本上弄明白,分享出来给大家. 一.zbar官方介绍 ZBar 是款桌面电脑用条形码/二维码扫描工具,支持摄像头及图 ...

  8. JavaWeb 后端 <十三> 之 监听器 JSTL国际化

    1. 监听器 1.1   概述 监听器: 主要是用来监听特定对象的创建或销毁.属性的变化的! 是一个实现特定接口的普通java类! 对象: 自己创建自己用 (不用监听) 别人创建自己用 (需要监听) ...

  9. 使用ajax提交form表单(转)

    前言 使用ajax请求数据,很多人都会,比如说: $.post(path,{data:data},function(data){ ... },"json"); 又或者是这样的aja ...

  10. Unity3D文件读取

    Resources: 是作为一个Unity3D的保留文件夹出现的,也就是如果你新建的文件夹的名字叫Resources,那么里面的内容在打包时都会被无条件的打到发布包中.它的特点简单总结一下就是: 只读 ...