9 апр. 2009 г.

Vnstat - смотрим статистику через веб

Итак, vnstat настроен и собирает статистику.

Не всегда удобно заходить на консоль сервера только для того чтобы посмотреть статистику. Иногда нужно предоставить доступ третьим лицам, а консольный доступ давать не хотелось бы.

Проблема решается написанием небольшого скрипта для вывода статистики в веб.

Исходим из того что веб-сервер у нас уже установлен и настроен, дело за малым - написать скрипт!

Сервер линуксовый и чтобы не тянуть лишних зависимостей за скриптом, пишем на Shell:


#!/bin/sh

INTERFACES="LAN:eth0 WAN:eth1 DMZ:eth2"

echo "Content-Type: text/html; charset=utf8 \n\n";
echo '<HTML><head><link rel="stylesheet" href="/style.css" type="text/css" /></head>';
echo "<BODY>";

# evalute variables
for int in `echo ${INTERFACES} \
| sed -e 's/ /\n/g'`;
do
int_name=`echo ${int} | cut --delimiter=: --fields=1`
intf=`echo ${int} | cut --delimiter=: --fields=2-2`

echo "<p><h2>${int_name} interface (${intf})</h2>"
echo '<pre class="tab1">'
vnstat -q -d -i ${intf}
echo "</pre></p>"

done;


Переменная INTERFACES определяет пары "Название интерфейса"-интерфейс по которым необходимо выводить статистику.

Размещаем этот скрипт на сервере, где снимаем статистику с интерфейсов, и настраиваем веб-сервер.



10 комментариев:

Олег Мороз комментирует...

Весьма полезно

Анонимный комментирует...

А что такого секретного в непривязанных цифрах трафика и интерфейсах eth{0,1,2}, что их надо было замазывать?

ffsdmad комментирует...

Очередной велик

crontab -l

*/5 * * * * bin/stat.sh > /var/www/index.html

cat bin/stat.sh
#!/bin/bash
uname -a > /tmp/1.txt
echo >> /tmp/1.txt
date "+%Y-%m-%d %H:%M:%S" >> /tmp/1.txt
echo >> /tmp/1.txt
uptime >> /tmp/1.txt
echo >> /tmp/1.txt
vnstat -q >> /tmp/1.txt


txt2html /tmp/1.txt --xhtml --title "ffserver"

http://ffsdmad.homelinux.org/

Unknown комментирует...

2 Анонимный: на мой взгляд тоже ничего... но береженого... ;)

2 ffsdmad:
* неспорю, может и лисапед... меня устраивает пока, может кому поможет написать что-то более интересное, кому просто пригодится...
* твой вариант тоже интересен, единственное что глаз режет, это то что vnstat и так сам считает статистику по расписанию каждые 5 минут, а тут еще одно задание...
в данном случае думаю проще обойтись без крона - статистику лично я точно не чаще раза в 5 минут статистику смотрю ;)

Unknown комментирует...

На что только люди идут чтобы доки не читать :))))))))))


Идем на оф. пагу - http://humdi.net/vnstat/, листаем вниз до раздела Downloads и узнаем, что есть аж две вебморды vnstati (скрин: http://humdi.net/vnstat/cgidemo/) и vnStat PHP frontend (скрин: http://www.sqweek.com/sqweek/files/scrot1_thumb.png)

Чем не устраивает?

Unknown комментирует...

2 Angel 2S2:

Доки и хом-пага несколько разные вещи ;)

Пока устраивала собственная, да и в шелл-скриптах хотелось попрактиковаться :)

Первую морду я видел, а вот вторую как-то не заметил ;)

Теперь наверное переделаю на использование vnstati, Спасибо! :)

Unknown комментирует...

2 Angel 2S2:

использование vnstati откладывается до появления его в составе пакета или в составе репозитария ubuntu - нет его тут... и не до компиляции сейчас... ждемс...

Unknown комментирует...

Да, про доки я не корректно выразился, сорри :)

На днях выложу у себя в блоге как я собирал его из сорцов. Ничего пложного в принципе нету.
Если интересно, следи за новостями ;)


PS: Выруби капчу для зарегеных, плиз.

Unknown комментирует...

2 Angel 2S2:

Я так понял vnstati появился только в последней версии, а в ubuntu 8.10 как раз предпоследняя :)

Я пока жду 9.04 - немного осталось :)

Как капчу для зарегеных вырубить не нашел - там только вкл/выкл есть...

Unknown комментирует...

Вот выложил, как и обещал - http://angel2s2.blogspot.com/2009/04/vnstat-ubuntu-lighttpd-vnstati.htmlДа, ты прав, тут нельзя отключить капчу только для зареганных. У меня она для всех отключена, спама еще не было ни разу :)