nagios二次開發之“依據分組繪制服務圖”
背景:
在nagios3.2.0版本,曾將nagios、saltstack、Thinkphp進行整合。在整合的基礎之上,進行了二次開發,新增分組出圖、資產管理、服務器批量管理等功能。資產的增刪改查借助的是Thinkphp框架;分組出圖單獨寫分組頁面,調用pnp的接口;服務器的批量管理,依靠的是saltstack的強大的API,如下圖:
圖1 按業務分組出圖
圖2 資產管理和服務器批量管理
上述系統已應用到線上環境。接下來我們要講述的“依據分組繪制服務圖”是在nagios 4.1.1的基礎之上進行的二次開發。
一、需求
依據分組繪制服務圖
二、效果圖
圖三 分組復選框
圖四 按業務分組出圖
三、實現過程
1)修改nagios的status.cgi原文件,增加復選框及對應的實現全選的js代碼。
2)切換到pnp4nagios安裝目錄,新增graphview.php文件,同時追加處理分組出圖的php代碼。
四、總結
1)相比nagios3.2.0版本的二次開發,本次分組出圖功能的實現只依賴於nagios+pnp4nagios,未借助thinkphp進行分組
2)有nagios3.2.0的開發鋪墊,再次修改nagios4.1.1的時候,可直接修改源代碼,降低了復雜度,同時加快了項目進度
4)無論哪一種開源軟件,只要結合自己的業務需求用心鑽研,總會有閃光點!