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模板页则控制着每个页面的主内容。

它们的对应关系的简要截图如下:

请朋友们转载时注明出处,因为我是为了更好的方便大家来和我讨论。谢谢了。

意见及建议:[email protected]

时间: 2024-12-26 07:24:37

nagios二次开发(三)---nagiosql架构简介的相关文章

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

nagios监控原理 下面根据上面摘自网络的原理图对nagios的监控原理进行一下简单的说明: 1.nagios通过nsca进行被动监控.那么什么是被动监控呢?被动监测:就是指由被监测的服务器主动上传数据到nagios监控系统中.这种监测方式提高了实时性(出现问题的时候,被监测的服务器可以及时上传数据通知nagios,从而使管理员可以尽快作出处理,而不用像主动监测中一样,非要等到下一个监测周期才能获知被监测服务器的状态).NSCA就是可以实现Nagios被动监测的一个程序.目前所知道的,只能通过

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

NAGIOS现状   从nagios的官网http://www.nagios.org/及其它已经公开的资料,我们可以知道:在web UI层nagios只提供了给我们查看图形界面的操作,界面上有简单的启停服务检查及通知的操作.后台的操作,如host增删改查.hostgroup增删改查等操作完全是依赖于server端对服务器目录中配置文件的更改来进行.这样做的好处是,系统管理员可以通过脚本批量的导入所需要的数据.而带来的麻烦就是,无图形化,操作繁琐,无配置文件使用基础的管理员,很难去配置好监控信息.

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

根据对nagios和nagiosql的了解,笔者简要的将二者的关系粗略的梳理了一下,具体情况如下图所示: 从上面的关系图中可以看出,nagios与nagiosql共享了主机.主机组.服务.服务组等.cfg配置文件,同时在nagiosql中,可自由的控制nagios的进程的启停.由于在nagiosql安装配置过程中,需要指定nagios配置及应用程序的路径,并且在nagios中需要屏蔽其原有默认的配置目录并修改为nagiosql中的新的路径,这就为二者之后的默契提供了有力的条件. 从这一点来看,二

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

NAGIOS做前台 上一篇本人分析了nagios和nagiosql的优缺点,根据之前的使用经验及探索.决定将nagios做为监控数据的展示层,暂称做“前台”.将nagiosql做为监控体的配置层,暂称为“后台”.简而言之,后台做为服务器端的配置,前台用来查看结果. 这里取nagios页面中的左侧菜单栏,使其与nagiosql的左侧菜单栏进行合并,当前你可以根据你的业务需要进行取舍. nagios页面中的左侧菜单栏见图1.3 需要实时了解nagios的朋友可以访问nagios官网的demo:htt

nagios二次开发(六)---nagiosql主要文件的介绍

nagiosql的入口文件:index.php,这也是所有php程序的入口文件.是由apache指定的. index.php 文件的开始引入了 require("functions/prepend_adm.php"); 说明其实nagiosql的入口文件为prepend_adm.php; prepend_adm.php文件是nagiosql的主入口文件,它在整个程序中起到了至关重要的作用,它为整个程序传递了session信息等. 1 $conttp->setVariable(&q

nagios二次开发之【整体架构】

图1 nagios改造后的整体架构图 图2 为nagios增加的监控按组出图 图3 底层调用saltstack实现服务器的集群管理

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

开发背景: A公司里有很多服务器(>3000台),每台服务器都有不同的用途,如DB Server.WEB Server.ESXI等,每个组使用其中的一批,每个组可能有多个服务器管理员.现在问题出来了,如何集中的去管理这些服务器,如何对服务器进行资源的合理分配,如何第一时间获取每个服务器的运行状态,如何了解每台服务器运行的服务情况,如何根据资源的使用情况去扩展异或重新采购服务器…….很多问题随着服务器的增多,使用用途的多样性应运而生.因此,现在我所描述的这个平台就是为了解决上面的问题而来的. 目前

ZabbixAPI+django+nginx简单的二次开发实例(三)

接上一篇博文 ZabbixAPI+django+nginx简单的二次开发实例(二) 步骤三,站点架构部分 本部分用到的软件 1,Nginx:接受访问请求,应答静态页面,转发动态请求至uwsgi 2,uwsgi:应答动态请求 3,Django:处理后台数据 4,supervisor:管理进程 首先安装Nginx yum install epel-release yum install python-devel nginx 修改配置文件 vim /etc/ngnix/ngnix.conf user

阿里Java开发工程师理解的三种架构模型

常用的软件架构模型可以归类为三种架构模型:3/N层架构."框架+插件"架构.地域分布式架构. 一.三种架构模型 1.3/N层架构 这是经典的多层架构模型,对于稍微复杂一点或特别复杂的系统,不使用分层架构是很难想象的.下图是经典的3层架构: 如今,凡是个程序员都能侃侃而谈3/N层架构,这确实是解决系统复杂性的一种主流模式,但是,只要采用了3/N层架构是不是就一定能解决系统的复杂性了?不一定,关键在于你在你的系统中如何实作你的3/N层结构. 在采用了3/N层架构后,我们还是要解决以下非常重