nagios二次开发(三)---nagiosql架构简介
NAGIOSQL数据库结构简介
个人觉得如果了解一个系统的架构,应该先从数据库着手,因为数据库是灵魂,当然前提是这个系统用到了数据库。刚才说到了架构,其实我还真不知架构到底是个什么东东,也不知第一句话说的是否在理,因为我确实不懂开发,更没了解过某个系统的架构。嘿嘿。
先来个mysql数据库表的截图,见1.4
这个截图中的表就是nagiosql所用到的表,在二次开发过程中请尽可能的使用系统默认的表,因为这样可以最少的减小系统的出错机率,但是如果在表中加字段时请慎重。因为一个主要原因就是 :nagiosql是会写配置文件的,在写配置文件过程中,它会select * from table的,哈哈。(之后的文章,我会介绍解决的办法!)
下面简单介绍下圈起来的几个表,他们都是常用到的,tbl_是默认的前缀,tbl_lnk表示关联表:
NAGIOSQL源码结构简介
源码结构如下图:
注:其它未标注文件为自动生成的配置。
NAGIOSQL运行时
默认的nagiosql所展示的每个页面都是通过templates目录下的tpl.htm模板展现的。nagiosql通过一个叫做HTML_Template_IT的模板类去处理模板的加载、分析、配置、展现。不得不说这个模板处理的机制已经很古董了,除了思想与现在的模板使用基本一致外,我想这个类的使用现在应该已经被人遗忘的差不多了,因为它确实不是很主流,以至于各种找不到介绍与使用它的资料。如需想了解更多可访问http://pear.php.net/manual/en/package.html.html-template-it.php。
nagiosql首次运行的时候,index.php页面会首先加载functions/prepend_adm.php文件,并通过此页面中的session_start()方法设置session信息。而登录后的状态保存及权限控制也基本全是基于session进行的,这也完全归功于php强大的session功能。prepend_adm.php文件控制着全局的页面显示,它是全局模板(包括文件头,页脚)main.tpl.htm的数据源。functions/nag_class.php则控制着左侧菜单及插入、删除、更改页面的数据源。admin_master.tpl.htm模板页则控制着每个页面的主内容。
它们的对应关系的简要截图如下:
请朋友们转载时注明出处,因为我是为了更好的方便大家来和我讨论。谢谢了。
意见及建议:ruberzhu@qq.com
nagios二次开发(三)---nagiosql架构简介的更多相关文章
- nagios二次开发(四)---nagios监控原理和nagios架构简介
nagios监控原理 下面根据上面摘自网络的原理图对nagios的监控原理进行一下简单的说明: 1.nagios通过nsca进行被动监控.那么什么是被动监控呢?被动监测:就是指由被监测的服务器主动上传 ...
- nagios二次开发(一)---开发思想
NAGIOS现状 从nagios的官网http://www.nagios.org/及其它已经公开的资料,我们可以知道:在web UI层nagios只提供了给我们查看图形界面的操作,界面上有简单的启 ...
- nagios二次开发(五)---nagios和nagiosql的关系
根据对nagios和nagiosql的了解,笔者简要的将二者的关系粗略的梳理了一下,具体情况如下图所示: 从上面的关系图中可以看出,nagios与nagiosql共享了主机.主机组.服务.服务组等.c ...
- nagios二次开发(五岁以下儿童)---nagios和nagiosql关系
基于nagios和nagiosql理解.这将是这两个梳理比较粗糙的简单关系,有关详细信息,请参阅下面的图如: 从上面的关系图中能够看出,nagios与nagiosql共享了主机.主机组.服务 ...
- nagios二次开发(二)---nagios和nagiosql合并与取舍
NAGIOS做前台 上一篇本人分析了nagios和nagiosql的优缺点,根据之前的使用经验及探索.决定将nagios做为监控数据的展示层,暂称做“前台”.将nagiosql做为监控体的配置层,暂称 ...
- nagios二次开发(六)---nagiosql原理及主要文件的介绍
nagiosql的入口文件:index.php,这也是所有php程序的入口文件.是由apache指定的. index.php 文件的开始引入了 require("functions/prep ...
- 企业级监控平台开发之nagios二次开发(七)
背景: A公司里有很多服务器(>3000台),每台服务器都有不同的用途,如DB Server.WEB Server.ESXI等,每个组使用其中的一批,每个组可能有多个服务器管理员.现在问题出来了 ...
- ccflow表机构与运行机制(二次开发必看)
驰骋工作流引擎,工作流程管理系统,表结构与运行机制. ------------------------------------------------------- 前言: 1, ccflow 有自动 ...
- E8.Net 工作流二次开发架构平台
一. 产品简介 E8.Net工作流开发架构是基于微软.Net技术架构的工作流中间件产品,是国内商业流程管理(BPM)领域在.Net平台上的领先产品,是快速搭建流程管理解决方案的二次开 ...
随机推荐
- .pyc是个什么鬼?
1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在.如果是解释型语言, ...
- ARC中KVO开发注意
1 在ARC 中 KVO开发 添加监听和去掉监听必需 一一匹配,不要有过的去掉监听否则会有可能导致对象无法释放. 例如,在一个viewcontroller中添加webview 并监听webview的c ...
- NHibernate Demo 和 效率测试
本文关于NHibernate的Demo和效率测试,希望对大家有用. 1.先去官网下载Nhibernate 2.放入到项目中并建立Helper类 private static ISession _Ses ...
- LogStash的Filter的使用
最近在项目中使用LogStash做日志的采集和过滤,感觉LogStash还是很强大的. input { file{ path => "/XXX/syslog.txt" sta ...
- Integration Services创建ETL包
http://www.cnblogs.com/chiniao/archive/2009/12/23/1630595.html (转载) Microsoft Integration Services ...
- 函数指针_typedef
一 函数指针 1 函数类型 函数的类型由它的返回值类型,和形参类型共通过决定,与函数名无关. eg:bool lengthcompare(const string&, const string ...
- ArcGIS Engine中数据的加载 (转)
1.加载Shapefile数据 1 IWorkspaceFactory pWorkspaceFactory; 2 IFeatureWorkspace pFeatureWorkspace; 3 IFea ...
- expr 命令
求表达式变量的值.expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出. 用法:expr Expression Expression 参数规则: 用空格隔开每个项. 用 ...
- vc6.0运用mysql数据库中的编码所导致的乱码问题(接收和输出的编码必须要一致)
[编译中遇见的问题] ①在用vc 6.0去调用MySQL中的数据时,出现中文乱码 ②不明白mysql中的码制 [开始解决问题] ①打开mysql控制台 ...
- GHOST(幽灵)重大漏洞
cd /usr/local/srcwget https://webshare.uchicago.edu/orgs/ITServices/itsec/Downloads/GHOST.cgcc GHOST ...