999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

調度自動化系統資源監視模塊的設計與實現

2012-10-26 05:20:50萬書鵬高原國電南瑞科技股份有限公司南京210061
中國科技信息 2012年7期
關鍵詞:進程資源信息

萬書鵬 高原 國電南瑞科技股份有限公司,南京 210061

調度自動化系統資源監視模塊的設計與實現

萬書鵬 高原 國電南瑞科技股份有限公司,南京 210061

智能電網中的調度自動化系統具有計算節點多、系統異構、運行狀況與使用負載各不相同等特點。為保障系統自身的穩定運行,需要對各個計算節點的CPU、內存、硬盤等資源的使用情況進行監視,對不穩定因素發出告警。本文設計了一個完成監視和告警功能的資源監視模塊,并詳細介紹了資源監視信息的采集、分析、存儲和展現等關鍵技術。這些技術已在調度自動化備調系統中應用,為自動化人員提供了實時可靠的監視工具,保障了系統的正常運行。

調度自動化;資源監視;信息采集;信息存儲;圖形化展示

Dispatching automation; Resource monitoring; Information acquisition; Information storage; Graphical representation

引言

隨著調度自動化系統朝著“數字化、集成化、網格化、標準化、市場化、智能化”的方向發展[1],其規模不斷擴大,計算節點的數量不斷增加,各個節點使用的服務器和操作系統類型也不盡相同,整個系統變得越來越復雜,這對運行維護工作提出了非常高的要求。資源監視模塊不僅能夠監視每個節點的CPU、內存、硬盤、網絡等硬件資源的使用情況,而且能夠監視各個節點中所有系統進程的狀態,為系統的持續穩定運行提供了必要的保障。在智能電網建設的大環境下,調度自動化系統的監視模塊也更加具有智能,對于所有資源的識別都能夠自動實現,不需要另外手動配置,對于新增加的節點也無需另外的配置只要啟動系統就能自動加入到整個監視體系中來。本文將從資源信息的采集開始,介紹資源監視模塊如何實現從不同的操作系統中采集需要監視的資源信息,以及對信息做進一步分析,對不穩定因素發出告警。之后介紹資源信息的存儲,對于采集到的信息將以不同的方式進行存儲,并在整個系統中共享這些信息。最后本文將歸納總結資源監視模塊的特點,并提出未來的改進方向。

1 資源監視模塊結構

資源監視模塊如圖1所示,由資源信息采集、資源數據分析和資源數據存儲三部分構成。資源信息采集是資源監視模塊數據的入口部分,它需要從底層的操作系統中讀取相應的信息,然后做一些簡單計算以得到實際需要的數據,再送往上一層。資源數據分析部分會處理資源信息采集中得到的數據,將其分成關鍵數據和一般數據,關鍵數據如果出現異常會發送告警信息。在資源數據存儲部分將數據再劃分為靜態數據和動態數據,靜態數據屬于基本不會變化的數據,可以直接存入商用庫中,動態數據會時刻發生變化,只存放到實時庫中。下面將對各個部分分別加以介紹。

圖1 資源監視模塊結構圖

2 資源信息采集

2.1 硬件資源信息采集

各級調度中心運行調度自動化系統的節點使用的操作系統不盡相同,有時由于升級、擴容的原因在同一個調度自動化系統中也存在不同的操作系統。常用的操作系統為Linux和Unix,而Unix中根據服務器硬件提供廠商的不同又分為:AIX、Solaris、ALPHA和HPUX。資源監視模塊需要根據操作系統的不同,采用相應的方法采集需要的資源信息。這些信息包括:CPU信息、內存信息、硬盤信息和網卡信息。

2.1.1 CPU信息采集。CPU需要采集的信息包括:CPU內核使用率、CPU用戶態使用率、CPU空閑率。這些信息反映了單個節點的性能以及穩定性,一般情況下,如果CPU空閑率一直保持在百分之十以下說明該節點存在問題。在Linux系統中,系統文件stat分別記錄了CPU從系統啟動開始累計到當前時刻,用戶態的CPU使用時間、內核的CPU使用時間以及空閑的CPU時間[2],通過兩次讀取該文件中的時間信息,就能計算出在這兩次讀取間隔中的CPU內核使用率、CPU用戶態使用率和CPU空閑率,計算公式如下:

