• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      如何利用Cacti監(jiān)控機(jī)房溫度

      2015-12-22 07:59:59劉志權(quán)
      中國教育網(wǎng)絡(luò) 2015年7期
      關(guān)鍵詞:溫度計(jì)日志短信

      文/劉志權(quán)

      如何利用Cacti監(jiān)控機(jī)房溫度

      文/劉志權(quán)

      本文基于Cacti監(jiān)控軟件,針對(duì)在無人值守的情況下,對(duì)機(jī)房的溫度進(jìn)行實(shí)時(shí)的監(jiān)控和圖形顯示,并容許設(shè)定報(bào)警溫度,機(jī)房超溫發(fā)送給機(jī)房管理人員。

      系統(tǒng)原理

      為了實(shí)時(shí)監(jiān)控機(jī)房的溫度,本文基于Cacti監(jiān)控軟件,對(duì)機(jī)房的溫度進(jìn)行實(shí)時(shí)的監(jiān)控和圖形顯示,并容許設(shè)定報(bào)警溫度,機(jī)房超溫則發(fā)送報(bào)警信息至機(jī)房管理人員。

      Cacti是一套基于php、mysql、snmp及rrdtool開發(fā)的網(wǎng)絡(luò)流量監(jiān)測(cè)圖形分析工具,利用Cacti的SNMP信息輪詢機(jī)制,實(shí)時(shí)獲取各種信息,并顯示在Cacti監(jiān)控界面。Cacti同時(shí)具有強(qiáng)大的插件功能,比如具備閾值報(bào)警功能的thold插件,可以發(fā)送郵件,還可以后臺(tái)編程發(fā)送短信至網(wǎng)絡(luò)管理人員的手機(jī)終端。

      系統(tǒng)在一臺(tái)服務(wù)器上采集溫度,在Cacti服務(wù)器上使用ftp獲取到該數(shù)據(jù),Cacti使用snmp獲取到該數(shù)據(jù)放入rrd數(shù)據(jù)庫,最后在Web上圖形顯示。

      系統(tǒng)實(shí)現(xiàn)

      溫度采集

      購買一款USB接口的溫度計(jì),該溫度計(jì)必須支持將溫度記錄保存至文本文件的功能。

      系統(tǒng)每次重啟溫度計(jì)監(jiān)控軟件都會(huì)新建一個(gè)以創(chuàng)建時(shí)間為文件名的日志文件,溫度計(jì)監(jiān)控軟件還會(huì)每天新建一個(gè)日志文件。日志文件以如下的格式為記錄,每行一條:

      1,35.63,2012-4-2 16∶13∶39

      為了使Cacti服務(wù)器讀取到最后的溫度記錄,將在Windows服務(wù)器上編寫一個(gè)計(jì)劃任務(wù),該任務(wù)定時(shí)執(zhí)行,將日志文件的最后一條溫度記錄讀取到特定的文本文件,以供Cacti服務(wù)器采集。該批處理的腳本如下:@echo off

      cd H: emper

      dir /B /OD 〉H:filelist.txt

      setlocal enabledelayedexpansion

      for /f "delims=" %%i in (H:filelist.txt) do (

      set a=%%i

      )

      cd H: emper

      @copy "%a%" H: emp.txt

      set d=H: emp.txt

      for /f"usebackq delims="%%i in (%d%) do (

      set d=%%i

      )

      if NOT "%d%"=="H: emp.txt" (@echo %d% 〉H: ftpfortemperlastline.txt)

      上述腳本的功能大概描述如下:讀取日志文件所在目錄的所有文件,按照日期排序?qū)懭雈ilelist.txt文件,然后讀取filelist.txt文件最后一條記錄,該記錄為溫度計(jì)軟件目前在讀寫的日志文件,賦值給變量a,然后讀取該日志文件copy給temp. txt以供讀?。ǚ乐刮募x取的時(shí)候溫度計(jì)軟件需要進(jìn)行訪問),最后讀取temp.txt,如果temp. txt文件為空,則將最后一條記錄即溫度計(jì)最后讀取到的溫度寫入到lastline.txt。

      添加計(jì)劃任務(wù),每4分鐘運(yùn)行一次:

      schtasks /create /sc minute /mo 4 /tn "temper" /tr H∶ftpfortemperfilelist.bat

      最后,在Windows服務(wù)器上開啟ftp服務(wù),設(shè)置賬號(hào)和密碼,訪問目錄為擁有l(wèi)astline.txt文件的文件夾。

      Cacti監(jiān)控的實(shí)現(xiàn)

      1.編寫腳本ftp.sh以便snmp讀取溫度信息。

      #!/bin/bash

      ftp -i 222.201.131.230 2121 〉/dev/null 2〉&1

      errorline='0'

      prevtemper=`tail -n 1 /home/zqliu/temper/temper_ log`

      lastline=`tail -n 1 /lastline.txt`

      if [ "$prevtemper" = "$errorline" ];then

      prevtemper=`tail -n 1 /home/zqliu/temper/errorline` fi

      if [ "$prevtemper" = "$lastline" ];then

      echo $errorline〉〉/home/zqliu/temper/temper_log tail -n 1 /lastline.txt〉/home/zqliu/temper/errorline echo 0else

      圖1 設(shè)置OID

      圖2 圖形模板

      tail -n 1 /lastline.txt〉〉/home/zqliu/temper/temper_ log

      awk -F "," '{print $2}' /lastline.txt

      fi

      2.設(shè)定.netrc文件,使服務(wù)器可以不用密碼從溫度采集服務(wù)器下載lastline.txt文件。

      3.修改snmp配置文件#vi /etc/snmp/ snmpd.conf,增加如下一行:

      exec .1.3.6.1.4.1.2021.54 ftp.sh /bin/bash /root/ftp. sh

      重啟snmpd服務(wù)。

      4.測(cè)試新的oid:

      # s n m p w a l k -c p u b l i c -v 2 c localhost.1.3.6.1.4.1.2021.54

      UCD-SNMP-MIB::ucdavis.54.1.1 = INTEGER: 1

      UCD-SNMP-MIB::ucdavis.54.2.1 = STRING: "ftp. sh"

      UCD-SNMP-MIB::ucdavis.54.3.1 = STRING: "/bin/ bash /root/ftp.sh"

      UCD-SNMP-MIB::ucdavis.54.100.1 = INTEGER: 0 UCD-SNMP-MIB::ucdavis.54.101.1 = STRING: "31.5"

      UCD-SNMP-MIB::ucdavis.54.102.1 = INTEGER: 0 UCD-SNMP-MIB::ucdavis.54.103.1 = ""

      那么OID.1.3.6.1.4.1.2021.54.101.1,即為所需要的獲取到的溫度數(shù)據(jù)。

      圖形監(jiān)控

      1.增加數(shù)據(jù)模板

      在Cacti界面中console->Templates->Data Templates,按照步驟逐一添加數(shù)據(jù)模板。設(shè)置完畢以后點(diǎn)擊create,然后下面會(huì)多出一些選項(xiàng),我們只需填寫一項(xiàng)就可以,就是OID那一項(xiàng),把上面記下來的OID填寫進(jìn)去,如圖1所示。

      2.增加圖形模板

      在Cacti界面中console->Templates->Graph Templates,按照步驟逐一添加設(shè)置,添加完成后結(jié)果,如圖2所示。

      3.創(chuàng)建圖形

      添加完數(shù)據(jù)和圖形模板后,我們就可以在本地服務(wù)器上添加新的圖形了。

      圖3 溫度監(jiān)控

      在New Graphs中選擇主機(jī)然后在Graph Templates中的下拉表拉選我們添加的模板,點(diǎn)擊create就完成了。

      最后的監(jiān)控圖形,如圖3所示。

      短信報(bào)警

      首先安裝thold插件,Cacti插件可以在http∶//docs.Cacti.net/plugins這個(gè)網(wǎng)站下載。并且在Cacti界面中console->Management->Thresholds,按照步驟設(shè)置監(jiān)控圖的上下閾值,

      然后找到thold目錄下的thold_ functions.php文件,在function thold_ mail函數(shù)下添加:

      file_put_contents('/usr/local/apache/htdocs/Cacti/ log/changed.log',$subject);

      exec("/usr/local/apache/htdocs/Cacti/plugins/thold/ sendsms.sh");

      該代碼的意思是將告警變量(標(biāo)題)$subject寫入changed.log,然后執(zhí)行sendsms.sh腳本。sendsms.sh為發(fā)短信的腳本。

      在這里我們采取兩種方式進(jìn)行短信報(bào)警,一個(gè)是使用飛信報(bào)警,二是使用短信貓報(bào)警。

      飛信報(bào)警我們使用PHP飛信發(fā)送類(PHPFetion)發(fā)送短信。按照如下代碼發(fā)信:

      require‘PHPFetion.php’;

      $fetion=new PHPFetion('136xx', '密碼');

      $fetion-〉send('135xx', 'Hello Fetion1!');

      使用短信貓報(bào)警的時(shí)候,需要購置一款usb短信貓,然后在服務(wù)器上安裝gnokii. gnokii提供了在不同操作系統(tǒng)下移動(dòng)電話使用的工具和用戶空間的驅(qū)動(dòng)程序,支持以命令行形式直接向手機(jī)發(fā)送短信。

      if [ -s "/usr/local/apache/htdocs/Cacti/log/changed. log" ]

      then

      cat /usr/local/apache/htdocs/Cacti/log/changed.log|/ usr/bin/gnokii --sendsms 188xxx 〉/dev/null 2〉&1 rm -f /usr/local/apache/htdocs/Cacti/log/changed. log 〉/dev/null 2〉&1

      fi

      至此,機(jī)房溫度監(jiān)控和短信報(bào)警設(shè)置完成。

      (作者單位為華南理工大學(xué)信息網(wǎng)絡(luò)工程研究中心)

      猜你喜歡
      溫度計(jì)日志短信
      一名老黨員的工作日志
      正確認(rèn)識(shí)溫度計(jì)
      各種各樣的溫度計(jì)
      溫度計(jì)的『一二三』
      扶貧日志
      心聲歌刊(2020年4期)2020-09-07 06:37:14
      三招搞定溫度計(jì)
      道歉短信
      代發(fā)短信
      游學(xué)日志
      一種基于粗集和SVM的Web日志挖掘模型
      黄浦区| 班玛县| 宁乡县| 本溪| 安康市| 繁峙县| 东乡族自治县| 晴隆县| 景谷| 克山县| 静宁县| 宝应县| 邵东县| 龙里县| 连山| 云林县| 名山县| 高台县| 焦作市| 柳江县| 平果县| 琼海市| 越西县| 宁明县| 四会市| 永顺县| 天柱县| 巫山县| 招远市| 公主岭市| 怀安县| 吉木乃县| 兴仁县| 沙河市| 边坝县| 巴东县| 永嘉县| 和田市| 保康县| 枣强县| 炉霍县|