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

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介:

本节书摘来自华章计算机《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数据文件来创建监控图形。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
9月前
|
人工智能 监控 前端开发
支付宝 AI 出行助手高效研发指南:4 人团队的架构迁移与提效实战
支付宝「AI 出行助手」是一款集成公交、地铁、火车票、机票、打车等多项功能的智能出行产品。
1340 21
支付宝 AI 出行助手高效研发指南:4 人团队的架构迁移与提效实战
|
9月前
|
消息中间件 Java 数据库
Java 基于 DDD 分层架构实战从基础到精通最新实操全流程指南
本文详解基于Java的领域驱动设计(DDD)分层架构实战,结合Spring Boot 3.x、Spring Data JPA 3.x等最新技术栈,通过电商订单系统案例展示如何构建清晰、可维护的微服务架构。内容涵盖项目结构设计、各层实现细节及关键技术点,助力开发者掌握DDD在复杂业务系统中的应用。
1717 0
|
7月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
7月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
1244 2
Spring Boot 3.x 微服务架构实战指南
|
8月前
|
消息中间件 数据采集 NoSQL
秒级行情推送系统实战:从触发、采集到入库的端到端架构
本文设计了一套秒级实时行情推送系统,涵盖触发、采集、缓冲、入库与推送五层架构,结合动态代理IP、Kafka/Redis缓冲及WebSocket推送,实现金融数据低延迟、高并发处理,适用于股票、数字货币等实时行情场景。
1235 3
秒级行情推送系统实战:从触发、采集到入库的端到端架构
|
8月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
908 7
|
8月前
|
JSON 供应链 监控
1688商品详情API技术深度解析:从接口架构到数据融合实战
1688商品详情API(item_get接口)可通过商品ID获取标题、价格、库存、SKU等核心数据,适用于价格监控、供应链管理等场景。支持JSON格式返回,需企业认证。Python示例展示如何调用接口获取商品信息。
|
7月前
|
机器学习/深度学习 自然语言处理 监控
23_Transformer架构详解:从原理到PyTorch实现
Transformer架构自2017年Google发表的论文《Attention Is All You Need》中提出以来,彻底改变了深度学习特别是自然语言处理领域的格局。在短短几年内,Transformer已成为几乎所有现代大型语言模型(LLM)的基础架构,包括BERT、GPT系列、T5等革命性模型。与传统的RNN和LSTM相比,Transformer通过自注意力机制实现了并行化训练,极大提高了模型的训练效率和性能。
1614 0