Jump to content
Local
Sign in to follow this  
SVD

Графики клиентов и Mikrotik NAS

Recommended Posts

Всем привет. подскажите пожалуйста как снять и вывести график по каждому клиенту который на микротике.  Хотелось бы через mrtg + oid для simple qeueu но они постоянно меняются когда провожу всякие смены тарифов и тд. Получается что  как то надо netflow использовать но  чем преобразовать в график особо не нашел. может cacti или NfSen. Подскажите в какую сторону правильно смотреть

Edited by SVD

Share this post


Link to post
Share on other sites

tools-graphing уже не в моде?

 

post-13300-0-21064400-1372747580_thumb.jpg

Edited by антоха

Share this post


Link to post
Share on other sites

вот это я туплю. не изучил до конца возможности этого пункта.  Спасибо

Share this post


Link to post
Share on other sites

Ну встроенная справка как бы намекает

 

post-4093-0-48239000-1372761866_thumb.png

Share this post


Link to post
Share on other sites

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

 

 

post-4093-0-73343500-1372761896_thumb.png

Share this post


Link to post
Share on other sites

 

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

Какие GT/QC внизу страницы?

Share this post


Link to post
Share on other sites

 

 

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

Какие GT/QC внизу страницы?

 

GT:19.58 QC: 19      И это  касте не всегда. на другом клинте шустрее.   GT:5.18 QC: 19

Share this post


Link to post
Share on other sites

На 386SX25 биллинг чтоли держите?

Очень много - 0.2-0.3/18-19 это норма для абонбаз с  пятизначными количествами абонентов.

Share this post


Link to post
Share on other sites

semtron 3000+ 2гб ОЗУ

Share this post


Link to post
Share on other sites

LA какой?

ast pid: 54240;  load averages:  0.30,  0.24,  0.18                                                                                                                        up 7+03:15:10  15:24:07
119 processes: 1 running, 114 sleeping, 4 zombie
CPU: 13.1% user,  0.0% nice,  7.1% system,  0.0% interrupt, 79.8% idle
Mem: 311M Active, 1114M Inact, 370M Wired, 65M Cache, 213M Buf, 108M Free
Swap: 4096M Total, 27M Used, 4069M Free
 
Да он всегда у меня таков. у меня ub летает. это вот столкнулся когда вот дело до графиков дошло. 

Share this post


Link to post
Share on other sites

Нету графичков изза того что не найден сервер доступа с bandwidthd для сети пользователя   И еще такая беда. Хотя  Ссылка на Bandwidthd  есть. И это только у одного такое. У всех остальных все нормально. как так может быть. 

Share this post


Link to post
Share on other sites

 

Нету графичков изза того что не найден сервер доступа с bandwidthd для сети пользователя

Ну вот вам и причина и следствие в одну строку.

 

 

Хотя  Ссылка на Bandwidthd  есть.

Самоочевидно, что нету.

 

Возможно нарушена целостность БД.

1. Тыкаете по пользователю

2. Тыкаете "подробно"

3. Смотрите "Сетевые данные"

4. Обращаете внимание на [netid]

5. Сверяетесь с полем "Сеть" в модуле "Сервера доступа (NAS)" - до двоеточия должна быть та же ID

6. Также сверяетесь с модулем "Сети и услуги" на тему аутентичности ID сети и netid хоста пользователя.

Share this post


Link to post
Share on other sites

На тему быстродействия - все проверяется очень просто.

 

1. Тыкаем "Консоль разработчика"

2. Тыкаем "PHP консоль"

3. Исполняем там следующий код:

$randomlogin=simple_query("SELECT `login` from `users` WHERE `D0`>0");
$login=$randomlogin['login'];

$rtime = explode(' ', microtime());
$runtime = $rtime[0] + $rtime[1] - $starttime;
deb('start: '.round($runtime,3));

$alldirs=zb_DirectionsGetAll();

$rtime = explode(' ', microtime());
$runtime = $rtime[0] + $rtime[1] - $starttime;
deb('dirs: '.round($runtime,3));

$rows='';
$cells='';
       
            if (!empty ($alldirs)) {
                foreach ($alldirs as $io=>$eachdir) {
                   $query_downup="SELECT `D".$eachdir['rulenumber']."`,`U".$eachdir['rulenumber']."` from `users` WHERE `login`='".$login."'";
                   $downup=simple_query($query_downup);
                   $cells='';
                   $cells.=stg_convert_size($downup['D'.$eachdir['rulenumber']]);
                   $cells.=stg_convert_size($downup['U'.$eachdir['rulenumber']]);
                   $cells.=stg_convert_size(($downup['U'.$eachdir['rulenumber']]+$downup['D'.$eachdir['rulenumber']]));
                   
                }
            }

$rtime = explode(' ', microtime());
$runtime = $rtime[0] + $rtime[1] - $starttime;
deb('dirs table: '.round($runtime,3));

$ip=zb_UserGetIP($login);

$rtime = explode(' ', microtime());
$runtime = $rtime[0] + $rtime[1] - $starttime;
deb('IP detect: '.round($runtime,3));


$bandwidthd=zb_BandwidthdGetUrl($ip);


$rtime = explode(' ', microtime());
$runtime = $rtime[0] + $rtime[1] - $starttime;
deb('Get bwd url: '.round($runtime,3));


if ($bandwidthd) {
           $bwd=zb_BandwidthdGenLinks($ip);
}

$rtime = explode(' ', microtime());
$runtime = $rtime[0] + $rtime[1] - $starttime;
deb('Gen bwd links: '.round($runtime,3));

 if (!empty ($alldirs)) {
           foreach ($alldirs as $io=>$eachdir) {
               $query_prev="SELECT `D".$eachdir['rulenumber']."`,`U".$eachdir['rulenumber']."`,`month`,`year`,`cash` from `stat` WHERE `login`='".$login."' ORDER BY YEAR";
               $allprevmonth=simple_queryall($query_prev);
                if (!empty ($allprevmonth)) {
                   foreach ($allprevmonth as $io2=>$eachprevmonth) {
                     $cells=  stg_convert_size($eachprevmonth['D'.$eachdir['rulenumber']]);
                     $cells.= stg_convert_size($eachprevmonth['U'.$eachdir['rulenumber']]);
                     $cells.= stg_convert_size(($eachprevmonth['U'.$eachdir['rulenumber']]+$eachprevmonth['D'.$eachdir['rulenumber']]));
                     $cells.=round($eachprevmonth['cash'],2);
                   }
               }
           }
       }

$rtime = explode(' ', microtime());
$runtime = $rtime[0] + $rtime[1] - $starttime;
deb('Prev month stats: '.round($runtime,3));

4. Показываем выхлоп сюда.

Share this post


Link to post
Share on other sites
DEBUG
start: 0.006

 

DEBUG
dirs: 0.007

 

DEBUG
dirs table: 0.009

 

DEBUG
IP detect: 0.009

 

DEBUG
Get bwd url: 4.345

 

DEBUG
Gen bwd links: 13.73

 

DEBUG
Prev month stats: 13.734

 

Console debug data

 

по поводу 

netid  Array

(
[id] => 68
[netid] => 6
[ip] => 10.2.1.2

в nas

 

7  6: 10.2.0.0/20

 

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

ID Сеть 

5 10.2.0.0/20

Edited by SVD

Share this post


Link to post
Share on other sites

 

DEBUG
Get bwd url: 4.345

 

DEBUG
Gen bwd links: 13.73

 

DEBUG
Prev month stats: 13.734

Хреново, очень хреново. Что у вас с mysql происходит?

 

Вот норма жизни:

DEBUG
start: 0.026
DEBUG
dirs: 0.026
DEBUG
dirs table: 0.027
DEBUG
IP detect: 0.028
DEBUG
Get bwd url: 0.029
DEBUG
Gen bwd links: 0.033
DEBUG
Prev month stats: 0.068

 

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

В услугах - есть то что и должно быть.

Куда вы пропили 6-ю сеть, почему для нее не установлен адекватный NAS и почему пользователь находится в воздухе - виднее должно быть вам.

Share this post


Link to post
Share on other sites

уважаемый. там у вас конкретно id в насах отделен :  а тут просто в услуга id по чем мне знать что этот id в услугах должен быть таким же как  для сетей в разделе нас.  Тем более  что все вроде работает окромя графичков которыми я занялся только сегодня.  Могу ли я просто услуги привести в порядок не нарушит ли работу ели я их отредактирую. Или дайте свои рекомендации по исправлению данного курьеза.  


по поводу mysql буду разбираться.

Share this post


Link to post
Share on other sites

 

уважаемый. там у вас конкретно id в насах отделен :

То что до ":" в поле сеть - это ID сети, не имеющее никакого отношения к ID NAS-а. Соответственно ID услуги не имеет никакого отношения к ID NAS-а и имеет отношение только к ID подсети что по сути отображается только как конкретная "Сеть" для услуги.

 

 

по поводу mysql буду разбираться.

slow query log включите чтоли, и explain-ом их explain-ом....

Share this post


Link to post
Share on other sites

 

То что до ":" в поле сеть - это ID сети, не имеющее никакого отношения к ID NAS-а. Соответственно ID услуги не имеет никакого отношения к ID NAS-а и имеет отношение только к ID подсети что по сути отображается только как конкретная "Сеть" для услуги.

 

 

честно говоря пришел почитал и совсем запутался, так где у меня не соответствие.

Share this post


Link to post
Share on other sites

Хух все выяснил. дело все в том что по id все сходиться.  ))) Просто у меня  диапазоны сетей сначала с 1.1 по 15.254 были. А потом после регистрации клиентов я решил зерезервировать 50 первых ip под всякое оборудование   и поменял диапазон.  1.50 - 15.254. так далее и делал со всеми сетями. А клиенты уже созданы и имеют до пятидесятого айпишника именно в данной сети. Видно там у вас кокой то хитрый механизм на который влияет диапазон сети  от которой зависит сообщение. --- Нету графичков изза того что не найден сервер доступа с bandwidthd для сети пользователя 

