Jump to content

Модули для Stargazer'a


Recommended Posts

Я тут накропал логинг для Stargazer'а...

Т.е. делаю чтобы пользователи и админы могли смотреть сколько и когда они выкачали.

У меня такое сейчас на сервере работает.

Правда пока что не доделал сам скрипт просмотра... ну хоть пока что логи ведутся.

Скрипт я сделаю на PHP, у кого есть желание и возможность - напишите такое на perl'е.

Вот это было скомпилировано под Linux Red Hat 7.2.

А вот это сами исходники.

Оба файла заархивированы WinRAR 3.

 

Компиляция очень проста:

[@root] c++ source.cpp

Это создаст скомпилированную программу с именем a.out. Теперь всё что нужно - это стартовать её каждые 5 минут.

Переименуйте её, например в graph и перенесите в /etc/stargazer

Теперь сделайте её исполняемой, если она ещё таковой не является:

chmod +x /etc/stargazer/graph.

 

Теперь нужно в /etc/crontab добавить такую строчку:

*/5 * * * * /etc/stargazer/graph

 

[@root] crontab -u root /etc/crontab

при этом естесственно крон должен работать. Для пущей надёжности перезапустите его:

[@root] /etc/init.d/crond restart

 

 

Вот это всё, что сделали, даст ведение логов, теперь всё что осталось это сделать их анализатор (я уже начал, но на PHP).

Эта программа каждые 5 минут сохраняет количество скачанных байт пользователем в отдельный файл.

 

Так что ставьте, пробуйте. Только не запускайте эти файлы вручную.

 

Все новые файлы здесь:

1. Исходники на с++.

2. Ведение статистики, но на PHP.

3. Просмотр сохранённой статистики (на PHP).

4. Скомпилированная статистика на с++ под LinuX Red Hat 7.2

5. Проверка на перекачку с вебинтерфейсом.

 

 

[Редактировано 25/10/2003 Foster]

Link to post
Share on other sites

Новости по поводу темы:

 

Сделал логгинг на PHP.

Подправил написанное на с++.

 

Файлы:

на PHP - скачать.

на с++ (исходники) - скачать.

на с++ (откомпилированные под Red Hat 7.2) - скачать.

 

 

[Редактировано 9/9/2003 Foster]

Link to post
Share on other sites

Привет, а нельзя ли сделать, чтобы вся статистика для всех юзеров паковалась и отправлялась на указанный email. на всякий случай. :) Я не силен в линуксе.

Link to post
Share on other sites

Что-то не заводится просмотрщик логов.

Не вводится логин/пароль.

На какой версии РНР он тестировался?

Версия Апача?

У меня PHP 4.3.0 Apache/1.3.27

Link to post
Share on other sites

PHP 4.3.1

Apache 1.3.27

 

по идее должен работать. Я его щаз переделівать собрался, потому как тестировали на RedHat 7.2 и Slackware. Так на первом всё красиво работает, а на втором нивкакую.

 

P.S. а ты логирование само какое поставил? на c++ или PHP? работает?

Link to post
Share on other sites

Логгинг на C++ работает. Логи пишутся.

Логгинг на PHP не проверял, но проблема, кажется, не в нем.

Ввод логина/пароля не идет ни в какую. Переменные не получают значения с формы. Система RH 7.2

Apache|PHP установлены новые, версии я писал выше.

На PHP работал phpMyAdmin, так что работоспособность можна сказать на 99 % WEB сервера и итерпретатора PHP проверена.

Link to post
Share on other sites

Переделал просмотровую часть.

Добавил админа, с возможностью просмотра по всем пользователям. Возможно проверять IP пользователя и пускать на просмотр статистики если IP такой же. Ну вобщем в readme всё написано.

Качать тут. А вобщем-то всё новое качается и в верхнем посте.

 

P.S. кстати, проверь в php.ini register_globals=On. Хотя я уверен, что ошибка была в скрипте, он не находил нужных директорий.

 

 

[Редактировано 9/9/2003 Foster]

Link to post
Share on other sites

Аноним

Warning: OpenDir: Permission denied (errno 13) in /var/www/html/functions.php on line 417

Выдает при обращении, Как исправить?

скачать и поставить последнюю версию сборщика логов и проставить права доступа на папку graph в пользовательских директориях старгейзера не на рутовские, т.е. например 0755. И так каждому пользователю, например:

chmod 0755 /var/stargazer/users/test/graph

 

BOBAH

Как поведет себя сборщик логов, если в правилах всего одно направление.?

будет собирать по всем направлениям, но там где не считается будут стоять нули.

 

[Редактировано 20/8/2003 Foster]

Link to post
Share on other sites

