Страница 1 из 1

MRTG глюки?

Добавлено: 2007-09-13 17:25:17
radiofannat
Проблема такая, шлюз на freebsd 5.5 стоит MRTG для подсчёта трафика с интерфейсов ed0 и ed1 "rl8129" данные снимаются с счётчиков ipfw через скрипты -показание всей этой рисовалки правельные, НО при старте машины есть некие ошибки скачок на графике больше чем пропускает сетевая карта, причём не всегда и не на всех интерфейсах при каждом старте системы по разному...
Изображение
MRTG кроме трафика считает загрузку проца, виртуальную память всё по скриптам, с этим проблем нет. Правила в ipfw в начеле обнуляются а после стоят счётчики, MRTG запускается из cron через каждые 5 минут. В чём может быть проблема? ещё такой вопрос кто в shell понимает или просто знает хороший скриптик, хочу снемать статистику занятого и свободного дискового пространства с двух дисков,

Код: Выделить всё

# df -k
Filesystem  1K-blocks   Used   Avail Capacity  Mounted on
/dev/ad0s1a    495726 314246  141822    69%    /
devfs               1      1       0   100%    /dev
/dev/ad2s1    4087876      4 3760842     0%    /abc
есть скрипт который делает статистику на один диск
#!/bin/sh
df -k|tail -2|awk '{print $3}'
upt=`uptime`
echo $upt
echo ad0s1a
[/code]
что нужно изменить чтобы в MRTG отправлялись только вторая и четвёртая строчка? :?

Re: MRTG глюки?

Добавлено: 2007-09-14 17:33:31
radiofannat
всё сделал, проблема была вот здесь "mrtg.cfg"

Код: Выделить всё

MaxBytes[ed0]: 100000000  <- исправил на 10 метров "1200000"
скрипт для винтов

Код: Выделить всё

#!/bin/sh 
df -k|grep ad2|awk '{print $3}'
df -k|grep ad0|awk '{print $3}'
upt=`uptime`
echo $upt
echo ad0s1a
помогла дока на shell http://www.lissyara.su/?id=1075 Люди учите shell ! ! !
может есть у кого небудь интересные скрипты для MRTG, кидайте ссылки и скрипты сюда!!! :D

Re: MRTG глюки?

Добавлено: 2007-09-15 17:12:51
100kg
а как резулитат скриптов перетдать MRTG тoeсть получить рисунок?

Re: MRTG глюки?

Добавлено: 2007-09-16 19:55:07
100kg
у меня в мртг только рисует график сети! как сделать чтоб и загруску проца и обьем памяти показывало?

Re: MRTG глюки?

Добавлено: 2007-09-16 21:50:21
radiofannat
скрипт который рисует графики загрузки CPU

Код: Выделить всё

#!/usr/bin/perl
 
$column = defined($ARGV[0]) ? $ARGV[0]:1;
$hborder = defined($ARGV[1]) ? $ARGV[1]:100;
 
$uptime=$1 if ($record=`/usr/bin/uptime`)=~m[up\s+(.*?,.*?),];
@loads=($1*100,$2*100,$3*100)
        if $record=~m[load averages: ([0-9.]+),\s+([0-9.]+),\s+([0-9.]+)];
	 
	print "$hborder\n$loads[$column]\n$uptime\n".`hostname`."\n";
mrtg.cfg

Код: Выделить всё

# CPU
Target[cpu]: `/usr/local/etc/mrtg/proc.pl 1 0`
Options[cpu]: gauge, nopercent, growright
MaxBytes[cpu]: 100
WithPeak[cpu]: ymwd
Title[cpu]: Analysis of CPU load averages
PageTop[cpu]: <H1>CPU Load Averages</H1>
XSize[cpu]: 600
YSize[cpu]: 150
ShortLegend[cpu]: %
YLegend[cpu]: Load CPU %
Legend1[cpu]: .
Legend2[cpu]: % of Load
Legend3[cpu]: .
Legend4[cpu]: Peak % of Load
LegendI[cpu]:  Maximum:
LegendO[cpu]:  Loaded:
скарипт для графика виртуальной память

Код: Выделить всё

#!/bin/sh
set `vmstat -p proc |tail +3`
echo $4
echo $5
upt=`uptime`
echo $upt
echo Virtual Memory
mrtg.cfg

Код: Выделить всё

