Назад | Перейти на главную страницу

MRTG + RRDTool Hourly Graph

Я использую MRTG + RRDtool для мониторинга пропускной способности на каждом порту коммутатора Cisco Catalyst 2950 через snmp. Может ли MRTG построить почасовой график? С помощью RRDtool я смог установить интервал в 1 минуту в надежде получить более подробный график, но самый короткий период времени - это график «Ежедневно» (среднее значение за 5 минут), а изображение слишком маленькое.

Что я хочу получить из этого: я хочу иметь возможность визуально контролировать все порты коммутатора и сообщать, когда порт начинает иметь необычно высокий трафик в режиме реального времени (1-минутный интервал опроса snmp, сгенерированные графики и страница обновлена).

Вы можете использовать rrdgraph инструмент командной строки для создания графиков с использованием файлов rrd, созданных MRTG. Вы можете проверить файл rrd и увидеть, как скоро он объединяет данные, если он сделает это только через день, вы потеряете желаемое разрешение. Так что в основном я бы сказал, где MRTG хранит шаблоны rra и шаблоны графиков rrd.

Это может занять у вас немного времени, но поскольку RRD - это серверная графическая библиотека / набор инструментов для MRTG, Cacti, Munin и т.д., это стоит изучить. Я писал в блоге о некоторых вещах, которые вы могли бы захотеть сделать при создании собственных графиков на Блог об ошибках сервера здесь.

Надеюсь, кто-то, более знакомый с MRTG, сможет предоставить вам более подробную информацию о вашей конкретной проблеме с MRTG.

  1. Измените MRTG для использования RRDtool добавив или изменив строку LogFormat в вашем mrtg.cfg и определив пути, если необходимо. Уменьшите интервал до 1 минуты.

    LogFormat: rrdtool
    Interval: 1
    PathAdd: /path/to/rrdtool/bin/
    LibAdd: /path/to/rrdtool/lib/perl/
    
  2. Измените задание cron, чтобы оно запускалось каждую минуту. (При необходимости отредактируйте.)

    vim /etc/cron.d/mrtg
    
  3. Измените свой индекс на один из предложенных сценариев Perl CGI. Это будет генерировать изображения по запросу, а не каждый раз при запуске задания cron. Я использовал One4All скрипт ссылка на ссылку выше, и вот как это было изменено:

    После my %graphparams = ( вставить новый график 'hourly' => ['-10h', 'now', 60],

    Ниже;

    # the header lines and tags for the graphics
    my $pngdir = getdirwriteable($cfg->{config}{imagedir}, $cfg->{targets}{directory}{$log});
    

    Добавьте раздел для нового почасового графика, определенного ранее.

    if ($sup !~ /h/) {
            print $q->h2("'Hourly' graph (1 Minute Average)"),"\n",
                    $q->img({src => "$url=hourly", alt => "hourly-graph",
                            getpngsize("$pngdir$log-hourly.png")}
                    ), "\n";
    }
    
  4. Изменена конфигурация Apache для выполнения сценария CGI. (/etc/httpd/conf.d/mrtg.conf)

    Вне тега добавить;

    AddHandler cgi-script .cgi
    

    Внутри тега add;

    Options +ExecCGI
    
  5. Перезапустите Apache и перейдите на новую страницу индекса MRTG.

Если вы используете внешний интерфейс Routers2 для MRTG / RRD, то он дает возможность создавать 4-часовой график, если вы собираете данные с интервалом в 1 минуту. При стандартном разрешении 4h - это ширина графика с 1 пикселем на точку данных. Вы можете включить это в файле routers2.conf.

После некоторых изменений у меня сработали следующие патчи: http://www.loplop.net/projects/1minMRTG/