ТАК ЧТОЖ ПРИ ДОБАВЛЕНИИ НОВОГО ПОЛЬЗОВАТЕЛЯ ВСЕГДА ПРАВИТЬ ПРАВА НА ДИРЕКТОРИИ? И ЕЩЕ НЕ ЗАПУСКАЕТСЯ ЧЕРЕЗ CRONTAB , ЕСЛИ РУКАМИ, ТО СОЗДАЕТ ОТЧЕТЫ, НО ОНИ НЕ СМОТРЯТСЯ ЧЕРЕЗ ВЭБ.

 

И поскажите пожалуста, что написать в правила стг. Всего нужно сделать 2 направления 1 - инет 2 - локалка

есть тачка - шлюз 192.168.1.1 на ней почта и тд.

нужно считать все сервисы на этой машине и все что уходит за нее в напр 1 и весь локальный в напр 2.

перед этой машиной стоит машинка с стг.

Link to post
Share on other sites
ТАК ЧТОЖ ПРИ ДОБАВЛЕНИИ НОВОГО ПОЛЬЗОВАТЕЛЯ ВСЕГДА ПРАВИТЬ ПРАВА НА ДИРЕКТОРИИ?
нет конечно, это была ошибка первых версий, сейчас всё исправлено и работает, просто скачай новую и заново поставь.
И ЕЩЕ НЕ ЗАПУСКАЕТСЯ ЧЕРЕЗ CRONTAB , ЕСЛИ РУКАМИ, ТО СОЗДАЕТ ОТЧЕТЫ, НО ОНИ НЕ СМОТРЯТСЯ ЧЕРЕЗ ВЭБ.

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

И поскажите пожалуста, что написать в правила стг. Всего нужно сделать 2 направления 1 - инет 2 - локалка

есть тачка - шлюз 192.168.1.1 на ней почта и тд.

нужно считать все сервисы на этой машине и все что уходит за нее в напр 1 и весь локальный в напр 2.

перед этой машиной стоит машинка с стг.

я точно не знаю. Знаю что правила читаются сверху вниз. Попробуй так:
TCP 192.168.5.0/24:3128 DIR0
TCP 192.168.5.0/24:8080 DIR0
TCP 192.168.5.0/24:110 DIR0
TCP 192.168.5.0/24:25 DIR0
TCP 0.0.0.0/24 NULL

Link to post
Share on other sites

Спасибо за прогу для отсылки логов на почтовый сервак, но нельзя ли сделать чтобы она слала на SMTP указанного сервера не используя sendmail, а сразу напрямую.

 

[Редактировано 21/8/2003 Foster]

Link to post
Share on other sites

1.Что подправить, чтобы когда статистику выдавало, срабатывал автомат выбора кодировки IE6 , последний слетает на турецкую кодировку. Когда ему указать кодировку вручную, то все ОК.

Где-то надо добавить в проге, чтобы при генерации выдавалась строчка с чарстом или это можно сделать настройками какими-то?

2.При перерыве в работе логера статистики, когда потом считать, получаются иногда отрицательные результаты.

Link to post
Share on other sites
  • 2 weeks later...

Поправил версию на c++ по ведению логов. В прошлой учитывались не все пользователи, а точнее вроде бы только один.

Теперь всё работает вроде нормально.

 

Спасибо nn за найденный глюк.

Link to post
Share on other sites

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

Качать в первом посте.

 

[Редактировано 12/9/2003 Foster]

Link to post
Share on other sites

Обновление просмотра статистики. Теперь данные о выкачке показываются в нормальных величинах а не просто в байтах. Т.е. если скачали больше чем килобайт, то показывает в килобайтах, если больше метра, то в мегабайтах. И так по каждому направлению. Вобщем смотрите.

Link to post
Share on other sites

У меня получается отрицательный результат, если число скаченных байт > 3 Gb. Думаю проблема или в версии PHP 4.0.6 или в фунции array_sum(). Определил так. Отчет по всем например с 9 по 12 все нормально. С 9 по 13 уже отрицательный, трафик уже перевалил за 3Gb. А с10-13 все нормально, еще не перевалил. Я тебе высылал файлы статистики. Посмотри, так как 3 gb это 3 дня работы.

 

[Редактировано 14/9/2003 Foster]

Link to post
Share on other sites

Довольно странно, не могу определить почему получается отрицательный результат. Поставил в файлах статистики большие значения (от 3 гигабайт) и всё нормально выводит. Буду испытывать, выявлять ошибку, спасибо. Если кто определит, скажите, поправлю.

Link to post
Share on other sites

Нашёл в чём проблема. По НЕпонятным мне причинам происходит какой-то сбой. В один из моментов в файл лога скачанной инфы попадает отрицательное число. Действительно странно, т.к. заносимые в файл данные - это разница прошлых данных и настоящих.

Может происходит обнуление счётчика?

Во проверьте файлы в /var/stargazer/users/$user/graph/2003/September или где у вас отрицательный получается результат...

Link to post
Share on other sites

У меня результат был отрицателен, если данных было перекачено больше 3 Gb. Поставил PHP 4.3.3 и все стало правильно считать. Проблема была в функции array_sum(). Я так думаю :)

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...