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架构简介的更多相关文章

  1. nagios二次开发(四)---nagios监控原理和nagios架构简介

    nagios监控原理 下面根据上面摘自网络的原理图对nagios的监控原理进行一下简单的说明: 1.nagios通过nsca进行被动监控.那么什么是被动监控呢?被动监测:就是指由被监测的服务器主动上传 ...

  2. nagios二次开发(一)---开发思想

    NAGIOS现状   从nagios的官网http://www.nagios.org/及其它已经公开的资料,我们可以知道:在web UI层nagios只提供了给我们查看图形界面的操作,界面上有简单的启 ...

  3. nagios二次开发(五)---nagios和nagiosql的关系

    根据对nagios和nagiosql的了解,笔者简要的将二者的关系粗略的梳理了一下,具体情况如下图所示: 从上面的关系图中可以看出,nagios与nagiosql共享了主机.主机组.服务.服务组等.c ...

  4. nagios二次开发(五岁以下儿童)---nagios和nagiosql关系

    基于nagios和nagiosql理解.这将是这两个梳理比较粗糙的简单关系,有关详细信息,请参阅下面的图如:      从上面的关系图中能够看出,nagios与nagiosql共享了主机.主机组.服务 ...

  5. nagios二次开发(二)---nagios和nagiosql合并与取舍

    NAGIOS做前台 上一篇本人分析了nagios和nagiosql的优缺点,根据之前的使用经验及探索.决定将nagios做为监控数据的展示层,暂称做“前台”.将nagiosql做为监控体的配置层,暂称 ...

  6. nagios二次开发(六)---nagiosql原理及主要文件的介绍

    nagiosql的入口文件:index.php,这也是所有php程序的入口文件.是由apache指定的. index.php 文件的开始引入了 require("functions/prep ...

  7. 企业级监控平台开发之nagios二次开发(七)

    背景: A公司里有很多服务器(>3000台),每台服务器都有不同的用途,如DB Server.WEB Server.ESXI等,每个组使用其中的一批,每个组可能有多个服务器管理员.现在问题出来了 ...

  8. ccflow表机构与运行机制(二次开发必看)

    驰骋工作流引擎,工作流程管理系统,表结构与运行机制. ------------------------------------------------------- 前言: 1, ccflow 有自动 ...

  9. E8.Net 工作流二次开发架构平台

    一.          产品简介 E8.Net工作流开发架构是基于微软.Net技术架构的工作流中间件产品,是国内商业流程管理(BPM)领域在.Net平台上的领先产品,是快速搭建流程管理解决方案的二次开 ...

随机推荐

  1. Filezilla 适用于 Win2003 和 WinXP 的版本

    服务器端版本为: 0.9.43 客户端版本为: 3.9.01

  2. 用HTML实现凸(凹)起的立体效果的表格

    视觉效果如下: 实现这个效果主要用到的是<table>标签的bordercolorlight和bordercolordark两个属性.不过在测试的过程中,我发现有的浏览器不支持这两个属性, ...

  3. android-8~23 View.java - dispatchTouchEvent源码

    android-8 /** * Pass the touch screen motion event down to the target view, or this * view if it is ...

  4. collectionview使用

    创建UICollectionViewFlowLayout 对象来设置相关的布局,包括itemSize,headerReferenceSize,sectionInset.设置对应的布局大小,相关的和顶部 ...

  5. ORA-01747: user.table.column, table.column 或列说明无效

    Oracle.DataAccess.Client.OracleException ORA-01747: user.table.column, table.column 或列说明无效 原因1: 查了一下 ...

  6. php连接数据库、创建数据库、创建数据表

    <?php $con = mysql_connect("localhost", "root", "root"); if(!$con){ ...

  7. MVC图片验证码

    C#类库: public class YZM { public string YZMcode = String.Empty; public byte[] load() { Bitmap bit = , ...

  8. 在vue1.0遇到vuex和v-model的坑

    事情是这样的,在开发项目的过程中我使用了vuex并且在store中定义了一个保存用户信息的对象 userInfo : { 'nickName' : '', // 昵称 'password' :'', ...

  9. JNI中C调用Java方法

    背景需求 我们需要在JNI的C代码调用Java代码.实现原理:使用JNI提供的反射借口来反射得到Java方法,进行调用. JNI关键方法讲解. 1. 在同一个类中,调用其他方法 JNIEXPORT v ...

  10. SimpleThreadPool实践

    前言 并发(Concurrency)一直谈论java绕不开的一个话题,从移动开发工程师到后端工程师,几乎所有的面试都要涉及到并发/多线程的一些问题.虽然多数时候我们使用线程池,都是已经实现好的框架—— ...