標籤:style blog http io ar color os 使用 sp
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]
nagios二次開發(三)---nagiosql架構簡介