自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

.NET監(jiān)控技術(shù)應(yīng)用與分析

開發(fā) 后端
我們都知道,作為一個百、千萬及以上訪問量的網(wǎng)站,網(wǎng)站后臺的支持系統(tǒng)是相當(dāng)多的,各系統(tǒng)之間盤結(jié)交錯,系統(tǒng)之間頻繁的互相通信、交換數(shù)據(jù)。如果某個結(jié)點稍一出差錯,可能就導(dǎo)致某個業(yè)務(wù)出現(xiàn)停滯現(xiàn)象,尤其對于一些關(guān)鍵的業(yè)務(wù)系統(tǒng)來說,需要做到高可用性。本文將介紹基于.NET監(jiān)控技術(shù)應(yīng)用與分析。

在平時除了業(yè)務(wù)系統(tǒng)具有良好的容錯、備份機(jī)制以外,還有必要對關(guān)鍵系統(tǒng)的運行狀態(tài)、輸出日志等進(jìn)行監(jiān)控。一旦出現(xiàn)異?,F(xiàn)象,及時的反饋給技術(shù)人員,使得我們可以對部署在各地的服務(wù)器進(jìn)行一個有效地處置。下面將分析一下在Windows平臺如何開發(fā)此類.NET監(jiān)控技術(shù)應(yīng)用。

先來大致描述一下網(wǎng)站.NET監(jiān)控技術(shù)方面的東西,我們這個網(wǎng)站是用ASP.NET開發(fā)的,服務(wù)器操作系統(tǒng)是Windows 2003,專門提供視頻內(nèi)容分享方面的服務(wù)。前臺基本上是以shtml頁面展現(xiàn)內(nèi)容,后臺有負(fù)責(zé)生成頁面內(nèi)容的系統(tǒng),負(fù)責(zé)視頻上傳,轉(zhuǎn)換,分發(fā),存儲及播放的系統(tǒng),負(fù)責(zé)數(shù)據(jù)統(tǒng)計方面的系統(tǒng),站內(nèi)搜索的系統(tǒng)等。后臺的系統(tǒng)是以系統(tǒng)服務(wù)的形式運行,各數(shù)據(jù)中心的系統(tǒng)通過IBMMQ進(jìn)行通信。需要監(jiān)控的地方主要可以分為硬件,軟件及網(wǎng)絡(luò)方面,例如:存儲視頻的磁盤空間小于某個閥值,MQ的核心隊列堆積了大量數(shù)據(jù)包,某個系統(tǒng)服務(wù)輸出了錯誤的日志信息,某臺服務(wù)器出現(xiàn)故障關(guān)機(jī),網(wǎng)絡(luò)中斷等。

一、系統(tǒng)架構(gòu)分析

該系統(tǒng)一種典型的網(wǎng)絡(luò)通訊應(yīng)用,所以可以在系統(tǒng)的每個層次之間通過業(yè)務(wù)協(xié)議作為接口,協(xié)議根據(jù)業(yè)務(wù)的內(nèi)容可以不斷的擴(kuò)充,這樣層與層之間的耦合性低,功能相對獨立。在數(shù)據(jù)采集和數(shù)據(jù)通訊層都比較完善的時候,數(shù)據(jù)展現(xiàn)層的功能擴(kuò)展對下面兩層的影響可以降低到最小。數(shù)據(jù)通訊的模式可以分為主動和被動的方式發(fā)送數(shù)據(jù)到監(jiān)控平臺。例如有一些數(shù)據(jù)需要被監(jiān)控計算機(jī)實時發(fā)送,而另一些數(shù)據(jù)是由操作員向某臺計算機(jī)發(fā)出查詢命令,然后被監(jiān)控計算機(jī)執(zhí)行應(yīng)答??梢詮墓δ苌峡梢宰韵露习颜麄€系統(tǒng)的架構(gòu)分為數(shù)據(jù)采集,數(shù)據(jù)通訊和數(shù)據(jù)展現(xiàn)共三個層次。


【圖 2-1

數(shù)據(jù)采集層是服務(wù)器數(shù)據(jù)的源。主要包括對服務(wù)器運行狀態(tài)、IIS可用性與性能、MQ服務(wù)器與消息隊列、Oracle數(shù)據(jù)庫服務(wù)、自行開發(fā)的服務(wù)和服務(wù)器資源的使用情況等等軟硬件數(shù)據(jù)進(jìn)行抓取。從技術(shù)上分析可以把采集的數(shù)據(jù)分為兩大類:一是被監(jiān)控服務(wù)器主動發(fā)送出來的數(shù)據(jù),這里又包含計算機(jī)的實時運行狀態(tài)和一些定制的事件。二是監(jiān)控中心向被監(jiān)控服務(wù)器發(fā)送的各項數(shù)據(jù)指令。

數(shù)據(jù)通訊是傳輸數(shù)據(jù)的承載體。主要是把采集到的數(shù)據(jù)準(zhǔn)確,安全的輸送到監(jiān)控中心。這里需要考慮通訊的性能,安全,以及現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)。然后綜合這些情況選擇合適的網(wǎng)絡(luò)通訊模型。與采集數(shù)據(jù)的接口是業(yè)務(wù)協(xié)議。這個層面負(fù)責(zé)把協(xié)議進(jìn)行解析,關(guān)鍵數(shù)據(jù)進(jìn)行加密,然后傳輸數(shù)據(jù)。

數(shù)據(jù)展現(xiàn)層是對采集的數(shù)據(jù)進(jìn)行加工、表現(xiàn)的地方,它是作為監(jiān)控人員與機(jī)器之間的一個控制接口,所有的業(yè)務(wù)功能都最終體現(xiàn)到這個層面。例如:各服務(wù)器的運行信息實時顯示,遠(yuǎn)程操作服務(wù)、權(quán)限管理、輸出報表、數(shù)據(jù)的存放以及預(yù)警功能。

.NET監(jiān)控技術(shù)中數(shù)據(jù)上行流程:

數(shù)據(jù)上行流程

 

  1. 數(shù)據(jù)通訊層  
  2.  數(shù)據(jù)采集層  
  3.  事件  
  4.  狀態(tài)  
  5.  數(shù)據(jù)通訊層  
  6.  數(shù)據(jù)展現(xiàn)層  
  7.  網(wǎng)絡(luò)環(huán)境  
  8.  WMI  
  9.  數(shù)據(jù)打包  
  10.  協(xié)議  
  11.  發(fā)送數(shù)據(jù)  
  12.  接收數(shù)據(jù)  
  13.  協(xié)議  
  14.  數(shù)據(jù)解包  
  15.  數(shù)據(jù)存取管理  
  16.  數(shù)據(jù)庫  
  17.  消息  
  18.  實時數(shù)據(jù)顯示  
  19.  消息  
  20.   
  21.  

二、數(shù)據(jù)采集技術(shù)分析

因為服務(wù)器的操作系統(tǒng)是Windows Server,數(shù)據(jù)的采集就可以用WMI技術(shù)。它可以采集到幾乎所有的軟硬件數(shù)據(jù)信息。MicrosoftWMI封裝成COM接口的形式提供給開發(fā)人員使用。而在 .NET 框架中,提供了更為簡便的使用方法來查詢系統(tǒng)各種的信息、訂閱事件。


 

System.Managerment, System.Management.Instrumentation命名空間就包含了所有對WMI的操作功能。通過WMISQL語句就可以查詢和訂閱計算機(jī)的運行狀態(tài)信息。例如:

查詢某臺機(jī)器的類型創(chuàng)建事件,就可以用類似SQL語法的程序代碼來完成?! ?/P>

代碼片段

 三、數(shù)據(jù)通信技術(shù)分析

傳輸?shù)臄?shù)據(jù)內(nèi)容是由業(yè)務(wù)功能決定的,但其設(shè)計方法可以統(tǒng)一制定一個規(guī)范??紤]到網(wǎng)絡(luò)通訊程序的特點,可以用消息的形式,發(fā)送方把數(shù)據(jù)進(jìn)行封裝,然后轉(zhuǎn)換成字節(jié)流,由網(wǎng)絡(luò)通訊層把數(shù)據(jù)發(fā)送到目的機(jī)器。目的機(jī)器接收到某段字節(jié)流后,解析之,然后轉(zhuǎn)換成對應(yīng)的消息。

