Для уменьшения загрузки CPU при отрисовке графиков RRD я использую cpulimit. У меня для RRD настроен лимит 40%.
Спонтанные зависания роутера при отрисовке большого числа графиков прекратились.
При построении большого числа графиков вполне вероятно. У меня также загрузка процессора около 60-100%, в зависимости от скорости маршрутизации через роутер.
Для снижения нагрузки на роутер, можете отключить rrd2. Его данные дублируются в моём скрипте. Ещё как вариант - уменьшите ширину графиков (переменная в скрипте graph_w). Это тоже снизит нагрузку на ЦПУ при отрисовывани графиков.
PS:
5 минут - нормальная точность. (Шаг в обновлении *.rrd файлов как раз 5 мин. )
Поправил инструкцию с учётом Вашего теста. Спасибо.
Вариант №1: Не хватает ОЗУ. (Стоковая версия роутера с 32-64 Мб памяти на борту, и если при этом нет файла подкачки - swap - то вообще очень нехорошо.)
Вариант №2: Если в качестве внешнего накопителя USB Flash, то может просто битые сектора на флешке. - Проведите процедуру проверки HDD на ошибки.
Вариант №3: У Вас роутер с малопроизводительным процессором.
Вы укажите версию роутера, сколько на борту памяти, что используется в качестве внешнего накопителя (USB Flash или USB HDD), какая прошивка.
Так без диагностики сложно сказать в чем причина. Если можно, выложите скрин графика "CPU & Memory usage in this day" по нему можно многое сказать.
Last edited by SerGri; 03-10-2010 at 23:45. Reason: Увидел результаты эксеримента genred
Hardware:
RT-N16 1.9.2.7-rtn-r2775 | 2Gb USBFlash
WL-500gPV1 1.9.2.7-d-r1825 | 299Mhz | 128Mb | Console port | 4 USB 2.0 port | 2Gb USBFlash (резерв)
Link's:
WAN: Radio 60 Mbit/sec HalfDuplex (Static IP) || LAN: Wi-Fi + LAN
Software:
nShaper | lighgttpd + php-fcgi | vnStat | RRD | syslog-ng | MC | ...
Для уменьшения загрузки CPU при отрисовке графиков RRD я использую cpulimit. У меня для RRD настроен лимит 40%.
Спонтанные зависания роутера при отрисовке большого числа графиков прекратились.
Помогите разобраться
Web запускается , а графики остаются пустыми
При запуске скрипка выдает
после перезагрузки тоже самоеPHP Code:
/opt/traffic/rrd.sh: line 681: RRDtool: not found
Перезагрузил еще разок ошибки нетPHP Code:
ipcalc -pmn 10.10.10.10/24
NETMASK=255.255.255.0
NETWORK=10.10.10.0
PREFIX=24
но графики не рисуются остаются пустымиPHP Code:
/opt/traffic/rrd.sh: line 681: RRDtool: not found
Last edited by akm2008; 04-10-2010 at 07:52.
Подождите полчасика для накопления статистики.
Если графики не начнут отрисовываться, то посмотрите обновляются (по дате и времени созданя) ли файлы *.rrd в каталоге /opt/traffic/.
Hardware:
RT-N16 1.9.2.7-rtn-r2775 | 2Gb USBFlash
WL-500gPV1 1.9.2.7-d-r1825 | 299Mhz | 128Mb | Console port | 4 USB 2.0 port | 2Gb USBFlash (резерв)
Link's:
WAN: Radio 60 Mbit/sec HalfDuplex (Static IP) || LAN: Wi-Fi + LAN
Software:
nShaper | lighgttpd + php-fcgi | vnStat | RRD | syslog-ng | MC | ...
Тогда проверяйте настройки в кронтабе.
Скорее всего не срабатывает автоматическое обновление скрипта по крону.
Hardware:
RT-N16 1.9.2.7-rtn-r2775 | 2Gb USBFlash
WL-500gPV1 1.9.2.7-d-r1825 | 299Mhz | 128Mb | Console port | 4 USB 2.0 port | 2Gb USBFlash (резерв)
Link's:
WAN: Radio 60 Mbit/sec HalfDuplex (Static IP) || LAN: Wi-Fi + LAN
Software:
nShaper | lighgttpd + php-fcgi | vnStat | RRD | syslog-ng | MC | ...
Хм...
Значить, если скрипт запустить ручками - *.rrd обновляются, а автоматически по крону - не хотят...
А в сислоге что-то подобное есть (это записи syslog-ng):
Еще как вариант - стукните в Асю - поговорим оперативней.Code:04-10-2010 00:42:01 (notice|user|/opt/etc/cron.1mins/update_stat.sh) /opt/etc/cron.1mins/update_stat.sh: running 04-10-2010 00:43:01 (notice|user|/opt/etc/cron.1mins/update_stat.sh) /opt/etc/cron.1mins/update_stat.sh: running 04-10-2010 00:44:02 (notice|user|/opt/etc/cron.1mins/update_stat.sh) /opt/etc/cron.1mins/update_stat.sh: running 04-10-2010 00:45:01 (notice|user|/opt/etc/cron.15mins/update_DAILY_RRD_graphs.sh) /opt/etc/cron.15mins/update_DAILY_RRD_graphs.sh: running 04-10-2010 00:45:01 (notice|user|/opt/etc/cron.1mins/update_stat.sh) /opt/etc/cron.1mins/update_stat.sh: running
Last edited by SerGri; 04-10-2010 at 10:22.
Hardware:
RT-N16 1.9.2.7-rtn-r2775 | 2Gb USBFlash
WL-500gPV1 1.9.2.7-d-r1825 | 299Mhz | 128Mb | Console port | 4 USB 2.0 port | 2Gb USBFlash (резерв)
Link's:
WAN: Radio 60 Mbit/sec HalfDuplex (Static IP) || LAN: Wi-Fi + LAN
Software:
nShaper | lighgttpd + php-fcgi | vnStat | RRD | syslog-ng | MC | ...
Вначале тоже была такая проблема, никак не мог добиться сбора статистики при помощи CRONа, пока не прописал в CRON-овском скрипте сначала переход в рабочую папку программы /opt/traffic, а потом уже запуск rrd.sh. Т.е. положил в папку /opt/etc/cron.5mins скрипт rrdstart.sh сдедующего содержания:
После этого всё отрабатывает нормально. Возможно помогло бы прописывание в скрипте переменной PATH=/opt/traffic, но до этого не дошёл, заработало и такCode:#!/bin/sh cd /opt/traffic && ./rrd.sh
Last edited by genred; 04-10-2010 at 12:01.
ASUS RT-N16 + USB HDD 80Gb + HP LaserJet 1020, Firmware: 1.9.2.7-rtn-r2196
Спасибо за замечание. Дополнил инструкцию.
Вот вам мой скрипт для сбора статистики:
Code:$ cat /opt/etc/cron.1mins/update_stat.sh #!/bin/sh PATH=/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin echo "==== Update RRD statistic's START ====" /opt/traffic/rrd.sh >> /dev/null echo "==== Update RRD statistic's STOP ===="
Last edited by SerGri; 04-10-2010 at 12:24.
Hardware:
RT-N16 1.9.2.7-rtn-r2775 | 2Gb USBFlash
WL-500gPV1 1.9.2.7-d-r1825 | 299Mhz | 128Mb | Console port | 4 USB 2.0 port | 2Gb USBFlash (резерв)
Link's:
WAN: Radio 60 Mbit/sec HalfDuplex (Static IP) || LAN: Wi-Fi + LAN
Software:
nShaper | lighgttpd + php-fcgi | vnStat | RRD | syslog-ng | MC | ...
Спасибо, так наверное правильней, всё работает. По Вашему совету убрал из CRONа запуск старого RRD - заработало веселей
Но тут обнаружилась одна непонятка. Статистику по портам я не веду, т.е. ports.list пустой. Но в файле config после параметров ip= и ip_l= появились строчки вида ports_l="". Их пока 470 штук , но, судя по всему, они периодически добавляются после каждого сбора статистики.
Есть предположение, что данные всё-же берутся из ports.list, т.к. он не совсем пустой, а имеет размер в 1 байт, с символом перевода строки внутри. Смогу проверить чуть позже.Code:WANIF=vlan2 LANIF=vlan1 WLANIF=eth1 WLINT=br0 ip="192.168.0.30 192.168.0.45........ ip_l="192.168.0.30_32 192.168........ ports_l="" ports_l="" ports_l="" .............
Last edited by genred; 04-10-2010 at 13:13.
ASUS RT-N16 + USB HDD 80Gb + HP LaserJet 1020, Firmware: 1.9.2.7-rtn-r2196
Это хорошо.
Тут нжно в самом скрипте посмотреть чему равна переменнаяЕсть предположение, что данные всё-же берутся из ports.list, т.к. он не совсем пустой, а имеет размер в 1 байт, с символом перевода строки внутри. Смогу проверить чуть позже.
При отсутствии мониторинга по портам Monit_Ports=0Code:Monit_Ports=1 # "1" - yes; "0" - no
И удалите файл /opt/traffic/ports.list
После этого отредактируйте файл /opt/traffic/config - удалите из него строки ports_l="".
Если после этого они будут снова размножаться - у меня в скрипте где-то косяк.
Hardware:
RT-N16 1.9.2.7-rtn-r2775 | 2Gb USBFlash
WL-500gPV1 1.9.2.7-d-r1825 | 299Mhz | 128Mb | Console port | 4 USB 2.0 port | 2Gb USBFlash (резерв)
Link's:
WAN: Radio 60 Mbit/sec HalfDuplex (Static IP) || LAN: Wi-Fi + LAN
Software:
nShaper | lighgttpd + php-fcgi | vnStat | RRD | syslog-ng | MC | ...
Всем спасибо заработало
Подскажите чайнику, что не так делаю?????? (asus WL520GU ,(от Олега))
[root@ROUTER root]$ ipkg install iftop
Installing iftop (0.17-4) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/op...7-4_mipsel.ipk
Nothing to be done
Successfully terminated.
Collected errors:
Package iftop md5sum mismatch. Either the ipkg or the package index are corrupt. Try 'ipkg update'.
[root@ROUTER root]$
Меня давно интересует данная тема! Но и тут ЗАСАДА!!!
ПОСКАЖИТЕ!
Ну кто нибудь знает как это реализовать?
На домашней сети из 2х компов и 2х КПК!!!!! Сеть через asus WL520GU ,(от Олега)
Помогите приз!
Как в реальном времени видеть все вход и выход HTTP
Last edited by Omega; 28-02-2011 at 17:40. Reason: fixed