其中kernal1、kernal2分別表示第一次和第二次讀取stat文件得到的從系統啟動開始累計到當前時刻內核使用的CPU時間;user1、user2表示用戶態的CPU使用時間;idle1、idle2表示空閑的CPU時間;sum=(kernal2! kernal1)+(user2user1)+(idle2! idle1)為總時間。在AIX、Solaris、ALPHA和HPUX系統中也可以通過上式計算出CPU使用率,但是在獲取CPU使用時間時各個操作系統又提供了不同的系統調用函數。AIX通過調用getkval系統函數取得CPU從系統啟動開始累計到當前時刻的用戶態、內核以及空閑的CPU時間;而Solaris必需通過系統調用kstat_read獲取多核CPU各個核的使用時間再相加,才能得到總CPU的使用時間;ALPHA和HPUX分別通過系統函數table和pstat_getdynamic取得各自的CPU時間。

2.1.2 內存信息采集。內存需要采集的信息包括已被占用的內存數和空閑的內存數。如果空閑的內存數很低而交換分區又被占滿時會導致一些程序執行異常,甚至服務器死機,因此占用和空閑內存數是一個影響系統穩定的關鍵屬性,需要進行實時監控。在Linux系統中,內存信息存儲在proc文件夾的meminfo文件中,通過分析該文件就可以得到總內存大小和空閑內存大小,兩者相減就可以得出已被占用的內存大小。在AIX、Solaris、ALPHA和HPUX

系統中可以通過調用系統命令,先獲取總內存大小,再獲取空閑內存大小,然后相減得到已被占用的內存大小。但是各系統中獲取內存大小的命令各不相同,AIX中使用命令perfstat_memory_ total,Solaris、ALPHA和HPUX中分別使用命令kstat_data_lookup、vm_ statistics和pstat_getdynamic。

2.1.3 硬盤信息采集。每個節點的硬盤會被分成多個分區來使用,因此硬盤的監視信息就是對所有分區信息的匯總。每個分區信息包括:分區名、掛接目錄名、分區總容量、已用容量、未用容量和使用率。當分區的使用率達到百分之百時就不能再往該分區中寫入新內容,如果是日志文件所在的分區使用率達到百分之百,則不能再寫入新的日志,如果是保存斷面文件的分區使用率達到百分之百,則新斷面的保存將會出錯,因此對分區使用率的監視非常重用。在所有分區中還有一個最重要的Swap分區,即交換區,Swap分區的作用可簡單描述為:當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用,那些被釋放的空間被臨時保存到Swap分區中,等到那些程序要運行時,再從Swap中恢復保存的數據到內存中[3]。因此如果Swap分區使用率達到百分之百可能會導致一些程序執行異常,甚至服務器死機。對于除Swap分區以外的普通分區可以使用命令“df-k”來獲取包括分區名、掛接目錄名在內的所有硬盤信息。在HPUX系統中可以使用bdf命令來代替“df-k”命令。對于Swap分區,在Solaris系統中與普通分區一樣通過命令“df-k”就可以獲取相關信息,在其他系統中使用與采集內存信息相同的方法獲取Swap分區的總容量和未用容量后計算出已用容量和使用率,而獲取Swap分區的總容量和未用容量的系統調用與獲取內存信息的系統調用基本相同。

2.1.4 網卡信息采集

網卡信息包括網卡名和網卡狀態。一般每個節點至少會有兩塊物理網卡,如果一塊網卡出現問題系統會自動使用另外一塊網卡。資源監視模塊需要對機器上所有的網卡進行監視,一旦有一塊網卡出現問題可以及時發現及時處理,避免所有網卡都出現問題,導致網絡不通時才發現的情況。在Linux系統中,一些廠商已經為調度自動化系統專門封裝了網卡監控模塊,因此只需要調用函數get_nic_info就可以得到各個網卡的狀態。在其他系統中,需要為每塊網卡配置一個網段,通過ping該網段的交換機地址來確定該網卡狀態是正常還是斷開。

2.2 進程信息采集

進程信息包括進程名、進程號、進程狀態、進程啟動時間和進程啟動命令,資源監視模塊通過常駐的進程監視程序來取得進程信息。當系統中一個進程啟動時會向進程監視程序注冊進程的進程名、進程號、進程啟動時間和進程啟動命令。進程監視程序得到了一個進程的注冊信息就會定時通過kill命令來檢測該進程是否還在運行,從而設置該進程的進程狀態。

3 資源數據分析

資源監視模塊會對一些關鍵的資源信息進行實時分析,一旦出現可能會導致系統不穩定的情況發生,資源監視模塊將會發出告警,告警信息不僅被顯示在自動化人員的告警窗中,還會存儲在數據庫中以備問題出現后查找原因。可能會導致資源監視模塊發送告警的關鍵信息包括:CPU空閑率、硬盤分區使用率、網卡狀態和進程狀態。

