《Cacti实战》——1.3 Cacti的架构与原理

1.3 Cacti的架构与原理

本节分为两大部分,第一部分介绍Cacti的组织架构,通常新产品部分的介绍都比较晦涩难懂,所以我们通过一个形象生动的例子来介绍,大家看了不会感觉头晕脑胀。第二部分阐述Cacti系统的数据流向,这里不用花太多时间,了解即可,因为后面章节会有详细说明。
1.3.1 Cacti系统的组织架构
Cacti系统的各个模组之间的工作界面比较清晰,各个模组分工明确,耦合松散。如果把系统比作同福客栈(Cacti系统),那么会有以下几个角色(系统模组)。
1.?同福客栈的门脸——浏览器窗口
同福客栈,最初叫尚儒客栈,坐落在关中七侠镇,作为当地的一个知名高端会所,迎接远至十八里铺,西凉河地带的商业巨子,贵至六扇门的警界精英,连知县(大嘴他姑父)都要高看一眼。所谓来的都是客,同福客栈以最佳的用户体验,最完美的用户服务成为当地对外交流的形象窗口。
Cacti系统的对外窗口,即浏览器窗口,就好像同福客栈的门脸,所有的用户需求、用户操作、用户指令均通过浏览器窗口来进行交互(当然也支持命令行交互),这么做的目的只有一个——提升服务质量,完善用户体验。
2.?衡山派掌门人莫小宝遗孀、同福客栈掌柜佟湘玉——Cacti主体程序
掌柜负责客栈的整体协调,老白、大嘴、秀才一干人等均在她的调度下各司其职。谁不老实工作,她都能及时发现,开始发飙。
“额错咧,额一开始就错咧,额如果不嫁过来,额的夫君就不会死,额夫君不死,额就不会沦落到这个伤心的地方……”
Cacti主体程序是各个模组之间相互协同工作的基础和核心,它按照内置的工作流程引擎来顺序调度模组执行各自的工作。当模组工作不正常,或者数据偏离很大时,它可以及时发现其中的问题,并且第一时间报警,通知系统管理员进行系统维护。
3.?盗圣、八大派左护法、同福客栈大跑堂白展堂——Poller程序
白展堂跟掌柜的关系最好,俩人配合最紧密,掌柜要他干啥,他绝没二话,不过老白最核心的任务只有一个——跑堂,即把客人都迎进来,听听客人要吃点啥、喝点啥,都记下来。告诉李大嘴掌勺做饭。客人点完了菜,他还要隔三岔五地问问人家菜好不好吃,还需要点啥,最重要的就是得配合掌柜盯着客人,防止邢捕头、燕小六这样的二货一拔刀,客人不结账就跑了。
Poller程序主要是轮询被监控设备的数据采集工具。它在被监控设备第一次接入时通知系统建立相应的数据保存区域(招呼客人),然后定期轮询数据(回访客人),将数据保存在rrd文件中(通知大嘴做饭),并且配合主体程序(佟湘玉),实时探测被监控设备的状态,如果监控设备失去连接,就开始报警(防止客人不结账就跑路)。
4.?原七侠镇第三十六任缁衣铺头,现同福客栈厨子李大嘴——RRDTool
李大嘴重情重义,不随便抛头露面,兢兢业业把饭菜做好。他的任务是按照老白从客户那里得到的菜单,加工原料,形成菜品。即使面对钱老板的百般刁难,也能自成一家,独创必胜阁、麦得劳等多种新式月饼。他的存在,为同福客栈满足用户需求奠定了基础。虽不出彩,但足够稳定的菜品质量,保证了为同福客栈的客源。
RRDTool的主要工作是将Poller程序轮询采集到的数据进行妥善管理、保存和组织(从老白那里拿到采集的需求)。它是Cacti系统能够画出精美图表的基础。虽然RRDTool的软件体积很小,结构也相对简单,但是它工作稳定,资源开销相对较小,即使面对大量数据的处理,也能得心应手,是Cacti系统稳定工作的保障。
5.?前尚儒客栈老板、同福客栈账房吕轻侯——MySQL
吕秀才本出身名门,三岁识千字,五岁背唐诗,七岁熟读四书五经,八岁精通诗词歌赋,无奈遭遇变故,将尚儒客栈变卖给佟湘玉,成为了同福客栈账房。他饱读诗书,识文断字,是七侠镇不可多得的技术型人才,曾经刀不见血地了结姬无命而成为关中大侠,任青州知府,之后升至户部侍郎。吕秀才平时在同福客栈的主要工作是记账,把同福客栈的固定资产、人事信息等记录得井井有条。他是同福客栈长期稳定、繁荣发展的重要原因。
MySQL是一个关系型数据库管理系统,它由瑞典MySQL AB公司开发,目前属于Oracle公司(出身名门),由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。MySQL在Cacti系统中负责记录系统的基础数据(固定资产)和用户权限管理资料(人事信息)。
综上所述,一个完整的Cacti系统各个模块之间的关系应该如图1-7所示。
1.3.2 Cacti系统的数据流向
Cacti系统的数据流向主要分为三个阶段:数据的检索、数据的存储和数据的可视化(数据展示),如图1-8所示。
第3章将详细介绍这3个阶段的技术细节,这里,读者只需要有个大致的印象即可。
通过前文的介绍,结合这3个主环节,可以总结出一个完整的Cacti系统的工作流程。
Cacti系统的管理、使用、配置均通过浏览器窗口来完成。可以通过浏览器新建一个监控图表、监控模板等。所有的管理数据都存储在MySQL数据库中。同时,在一台Cacti服务器中,还可以发现Poller程序,它的任务主要是在被监控设备中轮询采集监控数据,它就好像一个路由器或者网关,将系统环境中的服务器设备、存储设备、网络设备、安全设备等一系列的IT设备的运行数据接驳进Cacti系统。这些轮询采集到的数据被保存在rrd文件中,Cacti系统运用rrd数据文件来创建监控图形。

时间: 2024-09-20 10:35:52

《Cacti实战》——1.3 Cacti的架构与原理的相关文章

《Cacti实战》——导读

前言 如何对用户的数据中心.业务系统进行妥善的日常运维和管理?这一课题是我们在日常工作当中研究的重要方向.在研究过程中,我们接触了很多商业产品和开源项目,但是在研究过程中发现,很难找到一个行之有效的方案和手段,直到接触了Cacti这个项目.它既不像企业级产品架构那样复杂庞大.交互体验不好,也不像一些开源项目那样--虽然设计简单,但是不具备高级功能,制约用户的需求扩展. Cacti的外观和架构设计很简单,而且是松散耦合,深究其内涵,我们发现它对于高级功能的扩展支持也很到位,特别适合中小型企业.院校

《Cacti实战》——2.5 Cacti的更新安装

2.5 Cacti的更新安装 我们知道开源项目的最大魅力就是在全世界有非常多的程序高手和爱好者在帮助大家一起完善,增强Cacti的功能和特性,在面对基础版本时,我们会对它进行定期更新,以使系统更加安全.有效.在介绍如何安装Cacti的扩展插件之后,下面学习如何对Cacti主体程序进行更新安装.Cacti的更新分为主体程序的更新和补丁程序的更新. 2.5.1 Cacti主体程序更新 Cacti组织会定期更新Cacti主体程序,如果希望利用Cacti的一些新特性,就需要升级安装Cacti主体程序,大

《Cacti实战》——2.3 Cacti的安装与配置

2.3 Cacti的安装与配置 下面介绍如何安装和配置Cacti,由于Cacti的程序主要是在Web浏览器环境下安装,所以从本章开始,不再分为Windows平台和Linux平台来介绍,都统一以Web浏览器的方式来介绍,如果涉及平台之间的不同配置,会在文中说明.2.3.1 安装和配置Cacti的基础平台 由于采用了基于Web浏览器的方式,Cacti基础平台的安装非常简单,也不存在针对某一特定版本或者特定系统环境的操作.按照Cacti安装程序给出的向导和建议,可以很方便地安装Cacti系统. 1.?

《Cacti实战》——3.3 数据可视化流程

3.3 数据可视化流程 数据可视化是最终呈现监控结果的重要一环,Cacti的最终任务就是将数据进行可视化展现.当系统完成数据的检索与存储之后,Cacti通常会使用RRDTool内置的绘图工具来绘制图表. 进入Cacti的"图形管理"界面,可以使用调试模式查看绘制图形的执行命令,如图3-5所示. 这段语句的主要作用见配置脚本3-1中的注释. 配置脚本3-1 SNMP查询的XML脚本头信息 c:/rrdtool/rrdtool.exe graph - \ #使用rrdtool命令绘图 --

《Cacti实战》——2.4 安装与配置过程中的排错宝典

2.4 安装与配置过程中的排错宝典 虽然我们在第一次接触Cacti时,需要经历一段比较复杂的安装过程,为了减轻大家的痛苦,也是为了Cacti能够更好地服务于大家,与大家分享在安装过程中遇到的障碍,如果你是高手,大可以帮助我们一起分析原因,引以为戒,如果你的IT系统知识还不够丰富,那么相信这一节的内容对你会有很大的帮助.2.4.1 关于版本 版本是摆在面前的第一座大山,由于Cacti采用了很多第三方的开源项目,这些项目又难以顾及所有的支持项目,所以会出现很多版本不匹配的问题,下面一一进行讲解. 首

restful 架构设计 原理 运用

问题描述 restful 架构设计 原理 运用 在网络应用中有restful架构已经很热很久了,但是我现在还不是很清楚到底什么是restful思想,原理,然后需要在项目中怎样去运用,希望大家能给我相关资料学习参考下,谢谢 解决方案 http://lwe.iteye.com/blog/1484781

《Cacti实战》——2.1 Cacti安装前的准备

2.1 Cacti安装前的准备 巧妇难为无米之炊,在"种植仙人掌"之前,先来看看需要准备哪些"原材料",主要包括硬件环境.操作系统环境和支撑Cacti系统运行的应用软件环境. 1.?硬件环境 就像仙人掌可以生长在条件恶劣的荒漠中一样,运行Cacti的环境也十分宽松,对于最小系统,或者实验环境,仅仅需要一台X86架构的计算机即可.但如果希望在企业中使用Cacti来完成日常的系统运维任务,那么还需要准备一台稳定性够好.性能够强劲的服务器.在本书的实战过程中,我们选择了H

《Cacti实战》——第2章 环境的安装和配置

第2章 环境的安装和配置 上一章介绍了Cacti的起源.功能特点和体系架构,但这多少有些纸上谈兵的感觉.从本章开始,大家将进入实战环节,通过动手操练来感受"仙人掌"的无穷魅力. 本章主要介绍Cacti的安装及配置过程.

《Cacti实战》——1.2 为什么要使用Cacti

1.2 为什么要使用Cacti 在IT行业,任何产品或者解决方案都不可能适用于所有的用户和场景,针对Cacti自身的特点,本节首先介绍它比较合适的使用场景.接着介绍目前市面上常用的同类产品,Cacti的优势和劣势,最后总结归纳出使用Cacti的理由.1.2.1 Cacti的使用场景 通过笔者这些年的考察,会发现在如下几个场景中,Cacti具有得天独厚的优势. 1.?中小型企业 通常情况下,企业,特别是中小型的企业,对于IT信息系统的建设成本比较敏感,通常这样的企业又不乏有技术.有想法的工程师,利