自己開發可視化web監控服務器和SQL SERVER


1.cmd腳本捕獲服務器以及SQL SERVER各個參數數據

我們知道windows有個工具叫做性能計數器(perfmon),他提供服務器和安裝程序的實時圖表展示和分析。但是該圖形化工具的弊端很明顯:

①展示時間段很短,間隔1s,最大值1000s,也就是17分鍾不到,展示的時間跨度很有限。

②如果根據保存的日志展示,一個參數/每小時大約需要上G磁盤空間,這將會非常占用空間,不適合長期保存。此處有興趣的朋友可以測試下保存日志的大小。

那么我們摒棄windows系統的perfmon圖形化,基於僅僅是數據的捕獲是否有辦法呢?答案是肯定的。windows有相關的批處理指令(typeperf)。我們來測試一下,如下:

這樣我們就輕松捕獲了cpu的 Processor Time,typeperf 批處理指令相關參數大家可以去了解下,可以通過模板捕獲並保存到文件,也可以通過SQL SERVER調用xp_cmdshell組件,如下:
 ①通過參數模板保存到文本文件

 

不難發現,這些文本文件都是規則的,我們可以通過SQL SERVER的bulk insert工具全部導入到SQL SERVER數據庫中。當然最重要的是相同的性能參數相同的時間跨度上磁盤空間的優勢,舉例10個參數該文本一天86400條數據量大約10M+,是微軟圖形化日志的幾千分之一,這個磁盤空間的節省是很可觀的。
②通過 SQL SERVER調用xp_cmdshell查詢數據

 

同樣很輕松,這些數據經過簡單字符串處理后插入數據庫,相同參數相同時間跨度和文本文件大小差不多,都很節省空間。
 
 
 
2.各種數據的結構化
這部分其實也很有規律,不難處理,無論是文本文件還是SQL SERVER調用CMD格式都是結構化的或者是半結構化的,通過文本編輯器或者c#程序處理,都可以完成結構化並插入數據庫,如下圖:

 

 
 
3.圖形化展示部分
可以了解下前端的一些知識,jquery和一些圖表框架,我這里是用的highcharts,現在百度的echarts也不錯,並將這些數據可視化

 

 
4.數據智能化
做到這里的話,可以做的工作就很多了,實時圖表,告警機制,統計報表。就在以后整理了和大家慢慢分享。
 
 
 
歡迎各位DBA達人的指點和互相交流。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM