ryzhov_al
15-05-2012, 06:47
Допилил (http://github.com/ryzhovau/rrdstorm) скрипт RRDstorm до работоспособного состояния. Ничего нового, просто доработано для нового роутера.
http://s019.radikal.ru/i600/1205/81/36899e2f9ce5t.jpg (http://radikal.ru/F/s019.radikal.ru/i600/1205/81/36899e2f9ce5.jpg.html)http://s42.radikal.ru/i098/1205/1f/7ed90e81c73dt.jpg (http://radikal.ru/F/s42.radikal.ru/i098/1205/1f/7ed90e81c73d.jpg.html)http://s019.radikal.ru/i604/1205/28/85ba43474f6ct.jpg (http://radikal.ru/F/s019.radikal.ru/i604/1205/28/85ba43474f6c.jpg.html)http://s019.radikal.ru/i617/1205/ce/aba467ba04fbt.jpg (http://radikal.ru/F/s019.radikal.ru/i617/1205/ce/aba467ba04fb.jpg.html)http://i057.radikal.ru/1205/30/a88cc7875fc3t.jpg (http://radikal.ru/F/i057.radikal.ru/1205/30/a88cc7875fc3.jpg.html)http://s019.radikal.ru/i615/1205/ad/1a1c164636c8t.jpg (http://radikal.ru/F/s019.radikal.ru/i615/1205/ad/1a1c164636c8.jpg.html)http://s019.radikal.ru/i639/1205/fb/5c67cbb3767et.jpg (http://radikal.ru/F/s019.radikal.ru/i639/1205/fb/5c67cbb3767e.jpg.html)
Обмеру и визуализации подвергаются:
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) установить пакеты:
$ opkg install bash rrdtool coreutils-df
2) распаковать rrdstorm.sh из архива (http://github.com/downloads/ryzhovau/rrdstorm/rrdstorm.tgz) в /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 переставали проигрываться! Выход в ограничении аппетитов процесса:
$ 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
http://s019.radikal.ru/i600/1205/81/36899e2f9ce5t.jpg (http://radikal.ru/F/s019.radikal.ru/i600/1205/81/36899e2f9ce5.jpg.html)http://s42.radikal.ru/i098/1205/1f/7ed90e81c73dt.jpg (http://radikal.ru/F/s42.radikal.ru/i098/1205/1f/7ed90e81c73d.jpg.html)http://s019.radikal.ru/i604/1205/28/85ba43474f6ct.jpg (http://radikal.ru/F/s019.radikal.ru/i604/1205/28/85ba43474f6c.jpg.html)http://s019.radikal.ru/i617/1205/ce/aba467ba04fbt.jpg (http://radikal.ru/F/s019.radikal.ru/i617/1205/ce/aba467ba04fb.jpg.html)http://i057.radikal.ru/1205/30/a88cc7875fc3t.jpg (http://radikal.ru/F/i057.radikal.ru/1205/30/a88cc7875fc3.jpg.html)http://s019.radikal.ru/i615/1205/ad/1a1c164636c8t.jpg (http://radikal.ru/F/s019.radikal.ru/i615/1205/ad/1a1c164636c8.jpg.html)http://s019.radikal.ru/i639/1205/fb/5c67cbb3767et.jpg (http://radikal.ru/F/s019.radikal.ru/i639/1205/fb/5c67cbb3767e.jpg.html)
Обмеру и визуализации подвергаются:
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) установить пакеты:
$ opkg install bash rrdtool coreutils-df
2) распаковать rrdstorm.sh из архива (http://github.com/downloads/ryzhovau/rrdstorm/rrdstorm.tgz) в /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 переставали проигрываться! Выход в ограничении аппетитов процесса:
$ 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