《Cacti实战》——3.2 存储流程

3.2 存储流程

当数据通过SNMP或者脚本查询的方式被Cacti系统获取之后,这些数据会分门别类地存储,Cacti的工作流程就进入数据存储这一步骤。在Cacti系统中,数据一般会分为两种,一种是监控指标的数据,它们以普通文件的方式(rra文件)存储在文件系统中,另一种是系统必备的元数据,它们以结构化数据的方式存储在数据库中。下面分别介绍这两种数据是如何存储的。
3.2.1 RRDTool存储方式
在前面章节已经介绍了RRDTool基本知识,RRDTool的存储方式,也很有必要学习。RRDTool的存储方式比较有意思,简单来说,可以将这种存储方式比喻成一个圆钟,数据存储的时间节点就是圆钟上的分钟刻度,圆钟的箭头就好像读取数据的方式,它日复一日,年复一年地不断转动,没有起点和终点,指针可以一直往下走下去。每转动一圈,所有存储了数据的时间节点都会被重用,该循环过程会自动刷新原来的位置。这样的设计可以使存储的数据集不会增大,并且维护起来非常简单。
通过一个形象的例子说明RRDTool的数据存储原理。假设有一个设备需要监控,姑且叫做A设备,A设备运行起来之后会有很多描述运行状态的数据,我们把它想象成一个大型的数据池。RRDTool的工作就是要按照用户的要求获取指定的数据并保存起来。假设需要RRDTool以3种方式来读取数据,即每5分钟采集一次数据、每20分钟(4个5分钟)采集一次数据和每一小时(12个5分钟)采集一次数据。
在3-4图中,RRDTool会每5分钟采集一次数据,并保存在一个rra文件中,当运行到20分钟时,以每5分钟采集一次数据的方式进行到了第4次,这一次的数据不仅会被每5分钟采集数据的策略存储下来,同时它作为一个每20分钟采集数据策略的第一个数据存储下来。以此类推,当每5分钟采集数据进行了12次之后,第一个每小时采集数据的策略也会记录它的第一个数据。

从这个过程中不难发现,对于采集同一指标的数据,RRDTool可以按照时间策略存储多个rra数据文件,并且rra文件采用固定大小来存储,当数据写满之后,之前写过的位置会被系统重用写入新的数据。
3.2.2 数据库存储方式
数据库存储通常用来保存Cacti系统必备的元数据内容,那么什么是元数据呢?简单来说就是“描述数据的数据”(data about data)。其中,后一个data是指被描述的信息资源,前一个data则是指为理解该信息资源而存储的有关信息,即元数据。例如,一组数据“15,26,31,15”,如果没有元数据对它进行描述,这一组数据就毫无意义,假如有一组元数据将它描述为“今天夜间的最低气温,明天白天的最高气温,一周之内的最高气温,一周之内的最低气温”,那么前面的4个数字变成了表达天气的数据,就变得有意义了。如果我们换一组元数据为“停车场1楼的空车位,停车场2楼的空车位,停车场3楼的空车位,停车场4楼的空车位”,则这一组数字就变成了描述空车位的数据。这就是元数据的作用。
Cacti系统将元数据保存在MySQL数据库中,通过关系型数据结构的方式存储。通过查看其中一个数据库来了解Cacti数据库的表结构存储了哪些元数据信息。如表3-1所示,“plugin_config”数据库的主要作用是存储用来描述Cacti插件的基本信息。从字段注释,不难看出Cacti数据库的主要作用就是存储描述Cacti系统的各种元数据。

附录完整呈现了Cacti数据库的结构,这里为节省篇幅不再赘述。

时间: 2024-11-18 07:52:26

《Cacti实战》——3.2 存储流程的相关文章

《Cacti实战》——第3章 Cacti的基础流程

第3章 Cacti的基础流程 第1章介绍了Cacti系统的数据流向,这里先简单回顾一下. Cacti在监控主机设备时,首先按照系统内设置好的数据检索方式(主要是数据输入方式和数据查询两种类型),查询与获取对设备主机进行监控的指标数据:其次,Cacti将数据按照要求分类,监控数据保存在rra文件中,元数据保存在数据库中:最后,Cacti系统按照预先设置的图形模板绘制图表,将数据以可视化的方式展现给用户.因此,数据的流向可以分为如图3-1所示的3个部分,即数据的检索流程.数据的存储流程和数据展现的可

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

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

《Cacti实战》——3.1 检索流程

3.1 检索流程 Cacti系统的首要任务是对网络内的监控设备进行数据检索,即监控数据的获取过程.Cacti使用轮询器,也就是Poller程序来完成这个工作.还记得么?就是"同福客栈的大跑堂白展堂".Poller程序通过操作系统自身的计划任务功能被定期触发执行.Windows平台的计划任务功能就是自身的维护计划程序,Linux平台的计划任务功能就是Cron程序,通过编写Crontab脚本来实现.在IT数据中心的环境中有各种各样的设备,如服务器.网络设备,甚至家用电器等.不用担心,大部分

《Cacti实战》——2.2 安装与配置相关组件和服务

2.2 安装与配置相关组件和服务 "原材料"准备好了,但距离Cacti成功运行还有一步之遥,必须正确.完整地安装配置Cacti所需的环境和服务,本节分为Windows和Linux两个平台来介绍安装和配置Cacti系统需要的基础环境和服务.2.2.1 Windows Server平台的环境搭建 以Windows Server 2008 R2 Standard版本为例,基于IIS的Windows平台的Cacti环境配置流程如图2-1所示. 当然,在Windows平台上,可以使用Apache

《Cacti实战》——导读

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

《Cacti实战》——3.4 本章小结

3.4 本章小结 通过本章的介绍,我们了解了Cacti系统的工作流程.Cacti的工作流程分为数据检索.数据存储.数据可视化三个环节.数据检索负责将数据按照指定的时间.频度.执行方式来查询和获取监控设备的指标数据.数据存储负责保存Poller程序收集回来的数据,元数据保存在MySQL数据库中,监控的数据保存在rra文件中,方便RRDTool工具后续绘图使用.数据可视化的主要任务是将监控数据和指标以一定的格式绘制出来,它借助RRDTool工具中的Graph画图命令来完成该工作.当然在实际使用过程中

《Cacti实战》——1.1 Cacti的起源与发展现状

1.1 Cacti的起源与发展现状 本节介绍了Cacti的基本情况,包括Cacti的基本概念.Cacti从诞生到发展的阶段过程,对于文章中出现的一些功能和概念,大家只要有一个初步印象即可,我们会在后文中详细介绍,本章的主要目的是带大家进入Cacti的世界,以便后续展开相关的话题.1.1.1 什么是Cacti Cacti是一个针对数据中心的网络层.平台层.数据层以及业务层全流程进行监控的运维管理平台.它也是基于RRDTool(Round Robin Database Tool)开源项目的一个前端展

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

1.3 Cacti的架构与原理 本节分为两大部分,第一部分介绍Cacti的组织架构,通常新产品部分的介绍都比较晦涩难懂,所以我们通过一个形象生动的例子来介绍,大家看了不会感觉头晕脑胀.第二部分阐述Cacti系统的数据流向,这里不用花太多时间,了解即可,因为后面章节会有详细说明.1.3.1 Cacti系统的组织架构Cacti系统的各个模组之间的工作界面比较清晰,各个模组分工明确,耦合松散.如果把系统比作同福客栈(Cacti系统),那么会有以下几个角色(系统模组).1.?同福客栈的门脸--浏览器窗口

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

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