每一個消息都包含消息頭和消息體。由命令標(biāo)識、序列號、消息長度,再加上特定的業(yè)務(wù)信息就構(gòu)成了一個完整的消息。協(xié)議解析時就可以根據(jù)消息標(biāo)識,選擇相應(yīng)的消息處理對象,生成對應(yīng)的消息實體。數(shù)據(jù)展現(xiàn)層再負(fù)責(zé)把消息實體持久化到數(shù)據(jù)庫中。

針對不同的消息,會有應(yīng)答消息,即消息一般以成對的方式出現(xiàn)。比如監(jiān)控方向被監(jiān)控方查詢某個設(shè)備狀態(tài),它接收到命令后,會把查詢的結(jié)果以相同的序列號為關(guān)聯(lián),發(fā)出應(yīng)答消息。這樣監(jiān)控方就可以準(zhǔn)確無誤的收到信息。.NET監(jiān)控技術(shù)的好處正在于此。

消息頭格式

字段

長度(字節(jié))

類型

說明

Message Length

4

Integer

消息的總長度(字節(jié))

Command ID

4

Integer

命令ID

Sequence Number

12

Integer

序列號

 消息體格式

字段

長度(字節(jié))

類型

說明

MessageLength

4

Integer

消息的長度

MessageContent

Message Length

String

消息的內(nèi)容

Reserve

8

String

保留,擴(kuò)展用

應(yīng)答格式

字段

長度(字節(jié))

類型

說明

Result

1

Integer

命令是否成功執(zhí)行。

0:執(zhí)行成功

其它:錯誤碼

MessageLength

4

Integer

消息的長度

MessageContent

Message Length

String

消息的內(nèi)容

Reserve

8

String

保留,擴(kuò)展用

 消息ID定義

消息ID名稱

消息ID取值

BIND

0x1

BIND_RESP

0x80000001

UNBIND

0x2

UNBIND_RESP

0x80000002

 錯誤碼定義

錯誤碼

描述

0

無錯誤

1

非法用戶名

2

3

四、基于.NET監(jiān)控技術(shù)與分析總結(jié)

在Windows平臺下可以通過WMI技術(shù)采集服務(wù)器的狀態(tài),然后把狀態(tài)消息發(fā)送到監(jiān)控中心,對接收到的數(shù)據(jù)進(jìn)行加工呈現(xiàn),同時以郵件,短信發(fā)送警報信息。最終實現(xiàn)對服務(wù)器軟硬件狀態(tài)的有效監(jiān)控。

【編輯推薦】

  1. NET方法演化史 從Delegate到Lambda再到LINQ
  2. .Net平臺開源項目五年發(fā)展回顧
  3. .Net平臺下的分布式緩存設(shè)計
  4. .NET平臺上Web開發(fā)的未來?
  5. 微軟.NET平臺中類型使用的基本原理
責(zé)任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2012-10-29 17:17:13

2012-11-26 10:58:33

2015-08-10 14:41:39

Kubernetes監(jiān)控開源容器管理

2009-11-02 17:33:40

無線接入技術(shù)

2009-07-28 16:42:02

ViewState技術(shù)ASP.NET應(yīng)用

2024-04-08 11:52:08

PromQL技術(shù)監(jiān)控

2022-12-21 08:32:34

OLAPDruid架構(gòu)

2013-09-18 09:41:19

100G路由技術(shù)100G路由技術(shù)

2024-06-19 08:24:47

2009-11-02 15:57:36

VB.NET WEB

2010-08-23 09:49:53

.NET 4

2009-08-05 15:01:04

ASP.NET應(yīng)用Vi

2010-01-07 15:57:02

VB.NET ForEach

2009-08-03 08:45:23

PHP SNS.NET SNS

2014-01-16 10:21:54

2011-02-24 10:21:53

Femto組網(wǎng)網(wǎng)絡(luò)

2010-07-06 15:54:30

VB.NET UDP

2022-05-10 11:23:56

漏洞補(bǔ)洞過程入侵檢測

2010-07-20 20:45:54

2015-06-02 10:08:51

布線技術(shù)光纖
點贊
收藏

51CTO技術(shù)棧公眾號