打造一個屬於本身的應用服務自動監控警報程序

 

打造一個屬於本身的應用服務自動監控警報程序數據庫

 

         公司的各項網絡應用服務愈來愈多了,大到:ERP、PDM、數據庫服務器等應用服務,小到一臺用PC作的文件服務器或者多臺打印服務器。而且,更爲複雜的是:隨着公司的業務發展壯大,這些服務器物理位置分散,有的在機房,有的在部門,有的在遠程某個辦公地點。時間長了,不免忘記了,有時,接到用戶投拆,什麼什麼不能用了,一頭霧頭的想半天,在哪兒呢?我要遠程過去但IP是多少呢?換個角度想一想看,這樣等着用戶投拆,也不是個事兒,怎麼作到我本身提早知道呢?至少也要作到,當用戶發現不能用的時候,我已在維修中。這樣的話。工做就作到前邊了,領導和用戶的滿意度想必也會提高了。服務器

 

         基於以上的緣由,也曾考慮過一些第三方的軟件產品,往往提到軟件費用,像咱們這種非IT主導業務的公司領導犯愁,說到軟件佈署,本身犯愁。畢竟沒有空閒的好一點的專業服務器不說,就算往那些已帶有業務系統的服務器上安裝,層層審批下來,可能性也不大。網絡

         有沒有更爲簡單而且高效的方法來實現呢?通過反覆思索。須有如下功能:socket

1. 定時自動巡檢,並會自動生成詳細的巡檢log;ide

2. 巡檢到問題是有明顯的報警,至少作到聲音報警。另作到郵件自動通知報警 至少兩種報警方式較可靠一點;工具

3.靈活的擴展,好比新增一個監控,要能快速加入到監控隊列.spa

 

本身動手。豐衣足食,該軟件安裝佈置固然是裝在個人PC上。要不聲音報警的時候我要聽見。呵呵。郵件自動通知報警支持多人。這樣作的好處明顯。擴展上採用ini配置文件來作,實時加入,實時進入監控隊列.日誌

 

實現原理:軟件首先讀取ini配置文件裏的自動巡檢間隔時間,而後開始讀取ini配置文件裏的需監控的服務器IP及端口數據,採用FOR循環地進行:建立一個socket鏈接過去,根據返回值來判斷是否成功在正常運行。若沒有正常返回主套接字(socket)ID,就進入報警模塊,直到判斷完ini配置文件裏全部的IP及對應的端口。這個時候,整理一下物理內存,sleep巡檢間隔時間,等待下一個從新讀取ini配置文件裏的自動巡檢間隔時間及其它信息。blog

 

使用方法很簡單:隊列

 

 

絕對綠色,把程序下載下來後,雙擊運行,會自動在軟件當前目錄生成一個配置文件,你能夠雙擊打開修改,也能夠右下角: 右擊軟件圖標,經過功能鍵來進行編輯

這是第一步必需要配置好該ini文件.

配置文件編輯修改時注意事項:

[run]

172.16.128.56=80
172.16.136.30=1433

能夠添加無限多個監控信息,格式是:ip=端口

文件服務器是445 端口,MSSQL服務器端口是1433  WEB服務器端口是 80等等,你們自行去填寫

 

[admingroup]
1=zhanghong1@test.com.cn
2=zhouyu@test.com.cn

3=youremail@email.com.cn

如上可自行添加多個.  前提是你必須照實填實你的email服務器及用戶信息.若填寫錯誤且有報警信息時會彈一個窗哦。

 

 

報警示意:

我收到的警報郵件圖示:

報警聲音是連續的電腦蜂鳴(電腦裏有個喇叭就行,不經過聲卡!)

 

查看報警日誌 示例:

 

 

 

(若路過的您有更好的建議請多多指點,無限感謝!   我將盡能夠抽時間進行軟件更新讓這個小工具更好地工做.)

 

2010.8.3 感謝  luwenju的建議,控制到秒爲單位

如有我以前的版本,升級方法:真接替換EXE程序便可,而後注意ini配置文件裏的time的值是秒了。若否則,備份好:inirun.ini,而後刪除inirun.ini,讓主程序從新生成一個便可。

建議: time的值不要設置得太少,想一想看,不然累死本身的PC不說,也累倒了被監控的服務器。呵呵~~~你們本身去試試吧~~~

 

感謝51CTO,本文榮幸登陸社區週刊:

相關文章
相關標籤/搜索