Results 1 to 15 of 15

Thread: Установка RRDstorm на Asus RT-N66U

  1. #1

    Lightbulb Установка RRDstorm на Asus RT-N66U

    Допилил скрипт RRDstorm до работоспособного состояния. Ничего нового, просто доработано для нового роутера.



    Обмеру и визуализации подвергаются:

    • 0 - Average system load (нагрузка на ОС),
    • 1 - RAM usage (выделение RAM-памяти под процессы, буфера\кэши, свободное место),
    • 2 - Wireless PHY's temperatures (температура каждого из двух датчиков в Wi-Fi модулях. Когда интерфейс отключен, будут выдаваться нулевые значения),
    • 3 - CPU usage (использование CPU (system, user, idle, nice),
    • 4 - WAN traffic statistics (исходящий\входящий интернет трафик),
    • 5 - Disk space (свободное\занятое место на двух выбранных разделах),
    • 6 - Wireless outgoing traffic (исходящий трафик для каждого из двух беспроводных интерфейсов (180МБит/с на 2,4ГГц ага, да^)).

    Цифры 0..6 используются при вызове скрипта rrdstorm.sh, примеры ниже.

    Для использования с новым репозиторием необходимо:
    1) установить пакеты:
    Code:
    $ opkg install bash rrdtool coreutils-df
    2) распаковать rrdstorm.sh из архива в /opt/bin,
    3) создать html-файлы и инициализировать базы данных RRD: $ /opt/bin/rrdstorm.sh create 0 1 2 3 4 5 6
    4) добавить задания cron:
    • $ /opt/bin/rrdstorm.sh update 0 1 2 3 4 5 6 - для выполнения каждую минуту,
    • $ /opt/bin/rrdstorm.sh graph_cron h 0 1 2 3 4 5 6 - для обновления графиков так часто как вам нужно. В этом примере обновляются графики за последние четыре часа работы роутера.

    Всё! При работающем на роутере web-сервере открыв httр://myrouter/rrd/ можно созерцать статистику работы. Построение графиков за выбранный период занимает ~35 секунд. Абсолютно аналогично можно строить статистику за последний час, сутки, неделю и год. Вы можете строить графики за все возможные периоды сразу командой $ /opt/bin/rrdstorm.sh graph 0 1 2 3 4 5 6, построение займёт ~2,5 минуты.

    Чтобы доработать скрипт под себя, измените при необходимости следующие строки в /opt/bin/rrdstorm.sh:
    1) WAN traffic statistics. Если ваш интернет-интерфейс отличается от ppp0, то подставьте имя своего интерфейса в строку №369.
    2) Disk space. Если необходимо отслеживать место на разделах диска отличных от sda1 и sda2, то подставьте правильные названия разделов в строчки №№435, 436.


    Post scriptum

    На время построения графиков процесс rrdtool «съедает» 100% CPU. У меня, например, даже FLAC-файлы по SAMBA переставали проигрываться! Выход в ограничении аппетитов процесса:
    Code:
    $ cat /opt/usr/sbin/rrd.4hourly.sh
    #!/bin/sh
    
    /opt/bin/cpulimit --limit=30 --background --exe=rrdtool
    /opt/bin/rrdstorm.sh graph_cron h 0 1 2 3 4 5 6
    /usr/bin/killall cpulimit
    Last edited by ryzhov_al; 10-09-2012 at 20:41. Reason: Подправил код для случая отключения любого из беспроводных интерфейсов

  2. #2
    Спасибо за скрипт.
    Может я, конечно, задам глупый вопрос, но можно ли сделать похожий скрипт без использования массивов и как? (Просто я сейчас на openwrt и там нет поддержки массивов в busybox). Мне вообще нужно только температуру строить с digitemp (до 3-х датчиков).

  3. #3
    Quote Originally Posted by Rossi25 View Post
    Спасибо за скрипт.
    Может я, конечно, задам глупый вопрос, но можно ли сделать похожий скрипт без использования массивов и как?
    Конечно можно. Просто замените массивы на переменные. Три этапа работы с Round robin database:
    • инициализация базы: строка 559 скрипта,
    • ежеминутное пополнение базы: строки 219-267 на примере датчиков температуры,
    • построение графиков: строка 575 с ключами из строк 269-274.

    Детальное описание rrdtool здесь.

    Quote Originally Posted by Rossi25 View Post
    (Просто я сейчас на openwrt и там нет поддержки массивов в busybox).
    Тогда вы странного хотите. Вам всё равно придётся ставить пакеты rrdtool зависимостями librrd, libart, libfreetype, libpng и прочими. Так почему же не поставить bash, в котором поддержка массивов есть?

  4. #4
    Quote Originally Posted by ryzhov_al View Post

    Тогда вы странного хотите. Вам всё равно придётся ставить пакеты rrdtool зависимостями librrd, libart, libfreetype, libpng и прочими. Так почему же не поставить bash, в котором поддержка массивов есть?
    Просто я новичок полный в этом деле и не увидел, что есть пакет bash для openwrt. Пока получился скрипт отправки на почту, который работает без bash - http://wl500g.info/showthread.php?18...854#post252854

  5. #5

    Подскажите почему RRDTool Traffic Graph не показывает графики ???

    Роутер WL500gp установлен скрипт новая редакция прошивка WL500gp-1.9.2.7-rtn-r4667 все работает кроме RRDTool Traffic Graph Page
    http://my.router/rrd-new что и где нужно подправить ? Help ???
    Asus RT-N66U

  6. #6
    Quote Originally Posted by Leon977 View Post
    Роутер WL500gp установлен скрипт новая редакция прошивка WL500gp-1.9.2.7-rtn-r4667 все работает кроме RRDTool Traffic Graph Page
    http://my.router/rrd-new что и где нужно подправить ? Help ???
    Там в верхнем правом углу, Update Data
    ASUS RT-N16 :: Dune MAX :: Acer Aspire 5673

  7. #7
    Join Date
    Jul 2007
    Location
    World
    Posts
    103
    Ещё такой вопрос по rrdtool

    Воспользовался инструкцией и скриптом отсюда https://github.com/ryzhovau/rrdstorm/
    http://192.168.1.1/rrd/ показывает пустую страницу с пустыми фреймами. Подскажите пожалуйста, что сделать чтобы стандартный http-сервер показывал html-файлы, сгенерированные скриптом?

    В каком пакете есть cpulimit, позволяющий ограничить прожорливость генератора png?

    Спасибо!

  8. #8
    Quote Originally Posted by Gaku View Post
    Ещё такой вопрос по rrdtool

    В каком пакете есть cpulimit, позволяющий ограничить прожорливость генератора png?
    В пакете limitcpu. Такова была прихоть автора: назвать программу limitcpu, а бинарник — cpulimit.

  9. #9
    Join Date
    Jul 2007
    Location
    World
    Posts
    103
    Спасибо!
    http-сервер пока использую из busybox на отдельном порту. Обидно, что не получилось обойтись одним сервером.

    Очень инетресно было бы прикрутить детализацию к статистике: какие сайты генерируют больше всего траффика и какие процессы больше всего едят процессорного времени. Возможно ли такое с rrdtool?

    Подскажите пожалуйста, возможно ли на RT-N16 увидеть "Wireless PHYs temperature graphs" и "Disk space graphs"?

  10. #10
    Quote Originally Posted by Gaku View Post
    Очень инетресно было бы прикрутить детализацию к статистике: какие сайты генерируют больше всего траффика и какие процессы больше всего едят процессорного времени. Возможно ли такое с rrdtool?
    Пожалуйста. Это RRD базы данных, как вы захотите, так и будете использовать. Только примеров не просите, я — пас.
    Статистику по сайтам проще всего посмотреть с помощью darkstat.

    Quote Originally Posted by Gaku View Post
    Подскажите пожалуйста, возможно ли на RT-N16 увидеть "Wireless PHYs temperature graphs" и "Disk space graphs"?
    Картинки temperature graph появятся сразу как только в RT-N16 будет обнаружен датчик температуры, а Disk space graphs — сразу после того, как вы вставите в скрипт метки своих USB-дисков. В Issues на github'е я вам всё расписал.

  11. #11
    Join Date
    Jul 2007
    Location
    World
    Posts
    103
    Quote Originally Posted by ryzhov_al View Post
    Disk space graphs — сразу после того, как вы вставите в скрипт метки своих USB-дисков. В Issues на github'е я вам всё расписал.
    Я исправил на:
    Code:
    RRDuVAL[5]='
    SP=$(/opt/bin/df "-B1")
    echo -n $(echo "$SP"|grep disca_1|awk "{print \$3\":\"\$2}")
    echo
    '
    перегенарция графиков не дала результатов.

    Code:
    $ df -B1 | grep disca_1
    /dev/discs/disca/part1 3875524608 104370176 3574288384   3% /tmp/mnt/disca_1
    Где может быть ошибка?

  12. #12
    Quote Originally Posted by Gaku View Post
    перегенарция графиков не дала результатов.
    И не даст. Картинки генерируются по собранной статистике. Много ли вы её собрали после этой правки? Убедитесь, что ежеминутные задания cron'а отрабатывают без ошибок.

    Quote Originally Posted by Gaku View Post
    Где может быть ошибка?
    Насколько помню, в скрипте идёт сбор статистике с двух выбранных разделов. Имя метки одного из них вы поправили, но как насчёт второго?

  13. #13
    Join Date
    Jul 2007
    Location
    World
    Posts
    103
    Но у меня всего один раздел. Вторую метку надо было всеравно прописывать?
    Code:
    $ df -B1
    Filesystem              1B-blocks      Used  Available Use% Mounted on
    rootfs                    4718592   4718592          0 100% /
    /dev/root                 4718592   4718592          0 100% /
    devfs                      102400      4096      98304   4% /dev
    tmpfs                    64917504    487424   64430080   1% /tmp
    /dev/discs/disca/part1 3875524608 104366080 3574292480   3% /tmp/mnt/disca_1
    /dev/discs/disca/part1 3875524608 104366080 3574292480   3% /opt
    По ошибкам
    Quote Originally Posted by ryzhov_al View Post
    Убедитесь, что ежеминутные задания cron'а отрабатывают без ошибок.

    Code:
    Updating (0) /opt/var/rrd_storm/load.rrd with 0.84:0.89:0.69 ..
    Updating (1) /opt/var/rrd_storm/mem.rrd with 16636:22524:66460:126796:0:0 ..
    /usr/sbin/wl: Unsupported
    /opt/bin/rrdstorm.sh: line 638: /2 + 20: syntax error: operand expected (error token is "/2 + 20")
    Updating (2) /opt/var/rrd_storm/temp.rrd with  ..
    RRDtool 1.2.30  Copyright by Tobi Oetiker, 1997-2008
    
    Usage: rrdupdate filename
                            [--template|-t ds-name:ds-name:...]
                            time|N:value[:value...]
    
                            at-time@value[:value...]
    
                            [ time:value[:value...] ..]
    
    ERROR: expected 2 data source readings (got 1) from N:
    Updating (3) /opt/var/rrd_storm/cpu.rrd with 3270857:0:243227:7018368 ..
    Updating (4) /opt/var/rrd_storm/wan.rrd with 2431529847:673432360 ..
    Updating (5) /opt/var/rrd_storm/hdd.rrd with 104366080:3875524608 ..
    RRDtool 1.2.30  Copyright by Tobi Oetiker, 1997-2008
    
    Usage: rrdupdate filename
                            [--template|-t ds-name:ds-name:...]
                            time|N:value[:value...]
    
                            at-time@value[:value...]
    
                            [ time:value[:value...] ..]
    
    ERROR: expected 4 data source readings (got 2) from N:104366080:3875524608
    Updating (6) /opt/var/rrd_storm/wlan.rrd with 1897178260: ..
    Непонятно, что с hdd...

  14. #14
    Зачем вы пытаетесь собирать данные с отсутствующего датчика? Вы можете их просто не трогать. Исключите соответствующее число (2) при сборе данных и построении графиков:
    Code:
    /opt/bin/rrdstorm.sh graph_cron h 0 1 3 4 5 6
    В начале самого скрипта я всё расписал.
    Quote Originally Posted by Gaku View Post
    Но у меня всего один раздел. Вторую метку надо было всеравно прописывать?
    Конечно, иначе будут повторяться приведённые ошибки. Пропишите вместо второго раздела замер /tmp или другого раздела и всё будет в порядке.
    Last edited by ryzhov_al; 21-08-2013 at 15:27.

  15. #15
    Join Date
    Jul 2007
    Location
    World
    Posts
    103
    Спасибо! Работает отменно. Единственное что, если у Вас будет минутка - добавьте пожалуйста в инструкцию два пункта:
    1. Запуск http-сервера (у кого ещё не раскочегарен кастомный):
    Code:
    busybox_httpd -h /opt/share/www/rrd -p 8080
    2. Монтирование диска (если у кого один раздел) с нулевым размером:
    Code:
    md /tmp mfs rw,-s0M,noatime 0 0
    Правда где взять memory disc я пока не понял...

Similar Threads

  1. Asus RT-N66U
    By Omega in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 728
    Last Post: 02-02-2017, 08:15
  2. Asus RT-N66U
    By !gm in forum German Discussion - Deutsch (DE)
    Replies: 55
    Last Post: 16-05-2016, 17:02
  3. Установка и подключение MicroSD Card в Asus RT-N66U
    By Omega in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 65
    Last Post: 22-11-2015, 16:36
  4. Установка и настройка FTP, VPN, NFS и WEB сервера на RT-N66U/AC66U
    By skuwakin in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 91
    Last Post: 29-01-2015, 08:29
  5. Установка и настройка софта EntWare на Asus RT-N66U
    By ryzhov_al in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 5
    Last Post: 05-06-2012, 14:48

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •