Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • 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
    Дерево очередей -> конфигурационные файлы MRTG

    Дерево очередей -> конфигурационные файлы MRTG

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Дерево очередей -> конфигурационные файлы MRTG, RouterOS
     
    _ASM
    Guest
    #1
    0
    03.08.2004 17:31:00
    ОК. Я написал простой PHP-скрипт, который генерирует конфигурационные файлы MRTG с использованием SNMP. Скрипт работает неплохо, но нуждается в дополнительном кодировании.

    ```php
    <?
    error_reporting(E_ALL);
    $host = '10.0.1.1';
    $comunity = 'public';

    $queues = array();
    exec('/usr/local/bin/snmpwalk -v 1 -c ' . $comunity . ' ' . $host . ' 1.3.6.1.4.1.14988.1.1.2.2.1.2', $queues);
    $c = count($queues);
    for ($i = 0; $i < $c; $i++) {
    $a = explode(' = ', $queues[$i]);
    $b = explode('.', $a[0]);
    $num = intval($b[count($b)-1]);
    $b = explode(': ', $a[1]);
    $name = trim($b[1], '"');
    $q[$num]["name"] = $name;
    // $q[$i]["num"] = $num;
    $parent = array();
    exec('/usr/local/bin/snmpget -v 1 -c ' . $comunity . ' ' . $host . ' 1.3.6.1.4.1.14988.1.1.2.2.1.4.' . $num, $parent);
    $b = explode(': ', $parent[0]);
    $q[$num]["parent"] = intval($b[1]);
    }

    $tree = array();
    $keys = array();

    foreach ($q as $key => $value) {
    if ($value["parent"] == 16777201 || $value["parent"] == 16777202) {
    $tree[] = array("parent" => "", "name" => $value["name"], "num" => $key, "sub" => array());
    $keys[$key] =& $tree[count($tree) -1];
    } else {
    $parent =& $keys[$value["parent"]];
    $parent["sub"][] = array("parent" => $value["parent"], "name" => $value["name"], "num" => $key, "sub" => array());
    $keys[$key] =& $parent["sub"][count($parent["sub"]) - 1];
    }
    };

    function make_cfg($c, $name)
    {
    global $host, $comunity;

    if (count($c) > 0) {
    $fp = fopen($name.'.cfg', 'w');
    if ($fp) {
    print($name.'.cfg created!'."\n");
    fputs($fp, 'WorkDir: /var/www/htdocs/mrtg/'."\n");
    fputs($fp, 'Options[_]: growright,bits,avgpeak'."\n");
    fputs($fp, 'EnableIPv6: no'."\n");
    fputs($fp, '#################################################'."\n\n");

    foreach ($c as $v) {
    fputs($fp, 'Target['. $v["name"] .']: 1.3.6.1.4.1.14988.1.1.2.2.1.5.'. $v["num"] .'&1.3.6.1.4.1.14988.1.1.2.2.1.5.'. $v["num"] .':'.$comunity.'@'.$host."\n");
    fputs($fp, 'XSize['. $v["name"] .']: 350'."\n");
    fputs($fp, 'YSize['. $v["name"] .']: 100'."\n");
    fputs($fp, 'Title['. $v["name"] .']: '.$v["name"]."\n");
    fputs($fp, 'MaxBytes['. $v["name"] .']: 12500000'."\n");
    fputs($fp, 'PageTop['. $v["name"] .']: <H1>'.$v["name"].'</H1>'."\n\n");

    make_cfg($v["sub"], $v["name"]);
    }
    fclose($fp);
    }
    }
    };

    make_cfg($tree, 'main');

    ?> To use it just copy&paste to some file.  Change $host and $comunity to yours. And run it with php -q file_name.php Please write any suggestions about it.
     
     
     
    evert
    Guest
    #2
    0
    09.08.2004 12:02:00
    Скрипт выдаёт мне: Предупреждение: Недействительный аргумент передан для foreach() в /root/mikrotikTOphp.php на строке 26.

    С уважением, Evert
     
     
     
    _ASM
    Guest
    #3
    0
    09.08.2004 15:54:00
    Думаю, у тебя там в дереве /queue очередей нет.
     
     
     
    evert
    Guest
    #4
    0
    10.08.2004 06:46:00
    Да, загарчили меня… Но на устройстве, где ЕСТЬ очереди, я получаю: php -q mikrotikTOphp.php

    Notice: Undefined offset: 1 in /root/mikrotikTOphp.php on line 13

    Notice: Undefined offset: 1 in /root/mikrotikTOphp.php on line 14
    Timeout: No Response from 192.168.2.1.

    Notice: Undefined offset: 0 in /root/mikrotikTOphp.php on line 19

    Notice: Undefined offset: 1 in /root/mikrotikTOphp.php on line 20 И, перед тем как спрашивать, строка сообщества была верной. snmpwalk данные возвращает…
     
     
     
    netcomp
    Guest
    #5
    0
    10.08.2004 08:30:00
    Привет, ASM! Знаю, что ребята из Болгарии — настоящие волшебники, так что, можешь уделить немного времени и сделать, ну, там, что угодно на PHP, чтобы вытаскивать HTML-страницу из .cgi файла и сохранять её в, скажем, Microsoft Access .mdb базу данных. Это нужно, чтобы собрать учёт трафика в одной базе, а потом я сам уже напишу программу для анализа этой .mdb (смотри учёт). Ну и конечно, уверен, что этим будут пользоваться куча пользователей Mikrotik, и мы сможем записывать, кто/когда/как много пользовался интернетом, а не только с помощью mrtg. Если сможешь, пожалуйста, разреши IP-адреса в имена через DNS и тоже записывай эти имена в базу данных, а не только IP-адреса. Уверен, у тебя получится.
     
     
     
    normis
    Guest
    #6
    0
    10.08.2004 08:51:00
    Для учета трафика можно использовать счетчик трафика: http://www.mikrotik.com/download.html#traffic_management_utils http://www.mikrotik.com/docs/ros/2.8/guide/aaa.content#2.4.11
     
     
     
    netcomp
    Guest
    #7
    0
    10.08.2004 09:12:00
    Да, конечно, я ещё упомянул учёт трафика, просто чтобы подсказать ASM этой секцией на случай, если он или другие не знают, о чём я говорю. Но с /ip accounting, пока что мы можем использовать либо вашу программу, предоставленную в загрузках, которая не очень хороша :(, либо этот wget, который я никогда не видел, потому что у меня нет никакой "лишней" Linux-машины, зато есть Windows, и мне бы хотелось какую-нибудь программу, чтобы получать контент с http://routerIP/accounting/ip.cgi и класть его в .mdb базу данных, а ещё разрешать IP-адреса в имена, ИЛИ если вы можете предоставить нам исходный код Log Downloader, мы поиграем с ним и заставим его класть данные в .mdb вместо обычного .txt файла. Пока!
     
     
     
    _ASM
    Guest
    #8
    0
    12.08.2004 20:34:00
    netcomp: Знаешь, как-то я написал PHP-скрипт, который с помощью wget скачивал данные учета по IP-адресам и разбирал их… но он оказался не таким точным, как данные по SNMP. Я не уверен, почему этот скрипт у тебя не работает… И честно говоря, я не хочу его поддерживать, у меня просто нет на это времени.
     
     
     
    netcomp
    Guest
    #9
    0
    17.08.2004 17:45:00
    Да, я тоже использую snmp/mrtg, но там только графики. А как посмотреть, что пользователь сделал 35 дней назад, сколько МБ он использовал...
     
     
     
    _ASM
    Guest
    #10
    0
    17.08.2004 18:48:00
    Если у вас 100 пользователей, и вы записываете данные каждый день, то к 100-му дню у вас будет 10 000 записей в базе данных… вот почему каждая база данных "сжата". 7 дней хранятся как одна запись за неделю, 4 недели — как одна запись за месяц и так далее…
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры