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

一種實用的校園網監控系統設計思想及實現

2009-05-07 05:48:16錢愛增
中國教育信息化 2009年4期

摘要:文章提出了一種實用的校園網監控系統設計思想,該思想利用PHP、腳本編程和curl命令實現對校園網各種設備的監控,依據該思想設計開發了一套校園網監控系統,運行結果表明該系統能夠起到監控校園網運行的作用。

關鍵詞:cron curl 腳本 校園網監控系統

中圖分類號:TP391 文獻標識碼:A 文章編號:1673-8454(2009)07-0027-03

目前校園網規模越來越大,核心設備、各種服務器越來越多,校園網建設已逐步從規模建設階段轉入內涵建設階段,即數字化校園建設階段,而數字化校園建設階段的首要前提是保障校園網的正常、高效運行,而保障校園網正常、高效運行的基礎是能夠隨時隨地了解和監控校園網核心設備、各種服務器的運行狀態。[1]

一、校園網監控系統設計思路

校園網中主要設備一般分為兩大類,一類設備是用戶只能用其提供的命令對其進行操作,不能在其操作系統上用腳本或語言編程控制,在此筆者稱其為“不可編程設備”,如各種可網管交換機、防火墻和路由器等;另一類設備用戶可以用腳本或語言對其編程控制,筆者稱其為“可編程設備”,如各種服務器。校園網監控系統設計原理如圖1所示,監控服務器通過監控程序定時登錄到各種“不可編程設備”上,調用設備本身提供的命令,取得設備的各種運行狀態變量,并將結果存儲到監控服務器的數據庫中。對于“可編程設備”,則由其自身周期性的運行腳本取得自身的各個狀態參數,然后通過調用監控服務器上的監控程序將結果存儲到監控服務器的數據庫中,然后由設備狀態顯示程序將各設備的狀態參量以某種方式顯示出來,供校園網管理人員即時地了解校園網各設備的運行狀態,進而達到監控整個校園網主要設備,保證校園網正常運行的目的。

圖1校園網監控系統原理圖

二、校園網監控系統組成

如圖2所示,校園網監控系統共包括三個模塊,其作用分別如下:

圖2校園網監控系統組成

(1)“不可編程設備”采集模塊的主要作用是采集校園網中各個“不可編程設備”狀態數據,如CPU利用率、設備反應時間、特定端口利用率等。該模塊又含三個子模塊,分別是定時模塊、數據采集模塊和存儲模塊,定時模塊(運行于監控服務器上)周期性地調用數據采集模塊采集數據,然后由存儲模塊將數據存儲到監控服務器的數據庫中。

(2)“可編程設備”數據采集模塊的主要作用是采集校園網中各個“可編程設備”的狀態數據,如磁盤分區空間利用率、Swap交換空間使用率、系統負載情況等。該模塊也分定時模塊、數據采集模塊和存儲模塊,“可編程設備”執行腳本程序取得系統自身相關狀態參數后,由定時模塊(運行于“可編程設備”上)周期性地調用數據采集模塊采集數據,然后由存儲模塊將數據存儲到監控服務器的數據庫中。

(3)設備狀態數據顯示模塊的主要作用是周期性地將數據庫中的數據通過IE瀏覽器顯示出來,供校園網管理人員即時了解和掌握校園網各主要設備的運行狀態。

三、校園網監控系統實現

1.系統運行環境

監控系統服務器采用Pentium 4以上處理器即可,具有光驅、100M網卡,以備安裝系統和接入校園網。本系統運行平臺為RedHat Linux9.0,也可為AS系列,要求系統整合安裝MySQL、Apache、PHP和Zend環境,安裝Cron定時功能。

2.數據庫結構

本系統需要建立數據表device_wrong,用于存儲設備的狀態數據,表的數據字典如表1所示。

3.具體實現

(1)“不可編程設備”數據采集模塊

由系統組成可知,該模塊由定時模塊、數據采集模塊和存儲模塊3個子模塊組成。其中,定時模塊運行于監控服務器上,由cron定時功能周期性地調用數據采集模塊和存儲模塊,定時模塊實現如下:[2]

10,20,30,40,50 * * * * /usr/bin/curl "http://監控服務器ip/path/non_program.php"

其中,curl是一個利用URL語法在命令行方式下工作的文件傳輸工具,功能是在命令提示符下執行雙引號內的程序。[3]

數據采集模塊、存儲模塊由non_program.php實現,其中,實現監控服務器登錄到“不可編程設備”的協議程序核心代碼如下:[1]

<?class telnet {

var $sock=NULL;

function telnet($host,$port)

{ $this->sock = fsockopen($host,$port,$errno, $errstr, 10);

if( !$this->sock ) exit("無法連接遠程主機:".$host.",請稍后再試!");

socket_set_timeout($this->sock,2,0);

}

function close()

{ if ($this->sock) fclose($this->sock); $this->sock = NULL;

}

function write($buffer)

{fwrite($this->sock,$buffer); }

function getc()

{return fgetc($this->sock); }

function input_rate()

{ $buf = ′′; $what="bits/sec";

while (1)

{$IAC = chr(255); $theNULL = chr(0);

$c = $this->getc();if ($c === false) return $buf;

if ($c == $theNULL) continue; $buf .= $c;

if ($what == (substr($buf,strlen($buf)-strlen($what))))

return substr(strstr($buf,"input rate"),10);

else continue;

}}}?>

(2)“可編程設備”數據采集模塊

由系統組成可知,該模塊也含定時、數據采集和存儲三個子模塊,其中定時模塊由各服務器上的定時功能實現,同時需要編寫腳本代碼,以便將服務器的各個狀態變量傳遞給監控服務器上的監控程序,本文中主要監控各服務器的磁盤分區空間利用率、swap交換空間使用率、系統負載情況三項指標,腳本實現如下:

1)磁盤分區空間利用率腳本,名稱為disk

#!/bin/sh

LANG=zh_cn

var=$(/bin/df -kP | grep / | awk -F ′′′ {print $6":"$5}′ | awk -F ′%′ ′ {print $1}′ | tr -s ′ ′ ′;′)

date=$(date -d "today" +"%Y-%m-%d_%H:%M:%S")

ip=$(/sbin/ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk ′{print $2;}′ | awk -F′:′ ′{print $2;}′ | tr -s ′ ′ ′;′)

/usr/bin/curl -d menu=disk -d date=$date -d ip=$ip -d data=$var "http://監控服務器/path/program.php"

2)swap交換空間使用率和系統負載腳本名稱分別為swap和load,它們和磁盤分區空間利用率腳本只是var和menu變量不同,其余均相同,分別如下:

swap腳本:var=$(/usr/bin/free -m | grep Swap | awk ′{print $2":"$3":"$4}′);menu=swap

load腳本:var=$(/usr/bin/uptime | awk -F′load average: ′ ′{print $2}′ | awk ′{print $1$2$3}′);menu=load

3)定時腳本,名稱為server

10,20,30,40,50 * * * * /usr/bin/disk

15,30,45 * * * * /usr/bin/swap

16,31,46 * * * * /usr/bin/load

4)數據采集模塊和存儲模塊實現核心代碼如下:[4]

<? $disk_max = "90";//磁盤分區使用百分比超過此值,則報警。默認為90%

$swap_max = "50";//Swap交換空間使用百分比超過此值,則報警。默認為50%

if (htmlspecialchars($_POST["menu"]) == "disk")

{$date = htmlspecialchars($_POST["date"]);

$ip = htmlspecialchars($_POST["ip"]);

$data = htmlspecialchars($_POST["data"]);

$arr1 = explode(";", $data);

foreach ($arr1 as $key1 => $value1)

{$arr2 = explode(":", $value1);

if ($arr2[0] != "" && $arr2[1] != "" && $arr2[1] >= $disk_max)

{$subject = "磁盤分區空間不足" . $ip;

$message = $message . "報警服務器:" . $ip . " ";

$message = $message . "報警時間:" . $date . " ";

$message = $message . "報警內容: ";

$message = $message . "磁盤分區 " . $arr2[0] . " 空間不足(空間使用率達到" . $arr2[1] . "%) ";

}}

require("./save.php");//將數據內容存儲到數據庫中}

if (htmlspecialchars($_POST["menu"]) == "swap")

{$date = htmlspecialchars($_POST["date"]);

$ip = htmlspecialchars($_POST["ip"]);

list($total, $used, $free) = split(":", htmlspecialchars($_POST["data"]));

$percentage = round($used / $total * 100, 0);

if ($percentage >= $swap_max)

{$subject = "Swap交換空間使用率高達" . $percentage . "%_" . $ip;

$message = $message . "報警服務器:" . $ip . " ";

$message = $message . "報警時間:" . $date . " ";

$message = $message . "報警內容: ";

$message = $message . "Swap交換空間使用率高達" . $percentage . "%。 ";}

require("./save.php");//將數據內容存儲到數據庫中}

if (htmlspecialchars($_POST["menu"]) == "load")

{$date = htmlspecialchars($_POST["date"]);

$ip = htmlspecialchars($_POST["ip"]);

list($load_last_1min, $load_last_5min, $load_last_15min) = split(",", htmlspecialchars($_POST["data"]));

$subject = "系統負載過高" . $ip;

$message = $message . "報警服務器:" . $ip . " ";

$message = $message . "報警時間:" . $date . " ";

$message = $message . "報警內容: ";

$message = $message . "最近 1分鐘系統負載:" . $load_last_1min . " ";

$message = $message . "最近 5分鐘系統負載:" . $load_last_5min . " ";

$message = $message . "最近15分鐘系統負載:" . $load_last_15min . " ";}

require("./save.php");//將數據內容存儲到數據庫中}?>

(3)設備狀態數據顯示模塊

該模塊的主要作用是將存儲在數據庫中的設備狀態數據顯示出來,本系統中采用了圖形化的顯示方法,直觀明了,程序執行時界面如圖3所示,當設備運行正常時,圖片顯示正常,否則顯示一個紅色“╳”號的圖片,當鼠標移動到圖片上時動態顯示出設備的故障情況。

<img src="http://img1.qikan.com.cn/qkimages/educ/educ200904/educ20090410-4-l.jpg" hspace="15" vspace="5" align="">

圖3校園網監控系統運行界面

四、結束語

本監控系統自去年運行以來,對校園網的正常運行起到了較好的監控作用,真正扭轉了校園網管理的被動局面,對各種校園網故障起到了很好的預防作用。

參考文獻:

[1]錢愛增.基于Web的簡易實用校園網管理系統的設計思路及實現[J].重慶工學院學報(自然科學版),2007,21(11),155-159.

[2]cron的使用.http://www.hackhome.com/InfoView/Article_ 79273.html,2007-6-2.

[3]CURL命令行下載工具.http://blog.csdn.net/dbigbear/archive/2006/11/21/1402580.aspx,2006-11-21.

[4]張宴.linux服務器監控系統ServMon V1.1.http://blog.s135.com/read.php/291.htm,2007-08-31.

主站蜘蛛池模板: 国产国语一级毛片| 日本人真淫视频一区二区三区| 色综合天天操| 呦系列视频一区二区三区| 国产成人综合久久精品尤物| 99re视频在线| 久热中文字幕在线观看| 免费一级毛片| 亚洲乱码在线播放| 精品无码国产一区二区三区AV| 97在线免费视频| 亚洲国产中文欧美在线人成大黄瓜 | 国内丰满少妇猛烈精品播| 国产成人亚洲无吗淙合青草| 香蕉国产精品视频| 无码丝袜人妻| 日本三区视频| 国产aaaaa一级毛片| 波多野结衣视频一区二区| 欧美色综合网站| 久久成人国产精品免费软件| www亚洲精品| 免费一看一级毛片| 国产精品一区在线观看你懂的| 97视频精品全国免费观看| 欧美人与动牲交a欧美精品| 这里只有精品在线播放| 99精品欧美一区| 国产www网站| 91亚洲视频下载| 亚洲一区二区在线无码| 91在线激情在线观看| 免费高清a毛片| 成AV人片一区二区三区久久| 亚洲视频一区| 欧美日韩精品综合在线一区| 在线亚洲小视频| 男女猛烈无遮挡午夜视频| AV老司机AV天堂| 中字无码av在线电影| 日韩无码一二三区| 又黄又爽视频好爽视频| 99re精彩视频| 国产91丝袜在线播放动漫| 国产综合欧美| 欧美日韩国产精品va| 亚洲无码电影| 亚洲av成人无码网站在线观看| 91精品人妻一区二区| 日韩视频福利| 91在线无码精品秘九色APP| 91久久国产成人免费观看| 在线观看免费黄色网址| 人妻精品久久无码区| 日本不卡视频在线| 国产乱子伦精品视频| 白浆视频在线观看| 亚洲黄网在线| 美女无遮挡免费网站| 在线免费观看AV| 99精品国产电影| 日本亚洲成高清一区二区三区| 99视频精品在线观看| 欧美yw精品日本国产精品| 国产在线精彩视频二区| 欧美高清三区| 欧美日韩成人在线观看| 欧美色99| 国产成人综合亚洲欧美在| 国产午夜无码片在线观看网站| 在线国产综合一区二区三区| 日韩在线永久免费播放| 国产精品无码一二三视频| 丁香六月综合网| 亚洲精品久综合蜜| 国产精品手机在线观看你懂的| 毛片网站观看| 成人免费黄色小视频| 欧美伊人色综合久久天天 | 亚洲国产精品成人久久综合影院| 国产91色在线| 亚洲精品福利网站|