java cacti_开源的企业级监控系统 Cacti 简介

Cacti是一个基于PHP、MySQL、SNMP和RRDTool的网络流量监控工具,用于数据采集、存储和图表展示。其关键组件包括SNMP和RRDTool,通过轮询器收集数据,RRDTool存储和更新数据。Cacti工作流程涉及数据采集、存储和通过Web方式呈现。安装步骤包括安装依赖软件、rrdtool、启动服务、创建数据库和导入数据、修改配置文件,最后通过Web向导完成安装。
摘要由CSDN通过智能技术生成

Cacti是一款网络流量监测图形分析工具,把LAMP的功能都结合起来,用于网络流量监控,操作起来非常方便!让我们认识下Cacti简介及工作流程。

一、Cacti简介

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

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

3. snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(RoundRobinArchive),它能够存储的数据笔数在创建时就已经定义。

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

• Cacti三层架构:

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

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

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

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

Cacti各组件的功能如图1.1所示:

f8bd8b9e07839ad26f9e34bfe1c1800f.png

2、Cacti工作原理

Cacti操作可以分为以下三部分,如图2.1所示:

0406eb592791bce5596e781f39a90464.png

2.1 Data Retrieval

Cacti首先要做的工作就是收集数据,cacti使用Poller(轮询器)收集数据。Poller是操作系统scheduler的扩展,如在类Unix系统中的crontab。现在的IT设施中会有许多不同的设备,如服务器、网络设备等,cacti主要使用SNMP协议来从远端的设备上收集数据,所有可以使用SNMP协议的设备都可以被cacti监控。

2.2 Data Storage

存储收集到的数据有许多方法,可以使用数据库、平面文件等,cacti使用的是RDDTool。RRD是RoundRobin Database(环形数据库)的缩写,RRD用来存储和显示时间序列数据,如网络带宽、机房温度、服务器负载等,RRD使用非常紧凑的方式存储数据,数据不会随着时间的推移而增大,RRD还可以生成美观的图形。这些特性使得cacti没有存储需求。RRD也做一席位其他的工作,如RRD会将原始数据与已整合的数据进行合并,以使得历史数据的存储节省空间,RRD支持的整合功能包括:AVERAGE,MAXIMUM, MINIMUM和LAST。

2.3 Data Presentation

Cacti最大的一个特点是内置了RRDTool画图功能,将其与通用的web服务器相结合,可以实现在任意平台上使用浏览器就可以查看监控画面。

一、安装

1、安装必须的软件包

yum -y install httpd php php-mysql php-ldap php-xml net-snmp-utils mysql mysql-server net-snmp lm_sensors gcc gcc-c++ libart_lgpl-devel zlib-devel libpng-devel freetype-devel

542c7f30088970dfcbd298a2ba9fd257.png

2、安装rrdtool。

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

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

2c64c088a987cceac964d29cc3d220b3.png

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

tar xvf rrdtool-1.2.27.tar.gz

cd rrdtool-1.2.27

./configure --prefix=/usr/local/

Make  && Make install

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

/etc/init.d/mysqld start

chkconfig mysqld on

/etc/init.d/httpd start

chkconfig httpd on

4、安装cacti

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

Tar  xvf  cacti-0.8.7g.tar.gz

mv cacti-0.8.7g /var/www/html/cacti

cd /var/www/html/cacti/

6e99a8eacbc743ac168b888213ab7c7b.png

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

useradd cactiuser

chown -R cactiuser.cactiuser rra/ log/

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

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

进入Mysql数据库

Mysql

创建数据库

create database cactidb default character set utf8;

为数据库进行授权:

grant all on cactidb.* to 'cactiuser'@'localhost' identified by 'cacti';

aa62af678130425b46dd277aed44377f.png

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

mysql -ucactiuser -pcacti cactidb < cacti.sql

e745e1db393479f59d4bc55d887f5eb4.png

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

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.10.64/cacti/install/

f60734d0bb51c3383775555d97b82b1a.png

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

d50a64350ae4467a3928f8c5bb8de5b0.png

修改完后即可进入界面

dfd8f2fd2efca2d8a145569a17f9ab9d.png

二、监控自身

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

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

查询方法:

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

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

SNMP消息类型:

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

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

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

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

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

1、配置snmp

vim /etc/snmp/snmpd.conf

b42a3749f396bc7df42e7ffe60a875a6.png

2、启动服务

/etc/init.d/snmpd start;chkconfig snmpd on

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

(1)删除存在的主机

4de3503843748c631da2ce458d6ba0c7.png

(2)添加要监控的主机

47e7ba4363317b2be5c38b11b085a31d.png

(3)添加监控项

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

添加上SNMP能够监控的项目

d597e72a35fe8fbf333daa817de420c5.png

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

9c20b523433a623b7ded4b3101844d6b.png

(4)为监控项绘制图形

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

5b58ad2732203f1b1af1fdc49f97acc6.png

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

fe4f82e6f8977b19bd68fb77bd9d7269.png

9a9f65e7162995adbedcd5c39dd48119.png

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

cdac7533a0a26cf92d698c419c12f818.png

558235d63ca0a9943a73faf38692899e.png

(6)为图形生成数据

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

ebf02730178829bb905ff0de918fc43d.png

过几分钟显示下图为正常

参考链接:

https://mp.weixin.qq.com/s/_3Ocv80v8dTMQIGxhiW4Ew

链接:

cacti论坛  :http://www.cnyunwei.com/forum-59-1.html

Cacti 0.8 Network Monitoring : http://club.topsage.com/thread-379998-1-1.html

Centos6.8安装cacti教程    :  https://www.jb51.net/os/RedHat/512819.html

Centos7.2部署Cacti :  https://mp.weixin.qq.com/s/ONWNOZYx2JfisKgKtn-Cdg

ee311f9752ffedd31f64abf6fc579cd7.png

cacti监控工具之自定数据收集方法            :      http://blog.51cto.com/zhaochj/1672199

cacti监控工具之数据收集方法、模板介绍及使用 荐                 :   http://blog.51cto.com/zhaochj/1669081

cacti监控工具之安装篇      :   http://blog.51cto.com/zhaochj/1666191

【安全运维】Cacti监控系统注入漏洞引发的内网血案 : https://mp.weixin.qq.com/s/B34IaiZ1lQfbXxcgUIuwfA

监控 SQL Server 数据库服务器实现方法(Cacti、Nagios) : https://mp.weixin.qq.com/s/nu_tPCTu_6HrpR79LEKTVQ

如何在 Cacti 中合并两幅图片 :https://mp.weixin.qq.com/s/nu_tPCTu_6HrpR79LEKTVQ

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值