Название: Модуль контроля полосы пропускания (альтернативная версия) Отправлено: blackjack от 13 Января 2010, 08:56:32 Альтернативаня бесплатная версия модуля контроля полосы пропускания
Cкрипт который из базы биллинга выдергивает имена юзеров и создает в какти графики для каждого пользователя. Почитать как добавить график из командной строки можно здесь http://www.cacti.net/downloads/docs/html/cli_add_graphs.html (http://www.cacti.net/downloads/docs/html/cli_add_graphs.html) Код: cat /usr/local/share/cacti/cli/make_many_graphs.pl Код: #!/usr/bin/perl Дальше делаем скрипт который будет из базы биллинга выбирать из X таблиц данные по трафику для юзера по id за последние 5 минут и скармливаем аутпут какти. Код: cat /usr/local/share/cacti/scripts/usertraf.pl Код: #!/usr/bin/perl Дальше сама настройка какти. 1. Логинимся 2. Console 3. Data Input Methods 3.1 Add 3.2 Name - Users traffic 3.3 Input Type - Script/Command 3.4 Input String - perl <path_cacti>/scripts/userstraf.pl <id> 3.5 Create 3.6 Input Fields->Add 3.6.1 Friendly Name - User id 3.6.2 Create 3.7 Output Fields->Add 3.7.1 Field [Output] - in 3.7.2 Friendly Name - Traffic in 3.7.3 Create 3.8 Output Fields->Add 3.7.1 Field [Output] - out 3.7.2 Friendly Name - Traffic out 3.7.3 Create 3.9 Save 4. Data Templates 4.1 Add 4.2 Data Templates [new]-> Name - Users traffic 4.3 Data Source->Name - User traffic 4.4 Data Input Method - Users traffic 4.5 Data Source Item -> Internal Data Source Name - in 4.6 Create 4.7 Data Source Item - New 4.8 Data Source Item -> Internal Data Source Name - out 4.9 Custom Data [data input: Users traffic] -> User id - Ставим галочку Use Per-Data Source Value (Ignore this Value) 4.10 Save 5. Graph Templates 5.1 Add 5.2 Template->Name - User traffic 5.3 Graph Template->Title (--title) - Ставим галочку Use Per-Graph Value (Ignore this Value) 5.4 Create 5.5 Graph Template Items 5.6 Add 5.7 Data Source - Users traffic - (in) 5.8 Color - 00CF00 5.9 Graph Item Type - AREA 5.10 Consolidation Function - AVERAGE 5.11 Text Format - Inbound: 5.12 Graph Template Items 5.13 Add 5.14 Data Source - Users traffic - (in) 5.15 Color - NONE 5.16 Graph Item Type - GPRINT 5.17 Consolidation Function - LAST 5.18 Text Format - Current: 5.19 Graph Template Items 5.20 Add 5.21 Data Source - Users traffic - (in) 5.22 Color - NONE 5.23 Graph Item Type - GPRINT 5.24 Consolidation Function - AVERAGE 5.25 Text Format - Average: 5.19 Graph Template Items 5.20 Add 5.21 Data Source - Users traffic - (in) 5.22 Color - NONE 5.23 Graph Item Type - GPRINT 5.24 Consolidation Function - MAX 5.25 Text Format - Maximum: 5.26 Insert Hard Return - true 6. Повторяем пункты 5.5 - 5.26 только для Data Source - Users traffic - (out) (пункт 5.7 in меняем на out, пункт 5.9 Graph Item Type - LINE1) 7. Save 8. New Graphs 8.1 Выбираем нужный нам хост Host: 8.2 Graph Templates->Create: User traffic 8.3 Create 8.4 Create Graph from 'User traffic' - вводим логин юзера marinka 8.5 User id - 1115 Ну вот один график добавили, выше приведен скрипт который автоматизирует добавление графиков для пользователей из базы данных биллинга. Собственно сам модуль на Perl для биллинга. cat /usr/local/nodeny/web/Sgraph.pl Код:
Код: mkdir /usr/local/www/apache22/data/i/png Код: echo “120 Sgraph GC_main Контроль загрузки канала 0 0 Операции — Настройки — Клиентская статистика — Список плагинов Добавьте Sgraph Пользуйтесь на здоровье. Всем успеха. :-)) Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: Cell от 13 Января 2010, 20:28:41 Продолжим, теперь о самом "модуле" ))
Лазить скриптом в вебморду Cacti чтобы сграбить график - это просто полная жесть. Других слов нет. Когда я в описании к своему модулю упомянул Cacti (зря я это сделал ))) я имел ввиду дизайн самой картинки и БОЛЬШЕ НИЧЕГО. Я не использую Cacti вообще никак. Мой модуль инсталлируется в течении 5 минут и не требует никакой настройки. Вот так вот. Вердикт - не рекомендуется к использованию, хотя и не запрещается ))) Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: Cell от 14 Января 2010, 00:56:06 Тут сейчас речь слегка не об этом )
В моем модуле http://forum.nodeny.com.ua/index.php?topic=367.0 ничего такого настраивать не надо, нужно просто чтобы утилита rrdtool была установлена на сервер, только и всего. Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: blackjack от 14 Января 2010, 11:07:33 небольшой патчик
Код: --- /usr/local/share/cacti/scripts/usertraf.pl 2010-01-14 11:17:14.000000000 +0200 Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: blackjack от 14 Января 2010, 11:16:38 Продолжим, теперь о самом "модуле" )) Лазить скриптом в вебморду Cacti чтобы сграбить график - это просто полная жесть. Других слов нет. Когда я в описании к своему модулю упомянул Cacti (зря я это сделал ))) я имел ввиду дизайн самой картинки и БОЛЬШЕ НИЧЕГО. Я не использую Cacti вообще никак. Мой модуль инсталлируется в течении 5 минут и не требует никакой настройки. Вот так вот. Вердикт - не рекомендуется к использованию, хотя и не запрещается ))) Никакая это не жесть, какти прорисует график правильно, тем более есть возможность через вебморду управлять шаблонами, что есть +. А я вот рекомендую в использование. Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: vnd от 31 Января 2010, 14:27:44 Даю юзерам 100мбит Украины. В описании модуля прочитал, что 100мбит лучше не указывать, т.к. будут неточности и скачки. Так и есть. Местами полная ахинея получается. Как быть?
Вопрос, возможно, не по адресу. Надо было поместить его в ветку с платной версией модуля. Модераторы, перенесете или пусть здесь будет? Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: vnd от 31 Января 2010, 16:17:46 Вопрос относитя к платному модулю.
$max_count=16000000; // из расчета что канал у юзера не может быть выше 16 мбит\с, можно конечно выставить и 100Мбит\с и не парить мозг, но при переходе на следующий месяц будут наблюдатся безумные броски и это все будет не очень красиво, потому ставим реальные цифры. Вот у меня наблюдается те самые броски и даже без перехода на сл. месяц. Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: Cell от 31 Января 2010, 16:28:40 тут ничего удивительного нет, если юзер сначала берет 100 мбит Украины а потом 1 Мбит интернета то спрашивается, что вы хотите увидеть на графике если вы эти направления суммируете?
Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: evp от 31 Января 2010, 23:15:40 Цитата: VitalVas та ну нах рддтулл, когдато прийшлось его настраевать, гемору было куча Угу. Семь(!) экранов текста это "самый простой и легкий вариант"? Как же! Купите лучше платный модуль и сравните - краткость изложения и простота в установке (займет немного времени, если не обращать внимание на "ставиться будет долго т.к. тянет за собой довольно много зависимостей", но зато становится автоматом и не требует настроек) . The Best!от самый простой и легкий вариант http://vitalvas.pp.ua/?id=7 Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: Fredik от 31 Января 2010, 23:46:43 Цитата: VitalVas та ну нах рддтулл, когдато прийшлось его настраевать, гемору было куча Угу. Семь(!) экранов текста это "самый простой и легкий вариант"? Как же! Купите лучше платный модуль и сравните - краткость изложения и простота в установке (займет немного времени, если не обращать внимание на "ставиться будет долго т.к. тянет за собой довольно много зависимостей", но зато становится автоматом и не требует настроек) . The Best!от самый простой и легкий вариант http://vitalvas.pp.ua/?id=7 купил поставил, радуюсь Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: blackjack от 05 Февраля 2010, 10:42:17 Код: $query="SELECT SUM(`in`)*8/300 AS `averin`,SUM(`out`)*8/300 AS `averout` FROM `x".$year."x".$mon."x".$mday."` WHERE `mid`=".$userid." AND `time`>UNIX_TIMESTAMP()-300 AND `class`=1"; class - номер направления, изменяйте его на то что вам нужно. ПС. реально кто-нибудь у себя опробовал творение? Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: VitalVas от 06 Февраля 2010, 12:08:25 ПС. реально кто-нибудь у себя опробовал творение? нет. некто не хочет завалить свой рабочий биллинг. :)я лично придерживаюсь такова: "Работае - нетрож" Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: killall от 08 Февраля 2010, 22:46:06 Помогите с проблемой
Код: cat /usr/local/share/cacti/scripts/usertraf.pl ertraf.pl И ошибка perl /usr/local/share/cacti/scripts/usertraf.pl DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND FROM_UNIXTIME(`time`)>'2010-2-8 22:40:37'' at line 1 at /usr/local/share/cacti/scripts/usertraf.pl line 21. DBD::mysql::st fetchrow_hashref failed: fetch() without execute() at /usr/local/share/cacti/scripts/usertraf.pl line 23. MYSQL 5.5 Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: blackjack от 09 Февраля 2010, 11:33:22 запрос должен быть вот такой
Код: $query="SELECT SUM(`in`)*8/300 AS `averin`,SUM(`out`)*8/300 AS `averout` FROM `x".$year."x".$mon."x".$mday."` WHERE `mid`=".$userid." AND `time`>UNIX_TIMESTAMP()-300 AND `class`=1"; Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: killall от 09 Февраля 2010, 15:22:39 запрос должен быть вот такой DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND `time`>UNIX_TIMESTAMP()-300 AND `class`=1' at line 1 at /usr/local/share/cacti/scripts/usertraf.pl line 21.Код: $query="SELECT SUM(`in`)*8/300 AS `averin`,SUM(`out`)*8/300 AS `averout` FROM `x".$year."x".$mon."x".$mday."` WHERE `mid`=".$userid." AND `time`>UNIX_TIMESTAMP()-300 AND `class`=1"; DBD::mysql::st fetchrow_hashref failed: fetch() without execute() at /usr/local/share/cacti/scripts/usertraf.pl line 23. Тоже ощибку выдает. где собака зарыта? Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: blackjack от 09 Февраля 2010, 16:05:27 що виводить команда
Код: mysql -V Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: killall от 09 Февраля 2010, 18:36:22 що виводить команда mysql Ver 14.14 Distrib 5.5.1-m2, for portbld-freebsd8.0 (i386) using 5.2Код: mysql -V Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: blackjack от 10 Февраля 2010, 10:06:28 ви не той mysql-server поставили, цей видаліть і поставте так
Код: cd /usr/ports/databases/mysql50-server && make WITH_CHARSET=cp1251 install clean має бути так Код: mysql -V Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: killall от 14 Февраля 2010, 15:20:52 ви не той mysql-server поставили, цей видаліть і поставте так Переуствновил. Всеравно ошибку >:(Код: cd /usr/ports/databases/mysql50-server && make WITH_CHARSET=cp1251 install clean має бути так Код: mysql -V Причем ругаеться на AND. Если его убрать с запроса, то проходит буз ошибок, но тогда сам скрипт неработает. Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: blackjack от 17 Февраля 2010, 14:10:21 викладіть сюди свій запит, шось ви там намутили з цим запитом.
Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: killall от 18 Февраля 2010, 15:02:04 викладіть сюди свій запит, шось ви там намутили з цим запитом. Код: cat /usr/local/share/cacti/scripts/usertraf.pl ertraf.pl Пробывал и Код: $query="SELECT SUM(`in`)*8/300 AS `averin`,SUM(`out`)*8/300 AS `averout` FROM `x".$year."x".$mon."x".$mday."` WHERE `mid`=".$userid." AND `time`>UNIX_TIMESTAMP()-300"; Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: mefer от 18 Февраля 2010, 16:14:23 [root@noc-vv /usr/local/share/cacti/scripts]# ./usertraf.pl
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND FROM_UNIXTIME(`time`)>'2010-2-18 17:11:52'' at line 1 at ./usertraf.pl line 21. DBD::mysql::st fetchrow_hashref failed: fetch() without execute() at ./usertraf.pl line 23. Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: blackjack от 22 Февраля 2010, 20:45:39 ну что ж выяснили, сам по себе скрипт нечего запускать, надо передавать ему в качестве аргумента id клиента в базе ;)
например так ./usertraf.pl 33 только не понимаю зачем это делать в командной строке, если мы это делаем в Data Input Methods вводя строку Код: perl <path_cacti>/scripts/usertraf.pl <id> Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: md5 от 08 Апреля 2010, 03:09:17 Поставил все как написано. в итоге что получаю.. в статистике пользователей графики есть... но они пустые. никакой нагрузги за сутки вообще нет.. главное ошибок так же не видно, кроме:
perl ./make_many_graphs.pl PHP Warning: substr_count(): Empty substring in /var/www/cacti/cli/add_graphs.php on line 383 ERROR: Unknown input-field () Try --list-input-fields Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: blackjack от 08 Апреля 2010, 09:59:18 відкрийте скріпт і відредагуйте ці змінні під себе.
Код: $uq=300; #первыйх N юзеров для которых надо создать графики Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: md5 от 08 Апреля 2010, 15:44:24 Это я сделал же первым делом как только запускал его
Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: md5 от 08 Апреля 2010, 18:32:03 У кого нибуть этот модуль заработал кроме пустых графиков ?
Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: hayarm от 08 Апреля 2010, 19:16:41 u menya tozhe pusto, neznayu vrode vse delal kak napisanno
Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: md5 от 08 Апреля 2010, 21:23:36 Проблема решина.. если что пишите подскажу )
Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: blackjack от 09 Апреля 2010, 09:09:59 З допомогою пана lisc була знайдена помилка в скріпті масового створення графіків
1. ось правильний скріпт Код: #!/usr/bin/perl 2. Щоб ви не мучились з кактусом, викладаю xml-шаблони, імпортуєте їх і по всьому Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: hayarm от 09 Апреля 2010, 14:54:57 все получилась, в Sgraph.pl поправил $request=POST ($link_h, [action=>'login',login_username=>'cacti', login_password=>'cacti'],'Accept' => 'image/png',); над себя
Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: bike-prorider от 26 Апреля 2010, 13:03:23 Подскажите - надо ли какой то из вышеперечисленных скриптов запускать из командной строки или по крону?
Или они при вызове контроля загрузки канала со страницы статистики абонента сами запистятся какие нужно? А то все сделал как указано, а графики пустые, только временная сеточка прорисована и все... Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: bike-prorider от 26 Апреля 2010, 14:09:18 запустил с командной строки
make_many_graphs.pl с количеством пользователей 1000 сервак на долго задумался... потом на графике дневной и почасовой загрузок появились задатки графика. но при обновлении страницы статистики с графиком через пол часа, картинка не поменялась. получается этот скрипт надо запускать по крону каждые 5 минут? или я не прав? если так, то тогда я не знаю как отреагирует на это сервер, потому что одно выполнение этого скрипта длится больше пяти минут... Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: bike-prorider от 26 Апреля 2010, 15:03:49 Поставил этот скрипт на крон каждые 5 мин в течение получаса... Поимел стопроцентную загрузку проца на полчаса, 6000 графиков в кактусе, по 6 на каждого юзверя... причем 6 графиков абсолютно одинаковые по отдельно взятому пользователю... Подскажите что я делаю не так?
Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: hayarm от 27 Апреля 2010, 07:38:54 после perl ./make_many_graphs.pl
создает графики, все норм, но что ето мог быть?? Syntax error: "(" unexpected Syntax error: "(" unexpected Syntax error: "(" unexpected Syntax error: "(" unexpected Syntax error: "(" unexpected Syntax error: "(" unexpected Syntax error: "(" unexpected Syntax error: "(" unexpected Graph Added - graph-id: (107) - data-source-ids: (113) Graph Added - graph-id: (108) - data-source-ids: (114) Graph Added - graph-id: (109) - data-source-ids: (115) Graph Added - graph-id: (110) - data-source-ids: (116) Graph Added - graph-id: (111) - data-source-ids: (117) Graph Added - graph-id: (112) - data-source-ids: (118) Syntax error: "(" unexpected Syntax error: "(" unexpected Syntax error: "(" unexpected Syntax error: "(" unexpected Syntax error: "(" unexpected Syntax error: "(" unexpected какую сторону посмотреть? Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: blackjack от 27 Апреля 2010, 11:52:19 Поставил этот скрипт на крон каждые 5 мин в течение получаса... Поимел стопроцентную загрузку проца на полчаса, 6000 графиков в кактусе, по 6 на каждого юзверя... причем 6 графиков абсолютно одинаковые по отдельно взятому пользователю... Подскажите что я делаю не так? вау запалюєш ;D пишіть в аську, буду помагати Название: Re: Модуль контроля полосы пропускания (FREE VERSION) Отправлено: bike-prorider от 30 Апреля 2010, 08:40:19 вау запалюєш ;D пишіть в аську, буду помагати Тут легко зажигать :) никакого пояснения по установке... ??? Пришлось будить интуицию, смотреть ихсодники. Вобщем разобрался, работает, спасибо. Удобная штука... Название: Re: Модуль контроля полосы пропускания (альтернативная версия) Отправлено: blackjack от 30 Апреля 2010, 12:39:14 Цитировать никакого пояснения по установке... Непонимающий а перший пост це що по вашому? |