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

Linux SNMP相關(guān)知識與RRD數(shù)據(jù)庫更新

運維 系統(tǒng)運維
Linux SNMPget device password OID或Linux SNMPget -v[version] -c[password] device OID對于device, 你要用設(shè)備的名稱或者IP地址來替換。對于password, 你需要使用Linux SNMP領(lǐng)域中稱為 comunity read string 來替換。

經(jīng)過長時間學(xué)習(xí)Linux SNMP,你可能會遇到Linux SNMP問題,這里將介紹Linux SNMP問題的解決方法RRD數(shù)據(jù)庫更新實例

在簡易入門(一)中已經(jīng)介紹過update 命令:它使用1個或多個參數(shù),其格式為: : . 如果你知道可以用一個 N 表示當(dāng)前的時間,你一定會高興的?;蛘吣憧梢杂肞erl中的 time 函數(shù)來指定時間:perl: perl -e ‘print time, “\n” ‘shell: date +%s如何按照固定間隔運行某個程序各操作系統(tǒng)不同。

不過可以用偽碼來表示:- Get the value and put it in variable “$speed”- rrdtool update speed.rrd N:$speed 就這些。每5分鐘運行一次上面的腳本。在你想知道圖像看起來是啥樣時,運行上面的例子。你可以把他們放入一個腳本中。運行此腳本后,查看我們剛才創(chuàng)建的graph。

Linux SNMP相關(guān)知識

我可以想像到只有少數(shù)的人能夠每5分鐘從他們的汽車中讀取一次真實的數(shù)據(jù)。其他人不得不清算其他類型的計數(shù)器。你可以測量打印機(jī)打印的頁數(shù),咖啡機(jī)做的咖 啡杯數(shù),計算使用的電流的設(shè)備,都可以。

遞增的計數(shù)器可以被監(jiān)視,并且用你已經(jīng)學(xué)會的方法被繪制成圖像。稍后我們就能夠監(jiān)視像溫度計這樣的值了。大多數(shù)對RRDtool感興趣的人會使用一個跟蹤網(wǎng)絡(luò)設(shè)備傳輸數(shù)據(jù)量的計數(shù)器。這樣我們下一步就來作這個。我們會從解釋如何收集數(shù)據(jù)開始。

 有些人會說有些工具可以幫助你收集數(shù)據(jù)。他們是對的!不過,我感覺理解這些工具不是必須的非常重要。在你能夠確定為什么事情發(fā)生了錯誤,你要知道他們是如何工作的。本例中使用的工具在本文檔前面非常簡短地提到過,它就是所謂的Linux SNMP。它是與聯(lián)網(wǎng)設(shè)備交談的方式。下面用到的工具名為 Linux SNMPget ,以下是關(guān)于它是如何工作的說明:

Linux SNMPget device password OID或Linux SNMPget -v[version] -c[password] device OID對于device, 你要用設(shè)備的名稱或者IP地址來替換。對于password, 你需要使用Linux SNMP領(lǐng)域中稱為 comunity read string 來替換。

對于某些設(shè)備來說,缺省的 public 可以工作,但是該設(shè)置可能會被關(guān)閉,調(diào)整或者由于安全和機(jī)密的原因而被保護(hù)起來。請閱讀你的設(shè)備或程序的文檔。 接下來有一個稱為OID的參數(shù),它用來表示 對象標(biāo)識符 。

剛開始學(xué)習(xí)Linux SNMP時,它看起來有些令人困惑。在你看到MIB管理信息基時,就不會那么困難了。MIB是用來描述數(shù)據(jù)的倒?fàn)顦洌兄挥幸粋€根結(jié) 點,并且由根結(jié)點開始有多個分支。這些分支都以另一個結(jié)點終結(jié),他們繼續(xù)向下分支,如此繼續(xù)。

所以的分支都有一個名稱,它們構(gòu)成了一個我們能夠沿著往下的 路徑。我們所沿著的這些分支都被命名了:iso, org, dod, internet, mgmt 和mib-2.這些名稱也可以用數(shù)字方式記錄,就像 1 3 6 1 2 1。

iso.org.dod.internet.mgmt.mib-2 (1.3.6.1.2.1) 有些程序會使用前導(dǎo)點 . , 令人感到許多困惑。在一個OID中并 沒有前導(dǎo)點。為了顯示OID縮記法和OID完整記法的區(qū)別,(通常約定)在使用OID的完整記法時使用前導(dǎo)點。

通常這些程序在返回數(shù)據(jù)給你時,會省略卻缺 省的部分。這些程序有的有幾個缺省前綴,這會讓事情顯得更加糟糕。Ok, lets continue to the start of our OID: we had 1.3.6.1.2.1 From there, we are especially interested in the branch interfaces which has number 2 (e.g., 1.3.6.1.2.1.2 or 1.3.6.1.2.1.interfaces).

好了,我們繼續(xù)OID的初步學(xué)習(xí):我們有一個1.3.6.1.2.1的OID,我們對(其下面的) interface 分支特別感興趣,其編號為2(例如:1.3.6.1.2.1.2 或 1.3.6.1.2.1.interface)。

首先,我們得要有幾個Linux SNMP的程序。先看看你的OS平臺上是否有已編譯好的軟件包。這是最便捷的方式。如果沒有,你就得下載源代碼、并編譯。互聯(lián)網(wǎng)上到處都是源代碼、程序。你可以用你喜歡的任何方式、搜索引擎來找到相關(guān)的信息。

假設(shè)你已經(jīng)有了這些程序。先試著收集大多數(shù)系統(tǒng)都有的數(shù)據(jù)。記住:那些引起我們興趣的樹,它上面的部分都有一個簡略名。在此我會給出一個在Fedora Core 3操作系統(tǒng)上可用的例子。如果對你的操作系統(tǒng)不可用,請查看Linux SNMP的手冊,并作相應(yīng)的調(diào)整讓它能夠運行。

Linux SNMPget -v2c -c public myrouter system.sysDescr.0該設(shè)備應(yīng)當(dāng)回應(yīng)其自身的描述,該描述可能是一個空的。只有在你從某個設(shè)備獲得響應(yīng)后,你才能夠繼續(xù)。其中可能需要使用不同的口令、或者不同的設(shè)備。

Linux SNMPget -v2c -c public myrouter interfaces.ifNumber.0最好你得到的結(jié)果是一個數(shù)字。如果這樣的話,你就可以繼續(xù)往下,并試試另一個叫做 Linux SNMPwalk 的程序。Linux SNMPwalk -v2c -c public myrouter interfaces.ifTable.ifEntry.ifDescr如果該命令返回一系列的接口,這就對了。以下是該命令運行的返回結(jié)果的例子:

  1. [user@host /home/alex]$ Linux SNMPwalk -v2c -c public cisco 2.2.1.2  
  2. interfaces.ifTable.ifEntry.ifDescr.1 = "BRI0: B-Channel 1" 
  3. interfaces.ifTable.ifEntry.ifDescr.2 = "BRI0: B-Channel 2" 
  4. interfaces.ifTable.ifEntry.ifDescr.3 = "BRI0" Hex: 42 52 49 30  
  5. interfaces.ifTable.ifEntry.ifDescr.4 = "Ethernet0" 
  6. interfaces.ifTable.ifEntry.ifDescr.5 = "Loopback0" 

對于cisco設(shè)備,我想監(jiān)視 ‘Ethernet0` 接口,從上面的輸出結(jié)果能夠看到該接口的編號是 4。 我試著運行如下命令:[user@host /home/alex]$ Linux SNMPget -v2c -c public cisco 2.2.1.10.4 2.2.1.16.4

  1. interfaces.ifTable.ifEntry.ifInOctets.4 = 2290729126 
  2. interfaces.ifTable.ifEntry.ifOutOctets.4 = 1256486519 

這樣,我就有兩個OID需要監(jiān)視,他們是(這次使用完整記法):
1.3.6.1.2.1.2.2.1.10和1.3.6.1.2.1.2.2.1.16這兩個OID都有接口編號4。

別被糊弄了,我可不是試一次就搞定的。我花了一些數(shù)據(jù)來搞清這些數(shù)字都是什么意思。把這些編號轉(zhuǎn)換成描述文字大有幫助… 至少在大家談?wù)揗IB和OID時,你知道他們是什么東西。別忘了接口編號(如果它不是附屬接口,就是0),如果用Linux SNMPget沒有得到響應(yīng),試試 Linux SNMPwalk。

應(yīng)用RRDtool的實例

實際運用的例子開始有趣的東東吧。首先,創(chuàng)建一個新的數(shù)據(jù)庫。它包含輸入和輸出2個計數(shù)器的數(shù)據(jù)。該數(shù)據(jù)被放入能夠進(jìn)行平均的歸檔中。他們一次使用1、6、24、或 288個樣本。他們同時被存入保存最大數(shù)字的歸檔中。稍后會解釋。樣本間隔時間為300秒,也就是5分鐘,這是一個好的開始。:

  1. 1個樣本 “平均” 保留5分鐘的周期  
  2. 6個樣本 每30分鐘進(jìn)行一次平均  
  3. 24個樣本 每2小時進(jìn)行一次平均  
  4. 288個樣本 每1天進(jìn)行一次平均 

我們試著與MRTG互相兼容,MRTG存儲以下數(shù)據(jù)::

  1. 600 5分鐘樣本數(shù): 2天和2小時  
  2. 600 30分鐘樣本數(shù): 12.5天  
  3. 600 2小時樣本數(shù): 50天  
  4. 732 1天樣本數(shù): 732天 

這些范圍被補(bǔ)充進(jìn)去,因此在數(shù)據(jù)庫中保存的數(shù)據(jù)總數(shù)大約797天。RRDtool存儲不同的數(shù)據(jù),它不會在 每日 歸檔停止的地方開始 每周 歸檔。對于這兩個歸檔,最新的數(shù)據(jù)會是在 now 附近,因此我們需要比MRTG保存更多的數(shù)據(jù)!我們需要::

  1. 600個5分鐘的樣本 (2天和2小時)  
  2. 700個30分鐘的樣本 (2天和2小時,加12.5天)  
  3. 775個2小時的樣本 (上述+50天)  
  4. 797個1天的樣本 (上述+732天,環(huán)型回繞最大797) 
  1. rrdtool create myrouter.rrd \  
  2. DS:input:COUNTER:600:U:U \  
  3. DS:output:COUNTER:600:U:U \  
  4. RRA:AVERAGE:0.5:1:600 \  
  5. RRA:AVERAGE:0.5:6:700 \  
  6. RRA:AVERAGE:0.5:24:775 \  
  7. RRA:AVERAGE:0.5:288:797 \  
  8. RRA:MAX:0.5:1:600 \  
  9. RRA:MAX:0.5:6:700 \  
  10. RRA:MAX:0.5:24:775 \  
  11. RRA:MAX:0.5:288:797 


接下來要做的就是收集數(shù)據(jù)并把它保存起來。以下是一個例子。它是用偽碼寫的,你得根據(jù)OS調(diào)整后讓它能夠運行。:

  1. while not the end of the universe  
  2. do  
  3. get result of  
  4. Linux SNMPget router community 2.2.1.10.4  
  5. into variable $in  
  6. get result of  
  7. Linux SNMPget router community 2.2.1.16.4  
  8. into variable $out  
  9. rrdtool update myrouter.rrd N:$in:$out  
  10. wait for 5 minutes  
  11. done 

在收集了1天的數(shù)據(jù)后,試著用下面的命令創(chuàng)建圖像::

  1. rrdtool graph myrouter-day.png --start -86400 \  
  2. DEF:inoctets=myrouter.rrd:input:AVERAGE \  
  3. DEF:outoctets=myrouter.rrd:output:AVERAGE \  
  4. AREA:inoctets#00FF00:"In traffic" \  
  5. LINE1:outoctets#0000FF:"Out traffic" 

這會產(chǎn)生一個具有1天流量值的圖像。1天有24(小時)x60(分鐘)x60(秒)。我們從當(dāng)前時間-86400秒開始。我們用DEF把輸入和輸出字節(jié)數(shù)定義成myrouter.rrd數(shù)據(jù)庫中的的平均值,并且繪制輸入流量區(qū)和輸出流量線。

【編輯推薦】

  1. Linux openmosix硬件配置和具體安裝步驟
  2. Linux VMware安裝失敗的處理
  3. Linux磁盤管理命令詳解
  4. Linux Samba客戶端和服務(wù)器端檢查是否安裝
  5. Linux Hadoop運行應(yīng)用程序開源實現(xiàn)
責(zé)任編輯:佚名 來源: CSDN
相關(guān)推薦

2011-03-31 13:21:16

cactirrd

2021-07-01 06:19:46

Redis數(shù)據(jù)庫API

2021-02-06 23:03:58

SQLServer數(shù)據(jù)庫變量

2021-03-04 22:02:18

SQL Serve數(shù)據(jù)庫架構(gòu)

2021-03-19 07:12:23

SQL Server數(shù)據(jù)庫數(shù)據(jù)庫收縮

2011-08-18 17:05:16

Oracle數(shù)據(jù)庫的服

2021-03-24 14:50:00

SQLServer數(shù)據(jù)庫字符串

2015-11-16 10:34:19

Linux動態(tài)庫總結(jié)

2010-05-24 18:19:44

SNMP報文

2009-12-29 11:15:45

ADO數(shù)據(jù)庫

2010-06-29 16:36:58

Linux SNMP服

2011-08-04 15:20:52

SQL Server數(shù)據(jù)庫鏡像

2011-09-02 10:37:15

Oraclesqlload用法

2011-09-01 10:56:34

2021-03-12 10:12:40

數(shù)據(jù)庫SQLServer磁盤

2011-08-25 16:31:36

SQL Servertimestamp

2022-10-25 07:24:23

數(shù)據(jù)庫TiDBmysql

2011-08-25 15:19:25

SQL Server 排序規(guī)則

2011-08-24 13:10:48

MongoDBUpdate

2010-05-24 15:18:38

Linux SNMP
點贊
收藏

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