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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

本节书摘来自华章计算机《Cacti实战》一书中的第1章,第1.3节,作者:刘钊,张跃著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

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数据文件来创建监控图形。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
存储 搜索推荐 数据挖掘
ElasticSearch架构介绍及原理解析
ElasticSearch架构介绍及原理解析
92 0
|
1月前
|
存储 运维 负载均衡
MFS详解(二)——MFS原理和架构
MFS详解(二)——MFS原理和架构
30 0
|
2月前
|
架构师 安全 Java
资深架构师带你解析Synchronize关键字原理
众所周知 Synchronize 关键字是解决并发问题常用解决方案,有以下三种使用方式:
26 0
|
2月前
|
存储 安全 网络安全
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:八
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:八
|
2月前
|
分布式计算 关系型数据库 大数据
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:九
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:九
|
2月前
|
存储 负载均衡 算法
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:一
「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:一
|
1月前
|
存储 缓存 运维
ISCSI详解(三)——ISCSI原理和架构
ISCSI详解(三)——ISCSI原理和架构
44 2
|
21天前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
23 0
|
21天前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
42 0
|
28天前
|
运维 Linux Apache
LAMP架构调优(九)——Apache Rewrite功能实战
LAMP架构调优(九)——Apache Rewrite功能实战
12 1