CPU空閑率會影響系統運行的速度,在CPU空閑率很低的節點上打開圖形程序可能需要等待幾分鐘甚至更長時間,因此當CPU的空閑率低于百分之十時,資源監視模塊會發出告警。

當普通分區的使用率高于百分之九十時,資源監視模塊會發出告警信息提醒自動化人員清理或擴充分區空間。由于清理或擴充分區空間需要一定的時間,所以這條告警信息不會時刻發生,它會每隔兩分鐘出現一次,直到分區的使用率低于等于百分之九十。Swap分區相對而言更加重要,而且有時它能從百分之九十的使用率瞬間增加到百分之百導致系統崩潰,因此在Swap分區使用率達到百分之八十時就會發送告警信息。

網卡狀態是在狀態發生改變時發送告警信息的,如網卡狀態從正常到斷網,或從斷網到正常。如果只有一個網卡發生故障,那么告警會從網卡故障的節點發出,如果該節點的所有網卡都發生故障,既該節點與整個系統已經完全斷開,此時該節點發出的告警無法被系統收到,因此這時候系統中會有一臺主監視節點來發送該節點離線的告警。

對于進程狀態的處理,資源監視模塊不僅會發送告警,而且會試圖恢復異常退出的程序。當某個進程狀態由運行到退出或由退出到運行時,進程監視程序會發送相應的告警信息。如果進程異常退出,還會通過進程啟動命令試圖重新啟動進程,直到第六次重新啟動仍然失敗才會放棄啟動。

4 資源數據存儲

各個節點獲得的資源數據需要進行統一存儲,以提供給其他程序使用。存儲時資源數據可以分成兩類分別存儲。一類為靜態數據,即一般情況下不會發生改變的數據,如硬盤信息中的分區名、掛接目錄名,網卡信息中的網卡名,進程信息中的進程名。此外當將各個節點的數據集中存儲時,還需要存儲一些輔助信息用以區分這些數據是從哪個節點采集到的,如節點名,這也是不會改變的可以歸為靜態數據。另一類是動態數據,它們會經常變化,如CPU空閑率、已被占用的內存數等。

靜態數據被存儲在商用庫中,即使系統重啟數據依然存在,這就保證了靜態數據只需要在節點第一次加入系統時保存即可。為了實現資源監視模塊對新加節點的自適應能力,即新加節點不需要進行手動配置就能進行監視,資源監視模塊會每次讀取實時庫中的靜態數據,如果不存在則將其保存到商用庫中,由于保存到商用庫中的數據會自動保存到實時庫中,因此下一次資源監視模塊就能夠從實時庫中讀取到靜態數據,那么就避免了重復向商用庫插入記錄。這樣不僅可以解決新加節點的配置問題,而且對于一個新系統也不需要進行多余的配置就能實現資源監控。如果因為人為原因誤刪了一些靜態數據,資源監視模塊能夠自動將其重新加入,不影響正常的監視工作。

動態數據會被統一的保存在資源監視主節點的實時庫中。相比商用庫,實時庫的存儲效率要更高[4],因此更適合平凡的寫操作。但在資源監視模塊中依然會對動態數據做進一步劃分。一些數據如CPU內核使用率、CPU用戶態使用率、CPU空閑率以及已被占用的內存數和空閑的內存數,會時刻發生變化,這些數據在每個采集周期都會寫入到實時庫中。另一些數據,如網卡狀態、進程號、進程狀態、進程啟動時間,變化頻率較低,這些數據只有在其發生改變之后才會寫入實時庫。還有一些數據,如分區的已用容量、未用容量和使用率,雖然會經常發生變化,但小范圍的變化對系統沒有任何影響,因此這些值只有在變化超過一定量的時候才會去寫入實時庫中。

5 結語

資源監視模塊實現了從數據采集到展示的一整套流程。它能夠從不同的操作系統中采集硬件信息,能夠對關鍵監視信息進行分析,對不穩定因素及時預警,達到了實時反映系統運行狀態的效果。資源監視模塊還實現了自動監視功能,減少了維護人員的工作量。對于新系統不需要做額外的配置就能進行監視,對于新加節點也能夠自動融入老系統中進行監視。由于調度自動化技術的不斷進步,調度自動化系統支持平臺的不斷更新,操作系統及服務器的不斷升級,在實際應用過程中,資源監視模塊仍需要不斷進行修改和完善,使其不斷適應需求的變化,更好地為電力調度自動化系統的安全、穩定運行提供保障。

[1] 姚建國,楊勝春,高宗和,楊志宏. 電網調度自動化系統發展趨勢展望. 電力系統自動化. 2007;31(13):7~11.

[2] 王曉琰. 單機Linux下監測系統性能的設計與實現. 現代科技. 2009;8(8):110-112.

[3] 蒲陽,袁宏春. Linux中的交換進程ksWapd代碼分析. 微型機與應用. 2001;20(10):17~21.

[4] 劉吉臻,房方,牛玉廣. 電力企業中的實時數據庫技術. 中國電力. 2004;37(2):73~77

Research and Implementation of Resource Monitoring Module in Dispatching Automation System

WAN Shupeng GAO Yuan NARI Technology Development Co.,Ltd,NanJing,210061

Smart grid dispatching automation system is composed of much computing nodes, heterogeneous system, and the operating load of server varies from one to another. It is imperative to monitor the status of cpu,memory,hard disk and so on in each computing node, and to send alarms by unstable factor. This paper designs a resource monitor module for monitoring and sending alarms, and describes in detail some key technologies about collecting, analyzing, storing and exhibiting the resource monitoring information. This technologies have applied in some dispatching automation systems, and have ensured system normal running by suppling a real-time reliable monitoring tool for automation personnel.

10.3969/j.issn.1001-8972.2012.07.076

萬書鵬(1982-),男,碩士研究生,工程師,主要研究方向:調度自動化系統支撐平臺,工作單位:國電南瑞科技股份有限公司電網所。

高原(1981-),男,碩士研究生,工程師,主要研究方向:調度自動化系統支撐平臺,工作單位:國電南瑞科技股份有限公司電網所 。

猜你喜歡
進程資源信息
基礎教育資源展示
一樣的資源,不一樣的收獲
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
資源回收
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
我國高等教育改革進程與反思
教育與職業(2014年7期)2014-01-21 02:35:04
Linux僵死進程的產生與避免
主站蜘蛛池模板: 国产成人综合亚洲欧洲色就色| 日韩欧美视频第一区在线观看| 四虎精品黑人视频| 免费无码一区二区| 日本亚洲欧美在线| 波多野结衣视频一区二区| 奇米影视狠狠精品7777| 激情综合图区| 免费在线看黄网址| 亚洲成aⅴ人在线观看| 91午夜福利在线观看| 国产精品成人一区二区不卡 | 韩国v欧美v亚洲v日本v| 无码在线激情片| 国产精品99久久久| 午夜高清国产拍精品| 久久精品国产免费观看频道| 伊在人亚洲香蕉精品播放| 国产精品永久不卡免费视频 | 亚洲va视频| 91精品国产91久无码网站| 亚洲娇小与黑人巨大交| 精品人妻无码中字系列| 欧美中文字幕在线二区| www.日韩三级| 2020精品极品国产色在线观看| 91欧洲国产日韩在线人成| 91精品啪在线观看国产| jizz在线观看| 在线国产资源| 欧美精品在线视频观看 | 国产AV无码专区亚洲A∨毛片| 中文字幕无码av专区久久| 欧美日韩国产在线人成app| 日本五区在线不卡精品| 国产欧美网站| 久久免费视频6| 免费观看男人免费桶女人视频| 人妻精品久久久无码区色视| 成人字幕网视频在线观看| 中国精品久久| 欧美一区二区啪啪| 国产欧美性爱网| 亚洲国产精品日韩av专区| 亚洲激情区| 欧美日韩一区二区三区四区在线观看| 另类专区亚洲| 国产精品私拍99pans大尺度 | 欧美亚洲另类在线观看| 亚洲色图在线观看| 国产精品欧美亚洲韩国日本不卡| 中文字幕在线播放不卡| 久久精品人人做人人爽电影蜜月| av无码久久精品| 五月婷婷丁香综合| 久久久精品无码一二三区| 22sihu国产精品视频影视资讯| 综合天天色| 国内精品自在欧美一区| 67194在线午夜亚洲| 黑人巨大精品欧美一区二区区| 日韩在线中文| 欧美在线视频a| 久久人搡人人玩人妻精品一| 免费看久久精品99| 亚洲性网站| 日韩毛片免费| 不卡视频国产| 亚州AV秘 一区二区三区| 欧美天天干| 欧美一级黄色影院| 亚洲a级在线观看| 伊人久久青草青青综合| 97色婷婷成人综合在线观看| 亚洲黄色视频在线观看一区| 中国一级特黄视频| 国产精品成人免费综合| 色播五月婷婷| 欧美日韩高清| 丰满人妻久久中文字幕| 99久久亚洲精品影院| 午夜啪啪网|