# virtual_mem
PageTop[mem]: <H1>Virtual memory</H1>
Title[mem]: Virtual memory
MaxBytes[mem]: 12500000
AbsMax[mem]: 12500000
Target[mem]: `/usr/local/etc/mrtg/virtual_mem.sh`
XSize[mem]: 600
YSize[mem]: 150
WithPeak[mem]: w m y
Options[mem]: gauge, nopercent, growright
YLegend[mem]: Virtual mem. kb
у меня всё работает в freebsd 5.5 нормально.

Re: MRTG глюки?

Добавлено: 2007-09-16 22:53:47
100kg
я так понимаю что доступ к скрипту удалённой машине

Код: Выделить всё

Target[cpu]: `/usr/local/etc/mrtg/proc.pl 1 0`
происходит через snmp! верно?

Re: MRTG глюки?

Добавлено: 2007-09-16 23:33:26
radiofannat
нет, всё на одной машине скрипт с названием proc.pl вот:

Код: Выделить всё

#!/usr/bin/perl

$column = defined($ARGV[0]) ? $ARGV[0]:1;
$hborder = defined($ARGV[1]) ? $ARGV[1]:100;

$uptime=$1 if ($record=`/usr/bin/uptime`)=~m[up\s+(.*?,.*?),];
@loads=($1*100,$2*100,$3*100)
        if $record=~m[load averages: ([0-9.]+),\s+([0-9.]+),\s+([0-9.]+)];
    
   print "$hborder\n$loads[$column]\n$uptime\n".`hostname`."\n";


Re: MRTG глюки?

Добавлено: 2007-09-17 1:11:18
100kg
ясно! деиствительно все работает! но это статистика локальная! кстати я слыхал еше и о Rrdtools

Re: MRTG глюки?

Добавлено: 2007-09-17 13:03:13
radiofannat
есть ещё и cacti, но они больше ресурсов требуют а мне для пня-mmx-200мгц только это и подходит.

Re: MRTG глюки?

Добавлено: 2007-09-17 15:51:39
100kg
видел статью! мне нагиос очень нравиться

Re: MRTG глюки?

Добавлено: 2007-09-17 19:47:34
radiofannat
дай ссылку :wink:
а меня после простоя проглючило :shock:
Изображение

Re: MRTG глюки?

Добавлено: 2007-09-17 20:22:24
Alex Keda
сколько хостов мониторить?
кстати - у кактуса сть cactid

Re: MRTG глюки?

Добавлено: 2007-09-17 22:09:26
100kg
завтра скину на фтп 3 статьи про нагиос и выложу линк

Re: MRTG глюки?

Добавлено: 2007-09-18 9:39:18
100kg
не могу! лисс дай права на write

Re: MRTG глюки?

Добавлено: 2007-09-18 11:13:44
Alex Keda
недам.
потерпите три дня.
и так пришлось поделить на куски, важное скинул щас - остальное в след. месяце.
==========
ща профтпд ставлю...

Re: MRTG глюки?

Добавлено: 2007-12-23 21:24:22
Sc@zy
radiofannat писал(а):нет, всё на одной машине скрипт с названием proc.pl вот:

Код: Выделить всё

#!/usr/bin/perl

$column = defined($ARGV[0]) ? $ARGV[0]:1;
$hborder = defined($ARGV[1]) ? $ARGV[1]:100;

$uptime=$1 if ($record=`/usr/bin/uptime`)=~m[up\s+(.*?,.*?),];
@loads=($1*100,$2*100,$3*100)
        if $record=~m[load averages: ([0-9.]+),\s+([0-9.]+),\s+([0-9.]+)];
    
   print "$hborder\n$loads[$column]\n$uptime\n".`hostname`."\n";

При запуске:

Код: Выделить всё

/usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg
Вызов в конфиге:

Код: Выделить всё

Target[cpu]: `/usr/local/etc/mrtg/proc.pl 1 0`
Вижу ошибку:

Код: Выделить всё

2007-12-23 21:20:46 -- Sunday, 23 December 2007 at 21:20: WARNING: Problem with External get '/usr/local/etc/mrtg/proc.pl 1 0':
   Expected a Number for 'out' but got ''

2007-12-23 21:20:46 -- Sunday, 23 December 2007 at 21:20: ERROR: Target[cpu][_OUT_] ' $target->[0]{$mode} ' did not eval into defined data
Соответственно графики ничего не показывают.
Не подскажите в чем проблема?