Share this post


Link to post
Share on other sites

Поздравляю - теперь вы знаете как выглядит херовое планирование сети, дополненное спонтанными изменениями в политике внутреннего раутинга и сдобренное отсутсивием хотя бы желания использовать best practices таких как "вдумчивая сегментация" и "оу, менеджмент влан".

 

ЗЫ Не -такое не лечим, приводите адресацию в порядок.

Share this post


Link to post
Share on other sites

- Перебирай перебирай ногами как балярун 

- да перебрал уже 

:)

Вот мы там сошлись на том что mysql  медленно работает когда статистику 17 секунд открывает 

вот еще хочу топ показать я его сфоткал в момент нажатие на статистику. httpd почему то ползет так далеко  id в нули. mysql даже  не шелохнется. может не в нем дело. 

 

last pid:  3756;  load averages:  0.41,  0.29,  0.21 up 7+12:53:53  01:02:50
54 processes:  2 running, 48 sleeping, 4 zombie
CPU: 94.1% user,  0.0% nice,  4.4% system,  1.5% interrupt,  0.0% idle
Mem: 275M Active, 1166M Inact, 366M Wired, 40M Cache, 213M Buf, 122M Free
Swap: 4096M Total, 26M Used, 4070M Free
 
  PID USERNAME    THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
 1725 www           1  89    0   355M 95204K RUN      0:19 56.98% httpd
 1730 www           1  21    0   295M 37828K select   0:09  0.78% httpd
 2914 root         13  20    0 70208K 24872K select 171:17  0.00% stargazer
 1755 root          2  52    0 46568K  6872K select  21:38  0.00% mpd5
 2616 mrtg          1  52    0 49068K 15348K nanslp   6:03  0.00% perl
86217 mysql        17  20    0   520M   124M sbwait   2:45  0.00% mysqld
 2810 root          1  20    0   291M 18820K select   1:08  0.00% httpd
75030 root          1  20    0 10052K  1272K select   0:46  0.00% rinetd
 1904 www           1  20    0   295M 37568K lockf    0:34  0.00% httpd
 2860 root          1  20    0 41944K  7044K bpf      0:29  0.00% bandwidthd
 2861 root          1  20    0 70616K 11812K bpf      0:29  0.00% bandwidthd
 1378 www           1  20    0   295M 37640K kqread   0:29  0.00% httpd
 1813 root          1  20    0 22332K  2580K select   0:27  0.00% ntpd
 2862 root          1  20    0 54232K 12880K bpf      0:26  0.00% bandwidthd

Share this post


Link to post
Share on other sites

Всем привет.

Ничего более подходящего на форуме не нашел, пишу сюда.
Ранее юзал графики на локальной машине. Сча решил заюзать микрот в этом плане.

В "сети и услуги" имеем сети (ид) 1 (сеть) 10.35.0.0/23 | услуги (ид) 1 (сеть) 10.35.0.0/23

В " серверы доступа" 1: 10.35.0.0/23
Тип сервера - микрот
Ссылка на Bandwidthd - http://ип_микрота/graphs/queue

При тыкании на стату у юзера выпадает ошибка. Где косяк не врублюсь. Дайте плиз направление куда копать.
в адресной строке такое http://ип_микрота/graphs/queue/10.35.0.120-1-R.png/

 

 

UB_err.png

UB_err_2.png

Edited by sirko.n

Share this post


Link to post
Share on other sites
3 часа назад, GrDEV сказал:

Косяк в том что Bandwidthd на микроте нет :)

Молодой человек, отложите косяк в сторону. Там есть графички очередей.

Share this post


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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×