MRTG + memory usage

Тема в разделе "Десктопный Linux", создана пользователем lexesv, 12 янв 2011.

Модераторы: Цукер
  1. lexesv

    lexesv

    Регистр.:
    15 ноя 2006
    Сообщения:
    219
    Симпатии:
    103
    Конфиг mrtg
    Код:
    Target[memory_usage]: `/etc/memstat.sh`
    Title[memory_usage]: Memory usage (GB)
    PageTop[memory_usage]: <H1>Memory usage (GB)</H1>
    Options[memory_usage]: growright,nobanner,gauge,noinfo,nopercent
    ShortLegend[memory_usage]:  
    kMG[memory_usage]: G
    MaxBytes[memory_usage]: 8
    AbsMax[memory_usage]: 8
    YLegend[memory_usage]: Mem total/free
    Unscaled[memory_usage]: ymwd
    LegendI[memory_usage]: total
    LegendO[memory_usage]: free
    Suppress[memory_usage]: y
    скрипт memstat.sh
    Код:
    #!/bin/sh
    DATA=`top -b -n 1 | grep Mem`
    TOTAL=`echo $DATA | cut -f2 -d" " | cut -f1 -d"M"`
    FREE=`echo $DATA | cut -f6 -d" " | cut -f1 -d"M"`
    echo $TOTAL
    echo $FREE
    echo 0
    echo 0
    График не рисуется :confused:
     
  2. JayKay

    JayKay Создатель

    Регистр.:
    20 сен 2008
    Сообщения:
    49
    Симпатии:
    4
    Память чего мониторить собрались то, может поясните? Локальная машинка, маршрутизатор, ещё чего то хитрое?
    Телепатов, думается мне, здесь нет;)
     
  3. lexesv

    lexesv

    Регистр.:
    15 ноя 2006
    Сообщения:
    219
    Симпатии:
    103
    Cервер. Физическая память

    PS.
    строка top -b -n 1 | grep Mem на мысли не навела? не?

    шутка про телепатов с бородкой :-]
     
  4. ask0n

    ask0n

    Регистр.:
    9 июн 2009
    Сообщения:
    227
    Симпатии:
    63
    А где ему рисоваться? Параметра WorkDir: я не заметил в приведенном конфиге.
     
  5. lexesv

    lexesv

    Регистр.:
    15 ноя 2006
    Сообщения:
    219
    Симпатии:
    103
    WorkDir прописан раньше
    перед трафиком и cpu (графики по ним рисуются)
     
  6. ask0n

    ask0n

    Регистр.:
    9 июн 2009
    Сообщения:
    227
    Симпатии:
    63
    Надо было писать, что часть конфига это, или целиком его приводить...
    Попробуй MaxBytes и AbsMax увеличить, еще я б скрипт переделал, чтоб не top дергать, а юзать free.
     
  7. lexesv

    lexesv

    Регистр.:
    15 ноя 2006
    Сообщения:
    219
    Симпатии:
    103
    1. [ MaxBytes и AbsMax] пробовал - не помогло.
    2. варианты с free или top пробовал - не работают

    Скрипты правильные данные показывают.

    Проблема именно в конфиге мртж
     
  8. ask0n

    ask0n

    Регистр.:
    9 июн 2009
    Сообщения:
    227
    Симпатии:
    63
    Тогда запускаем руками mrtg с --debug="cfg,dir,base,tarp"
    И смотрим где в конфиге проблема.
     
  9. lexesv

    lexesv

    Регистр.:
    15 ноя 2006
    Сообщения:
    219
    Симпатии:
    103
    Код:
    moydomen:~# if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then env LANG=C /usr/bin/mrtg --debug="cfg,dir,base,tarp" /etc/mrtg.cfg 2>&1 | tee -a /var/log/mrtg/mrtg.log ; fi
    --base: Creating Lockfiles /var/lock/mrtg/_etc_mrtg.cfg_l,/var/lock/mrtg/_etc_mrtg.cfg_l_14993
    --base: Reading Config File: /etc/mrtg.cfg
    --cfg: /etc/mrtg.cfg[1]: # Created by 
    --cfg: /etc/mrtg.cfg[2]: # /usr/bin/cfgmaker public@localhost
    --cfg: /etc/mrtg.cfg[3]: 
    --cfg: /etc/mrtg.cfg[4]: 
    --cfg: /etc/mrtg.cfg[5]: ### Global Config Options
    --cfg: /etc/mrtg.cfg[6]: 
    --cfg: /etc/mrtg.cfg[7]: #  for UNIX
    --cfg: /etc/mrtg.cfg[8]: # WorkDir: /home/http/mrtg
    --cfg: /etc/mrtg.cfg[9]: 
    --cfg: /etc/mrtg.cfg[10]: #  for Debian
    --cfg: /etc/mrtg.cfg[11]: WorkDir: /var/www/mrtg
    --cfg: /etc/mrtg.cfg[12]: 
    --cfg: /etc/mrtg.cfg[13]: #  or for NT
    --cfg: /etc/mrtg.cfg[14]: # WorkDir: c:\mrtgdata
    --cfg: /etc/mrtg.cfg[15]: 
    --cfg: /etc/mrtg.cfg[16]: ### Global Defaults
    --cfg: /etc/mrtg.cfg[17]: 
    --cfg: /etc/mrtg.cfg[18]: #  to get bits instead of bytes and graphs growing to the right
    --cfg: /etc/mrtg.cfg[19]: # Options[_]: growright, bits
    --cfg: /etc/mrtg.cfg[20]: 
    --cfg: /etc/mrtg.cfg[21]: EnableIPv6: no
    ......... 
    --cfg: /etc/mrtg.cfg[155]: 
    --cfg: /etc/mrtg.cfg[156]: 
    --cfg: /etc/mrtg.cfg[157]: Target[memory_usage]: `/etc/memstat.sh`
    --cfg: /etc/mrtg.cfg[158]: Title[memory_usage]: Memory usage (GB)
    --cfg: /etc/mrtg.cfg[159]: PageTop[memory_usage]: <H1>Memory usage (GB)</H1>
    --cfg: /etc/mrtg.cfg[160]: Options[memory_usage]: growright,nobanner,gauge,noinfo,nopercent
    --cfg: /etc/mrtg.cfg[161]: ShortLegend[memory_usage]:  
    --cfg: /etc/mrtg.cfg[162]: kMG[memory_usage]: G
    --cfg: /etc/mrtg.cfg[163]: MaxBytes[memory_usage]: 8
    --cfg: /etc/mrtg.cfg[164]: AbsMax[memory_usage]: 8
    --cfg: /etc/mrtg.cfg[165]: YLegend[memory_usage]: Mem total/free
    --cfg: /etc/mrtg.cfg[166]: Unscaled[memory_usage]: ymwd
    --cfg: /etc/mrtg.cfg[167]: LegendI[memory_usage]: total
    --cfg: /etc/mrtg.cfg[168]: LegendO[memory_usage]: free
    --cfg: /etc/mrtg.cfg[169]: #Suppress[memory_usage]: y
    --cfg: /etc/mrtg.cfg[170]: 
    --cfg: /etc/mrtg.cfg[171]: 
    --base: Reading Interface Config cache
    --base: Checking Config File
    --dir: ensure path IN:  '/var/www/mrtg'
    --dir: ensure path OUT: '/var/www/mrtg/'
    --dir: imagehtml = 
    --tarp: Starting localhost_2 -> 2:public@localhost:
    --tarp: &targparser external done: '2:public@localhost:'
    --tarp: &targparser complex done: '2:public@localhost:'
    --tarp: New simple target [0] '2:public@localhost:':
      Comu:  public, Host: localhost
      Opt:   :, IPv4: 1
      Conv:  
      OID:   ifInOctets, ifOutOctets
      IfSel: If, If
      Key:   2, 2
    --tarp: &targparser simple done: ' $target->[0]{$mode} '
    --tarp: &targparser returning: unique = 0
    --tarp: Starting cpu -> `/usr/bin/awk '/cpu /{print $2+$3; print $2+$3+$4; print "Some_time";print "localhost"}'</proc/stat`
    --tarp: New program target [1] '/usr/bin/awk '/cpu /{print $2+$3; print $2+$3+$4; print "Some_time";print "localhost"}'</proc/stat'
    --tarp: &targparser external done: ' $target->[1]{$mode} '
    --tarp: &targparser complex done: ' $target->[1]{$mode} '
    --tarp: &targparser simple done: ' $target->[1]{$mode} '
    --tarp: &targparser returning: unique = 1
    --tarp: Starting memory_usage -> `/etc/memstat.sh`
    --tarp: New program target [2] '/etc/memstat.sh'
    --tarp: &targparser external done: ' $target->[2]{$mode} '
    --tarp: &targparser complex done: ' $target->[2]{$mode} '
    --tarp: &targparser simple done: ' $target->[2]{$mode} '
    --tarp: &targparser returning: unique = 2
    --base: Loading default Locale
    --base: Starting main Loop
    --base: Populate Target object by polling SNMP and external Datasources
    --base: Act on Router/Target localhost_2
    --base: Get Current values: in:2046018909, out:1509937593, up:9 days, 21:50:10, name:moydomen.ru, time:1295087115
    --base: Create Graphics
    --base: Check for Thresholds
    --base: Check for Write HTML Pages
    --base: Act on Router/Target cpu
    --base: Get Current values: in:6846245, out:11834355, up:Some_time, name:localhost, time:1295087115
    --base: Create Graphics
    --base: Check for Thresholds
    --base: Check for Write HTML Pages
    --base: Act on Router/Target memory_usage
    --base: Get Current values: in:8193844, out:5807484, up:0, name:0, time:1295087115
    --base: Create Graphics
    --base: Check for Thresholds
    --base: Check for Write HTML Pages
    --base: Exit main Loop
    --base: Remove Lock Files
    --base: Store Interface Config Cache
    [​IMG]
    [​IMG]
    [​IMG]
     
  10. ask0n

    ask0n

    Регистр.:
    9 июн 2009
    Сообщения:
    227
    Симпатии:
    63
    Вроди нормально с самим конфигом всё, а попробуй свой скрипт так переделать:
    Код:
    #!/bin/sh
    DATA=`top -b -n 1 | grep Mem`
    TOTAL=`echo $DATA | cut -f2 -d" " | cut -f1 -d"M"`
    FREE=`echo $DATA | cut -f6 -d" " | cut -f1 -d"M"`
    echo $TOTAL
    echo $FREE
    echo 1000000
    echo 5000000
    и посмотреть что нарисует.
    Значений скрипт возвращает 4, а не 2...мб последние 0 и 0 он и рисует.