Информация
Настройка
Новости
Контакты
Новинка
Распродажа
Оплата
Доставка
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Графики с использованием сервера PPPoE.

    Графики с использованием сервера PPPoE.

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Графики с использованием сервера PPPoE., RouterOS
     
    dannyboy
    Guest
    #1
    0
    22.10.2006 20:41:00
    Привет! Я использую PPPoE для подключения клиентов, и тестирую инструмент graph. Он отлично помогает понять, кто больше всего потребляет трафик. Единственная проблема в том, что как только пользователь отключается и подключается снова, графики начинают строиться заново. Как сделать так, чтобы они сохранялись? Я выбрал сохранение на диск каждые пять минут, но при перезагрузке или отключении клиента всё начинается с нуля. Спасибо, DB.
     
     
     
    Freman
    Guest
    #2
    0
    23.10.2006 02:49:00
    Возможно, вам придется настроить rrdgraph и snmp-скрипт на удаленной машине. Частично причина сброса графика в том, что каждый раз, когда пользователь подключается, он (по сути) получает новый идентификатор — это немного сложнее, но это основные причины.
     
     
     
    Freman
    Guest
    #3
    0
    23.10.2006 05:41:00
    Вот перевод текста сообщения на русский язык:

    Вот базовый скрипт, который должен создавать rrd и графики для каждого пользователя PPPoE. Сначала вам нужно установить Net::SNMP и RRD::Simple. В Linux это делается так просто, как # cpan Net::SNMP
    # cpan RRD::Simple #!/usr/bin/perl
    ##############################################################################
    # Usergraph 1.0 ##############################################################
    ################################################################## By Freman #
    ############################# http://fremnet.net #############################
    ##############################################################################
    #
    # Copyright © 2006 Shannon Wynter
    #
    # This program is free software; you can redistribute it and/or
    # modify it under the terms of the GNU General Public License
    # as published by the Free Software Foundation; either version 2
    # of the License, or (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program; if not, write to the Free Software
    # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, U
    #
    # The GPL Can be found here: http://www.gnu.org/copyleft/gpl.html
    #
    ##############################################################################

    # Важные переменные
    ## RRDDir - Каталог для хранения всех ваших RRD файлов, он должен быть доступен для записи
    my $RRDDir = "/var/db/usergraph/rrd";

    ## GraphImageDir - Каталог для хранения файлов изображений графиков,
    ##                 он также должен быть доступен для записи
    my $GraphImageDir = "/var/www/localhost/htdocs/rrdimages";



    use strict;
    use Net::SNMP;
    use RRD::Simple;

    sub fetchData {
           my $Host = $_[0];

           my ($session,$error) = Net::SNMP->session(
                   -hostname       => $Host,
                   -version        => 1,
                   -community      => 'public',
           );

           die("Ошибка: ".$error) if ($error);

           # Собираем интерфейсы, inOctets и outOctets с Mikrotik
           my %Interfaces = %{$session->get_table(-baseoid => '1.3.6.1.2.1.2.2.1.2')};
           my %InOctets = %{$session->get_table(-baseoid   => '1.3.6.1.2.1.2.2.1.10')};
           my %OutOctets = %{$session->get_table(-baseoid  => '1.3.6.1.2.1.2.2.1.16')};

           # Создаём каталог для хоста, если его нет
           my $Dir = "$RRDDir/$Host";
           mkdir($Dir) if (!-d $Dir);

           my $rrd = RRD::Simple->new();

           # Проходимся по всем интерфейсам
           while (my($ID, $Name) = each(%Interfaces)) {
                   # Убираем всё, кроме последнего блока из MIB
                   $ID =~ s/.+\.(\d+)$/$1/;
                   # Убираем лишний мусор из имен pppoe интерфейсов
                   $Name =~ s/<pppoe-(.*?)(?:-\d+)?>/$1/i if ($Name =~ /<pppoe/i);

                   my $File = "$Dir/$Name.rrd";

                   # Создаём новый файл, если его не существует
                   if (!-e $File) {
                           $rrd->create(
                                   $File,
                                   bytesIn         => "COUNTER",
                                   bytesOut        => "COUNTER"
                           );
                   }

                   # Обновляем данные в файле
                   $rrd->update(
                           $File,
                           bytesIn         => $InOctets{'1.3.6.1.2.1.2.2.1.10.'.$ID},
                           bytesOut        => $OutOctets{'1.3.6.1.2.1.2.2.1.16.'.$ID}
                   );

                   # Пытаемся создать каталог изображений
                   mkdir("$GraphImageDir/$Host") if (!-d "$GraphImageDir/$Host");

                   # Рисуем отдельные графики для пользователей
                   $rrd->graph(
                           $File,
                           destination     => "$GraphImageDir/$Host",
                           basename        => $Name,
                           sources         => [ qw(bytesIn bytesOut) ],
                           source_colors   => [ qw(ff0000 aa3333) ],
                           source_labels   => [ ("bytesIn", "bytesOut") ],
                           source_drawtypes=> [ qw(AREA LINE) ],
                           line_thickness  => 2,
                           extended_legend => 1,
                           title           => "$Name - Bytes Per Second",
                           vertical_label  => "Bytes/Sec"
                   );

           }
    }

    die("Синтаксис: $0 <ipaddress>\nПример: $0 10.0.0.2\n\n") if (!@ARGV);

    fetchData($ARGV[0]); Просто сохраните файл на диск, а затем добавьте его в crontab. Позже, если будет время, я сделаю скрипт для построения графиков всех/выбранных пользователей на одном графике.
     
     
     
    dannyboy
    Guest
    #4
    0
    23.10.2006 15:07:00
    Спасибо большое, попробую.
     
     
     
    hrober
    Guest
    #5
    0
    06.01.2010 14:59:00
    Freman, спасибо большое. Очень классный скрипт получился.
     
     
     
    dziadzi
    Guest
    #6
    0
    05.10.2010 21:48:00
    Я использую этот скрипт, но столкнулся с проблемами. У некоторых пользователей графики какие-то "фрагментированные", полагаю, что это связано с тем, что при разрыве соединения pppoe-интерфейс перестаёт существовать, и соответствующая rrd-база данных при этом не обновляется. Кто-нибудь уже решал подобную проблему?
     
     
     
    magnavox
    Guest
    #7
    0
    09.10.2015 08:40:00
    Решено?
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры