作者 主題: mrtg偵測memory的問題...  (閱讀 3021 次)

0 會員 與 1 訪客 正在閱讀本文。

iscandy

  • 憂鬱的高中生
  • ***
  • 文章數: 127
    • 檢視個人資料
mrtg偵測memory的問題...
« 於: 2005-07-08 10:52 »
請問各位大大,
我使用mrtgpme來偵測memory
mrtg.cfg資料如下:

### Mem Using
WithPeak[host-mem]: dwmy
Options[host-mem]: growright, integer, nopercent, gauge
KMG[host-mem]: ,k,M,G
MaxBytes[host-mem]: 990000000
YLegend[host-mem]: Memory Statistics
LegendI[host-mem]:   Total Memory:
LegendO[host-mem]:   Used Memory:
Legend1[host-mem]: Total memory in kilobytes
Legend2[host-mem]: Used memory in kilobytes
Legend3[host-mem]: Maximal Total memory in kilobytes
Legend4[host-mem]: Maximal Used memory in kilobytes
...
...
...

### MEM Using
Target[host-mem]: `/usr/local/mrtg-modules/linux/mem-linux.pl mail total used`
Title[host-mem]: Memory Usage on HOST
PageTop[host-mem]: <H1>Memory Statistics for HOST SERVERTYPE
  </H1>


我確定路徑和主機名稱都沒錯,但在埶行  env LANG=C mrtg /etc/mrtg/mrtg.cfg 時會出現error:

WARNING: Problem with External get '/usr/local/mrtg-modules/linux/mem-linux.pl mail total used':
   Expected a Number for 'in' but got ''

WARNING: Problem with Externale get '/usr/local/mrtg-modules/linux/mem-linux.pl mail total used':
   Expected a Number for 'out' but got ''

ERROR: Target[host-mem][_IN_] ' $target->[2]{$mode} ' did not eval into defined data
ERROR: Target[host-mem][_OUT_] ' $target->[2]{$mode} ' did not eval into defined data

即使出現error, 但流量圖還是有跑出來,
不知有沒有哪位大大知道是什麼原因呢??

感謝~

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17462
    • 檢視個人資料
    • http://www.study-area.org
mrtg偵測memory的問題...
« 回覆 #1 於: 2005-07-08 16:30 »
你先跑跑 /usr/local/mrtg-modules/linux/mem-linux.pl mail total used 看看結果?

iscandy

  • 憂鬱的高中生
  • ***
  • 文章數: 127
    • 檢視個人資料
mrtg偵測memory的問題...
« 回覆 #2 於: 2005-07-11 10:13 »
就是出現這個阿

WARNING: Problem with External get '/usr/local/mrtg-modules/linux/mem-linux.pl mail total used':
Expected a Number for 'in' but got ''

WARNING: Problem with Externale get '/usr/local/mrtg-modules/linux/mem-linux.pl mail total used':
Expected a Number for 'out' but got ''

ERROR: Target[host-mem][_IN_] ' $target->[2]{$mode} ' did not eval into defined data
ERROR: Target[host-mem][_OUT_] ' $target->[2]{$mode} ' did not eval into defined data

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
mrtg偵測memory的問題...
« 回覆 #3 於: 2005-07-11 12:47 »
引述: "iscandy"
就是出現這個阿
Expected a Number for 'in' but got ''
lifeIsFunWithPHP.

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17462
    • 檢視個人資料
    • http://www.study-area.org
mrtg偵測memory的問題...
« 回覆 #4 於: 2005-07-11 13:16 »
跑 perl script 才不管 expected xxxx 甚麼呢...
那 error 是 mrtg 的, perl script 只送 number 出來.

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
別慌~
« 回覆 #5 於: 2005-07-11 17:59 »
看見err就心慌了嗎?
mrtg.mem
代碼: [選擇]
#!/bin/sh
memed=`/usr/bin/sar -r 2 2| grep Average|awk '{print $4}'|awk -F . '{print $1}'`
paged=`/usr/bin/sar -B 2 2| grep Average|awk '{print $2}'|awk -F . '{print $1}'`
UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`

echo $memed
echo $paged
echo $UPtime
echo $HOSTNAME


mrtg.cfg.mem
代碼: [選擇]
WorkDir: /var/www/html/mrtg
Target[mem]: `/etc/mrtg/mrtg.mem`
MaxBytes[mem]: 100
Options[mem]: gauge, nopercent, growright
YLegend[mem]: % of memory used
ShortLegend[mem]: %
LegendO[mem]: swapping
LegendI[mem]: memory used
Title[mem]: server memory usage
PageTop[mem]: <H1>server memory usage</H1>
 <TABLE>
 <TR><TD>System status:</TD><TD> </TD></TR>
 </TABLE>


對於MRTG來說,target執行後,要傳回4行資料,請看MRTG的doc

至於你用什麼寫,perl, python, c, shell都可以。
lifeIsFunWithPHP.