forum.bitel.ru http://forum.bitel.ru/ |
|
непонятное поведение TelnetServiceActivator http://forum.bitel.ru/viewtopic.php?f=44&t=9738 |
Страница 1 из 2 |
Автор: | jone31 [ 21 сен 2014, 18:56 ] |
Заголовок сообщения: | непонятное поведение TelnetServiceActivator |
хочу использовать этот активатор для добавления IP в списки доступа на микротике. конфиг типа устройств Код: sa.command.exit=exit sa.command.disconnect=quit sa.endSequence=> sa.command.timeout=60000 #Команды включения сервиса на устройстве sa.command.serv.enable.1= #Команды выключения сервиса на устройстве sa.command.serv.disable= #Команды создания сервиса на устройстве. sa.command.serv.create.1= #Команды удаления сервиса с устройства. sa.command.serv.cancel= #Команды включения соединения на устройстве sa.command.connection.enable.1= #Команды выключения соединения на устройстве sa.command.connection.disable.1= #Команды закрытия соединения на устройстве. sa.command.connection.close= #Команды на начало аккаунтинга (старта соединения). sa.command.onAccountingStart.1=/ip firewall address-list remove [/ip firewall address-list find comment=$ip] sa.command.onAccountingStart.2=/ip firewall address-list add address=$ip list=list_NOMONEY comment=$ip #Команды на окончание аккаунтинга (стоп соединения). sa.command.onAccountingStop=/ip firewall address-list remove [/ip firewall address-list find comment=$ip] лог выполнения: Код: 09-21/16:38:22 INFO [main] DefaultServerSetup - Binding javax.jms.ConnectionFactory[org.apache.activemq.ActiveMQConnectionFactory@1293709] to java:comp/env/mq/connectionFactory IP добавил - все нормально отработал.09-21/16:38:22 INFO [main] DefaultServerSetup - Init DB connection pools 09-21/16:38:22 INFO [main] DefaultServerSetup - Binding JDBC pool "master" to java:comp/env/jdbc/master 09-21/16:38:22 INFO [main] AnnotatedMBean - Register MBean ru.bitel.bgbilling.server.util:type=DatabaseConnectionPool,name=master 09-21/16:38:23 INFO [main] DefaultServerSetup - Init trash pools.. 09-21/16:38:27 INFO [sa-p-13-t-1] ServiceActivatorSet - Connecting to device 09-21/16:38:27 INFO [sa-p-13-t-1] TelnetServiceActivator - Connecting 10.0.0.1:23, timeout: 60000 09-21/16:38:28 INFO [sa-p-13-t-1] TelnetServiceActivator - Connected 09-21/16:38:28 INFO [sa-p-13-t-1] TelnetServiceActivator - Password: 09-21/16:38:28 INFO [sa-p-13-t-1] TelnetServiceActivator - Login entered 09-21/16:38:38 INFO [sa-p-13-t-1] TelnetServiceActivator - MMM MMM KKK TTTTTTTTTTT KKK MMMM MMMM KKK TTTTTTTTTTT KKK MMM MMMM MMM III KKK KKK RRRRRR OOOOOO TTT III KKK KKK MMM MM MMM III KKKKK RRR RRR OOO OOO TTT III KKKKK MMM MMM III KKK KKK RRRRRR OOO OOO TTT III KKK KKK MMM MMM III KKK KKK RRR RRR OOOOOO TTT III KKK KKK MikroTik RouterOS 6.13 (c) 1999-2014 http://www.mikrotik.com/ [?] Gives the list of available commands command [?] Gives help on the command and list of arguments [Tab] Completes the command/word. If the input is ambiguous, a second [Tab] gives possible options / Move up to base level .. Move up one level /command Use command at the base level n [bill@HOME31-GW] > [bill@HOME31-GW] > 09-21/16:38:38 INFO [sa-p-13-t-1] TelnetServiceActivator - Password entered 09-21/16:38:38 INFO [sa-p-13-t-1] ServiceActivatorDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaAccountingEvent] moduleId: 1; pluginId: no; cid: 3; scid: -1; userId: 0; type: 1; deviceId: 2; connectionId: 37; timestamp: 1411303107655 09-21/16:38:38 INFO [sa-p-13-t-1] InetApplication - TariffOptionMap: {} 09-21/16:38:38 INFO [sa-p-13-t-1] InetApplication - OptionSet: [] 09-21/16:38:38 INFO [sa-p-13-t-1] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=4; inetServId: 1; call: true; oldState: 1; newState: 1; oldOptionSet: ; newOptionSet: 09-21/16:38:38 INFO [sa-p-13-t-1] ServiceActivatorDeviceWorker - Processing deviceId:2; command ServiceActivatorEvent type=4; inetServId: 1; call: true; oldState: 1; newState: 1; oldOptionSet: ; newOptionSet: 09-21/16:38:38 INFO [sa-p-13-t-1] ServiceActivatorSet - Invoking onAccountingStart 09-21/16:38:38 INFO [sa-p-13-t-1] TelnetServiceActivator - execute: /ip firewall address-list remove [/ip firewall address-list find comment=100.64.33.87] 09-21/16:38:38 INFO [sa-p-13-t-1] TelnetServiceActivator - /ip firewall address-list remove [/ip firewall address-list [bill@HOME31-GW] > /ip firewall address-list remove [/ip firewall address-list> <list remove [/ip firewall address-list f <list remove [/ip firewall address-list find comment=100.64.33.87] <list remove [/ip firewall address-list find comment=100.64.33.87] [bill@HOME31-GW] > [bill@HOME31-GW] > 09-21/16:38:38 INFO [sa-p-13-t-1] TelnetServiceActivator - execute: /ip firewall address-list add address=100.64.33.87 list=list_NOMONEY comment=100.64.33.87 09-21/16:38:38 INFO [sa-p-13-t-1] TelnetServiceActivator - /ip firewall address-list add address=100.64.33.87 list=list [bill@HOME31-GW] > /ip firewall address-list add address=100.64.33.87 list=lis> <list add address=100.64.33.87 list=list_ <list add address=100.64.33.87 09-21/16:38:38 INFO [sa-p-13-t-1] ServiceActivatorDeviceWorker - Process event type[4] result=true 09-21/16:38:43 INFO [sa-p-13-t-1] ServiceActivatorSet - Disconnecting from device но далее он зачем то еще раз заходит, ничего не делает и выходит... и так каждую минуту. лог этих заходов... Код: 09-21/16:41:35 INFO [sa-p-13-t-29] ServiceActivatorSet - Connecting to device 09-21/16:41:35 INFO [sa-p-13-t-29] TelnetServiceActivator - Connecting 10.0.0.1:23, timeout: 60000 09-21/16:41:35 INFO [sa-p-13-t-29] TelnetServiceActivator - Connected 09-21/16:41:35 INFO [sa-p-13-t-29] TelnetServiceActivator - Password: 09-21/16:41:35 INFO [sa-p-13-t-29] TelnetServiceActivator - Login entered 09-21/16:41:45 INFO [sa-p-13-t-29] TelnetServiceActivator - MMM MMM KKK TTTTTTTTTTT KKK MMMM MMMM KKK TTTTTTTTTTT KKK MMM MMMM MMM III KKK KKK RRRRRR OOOOOO TTT III KKK KKK MMM MM MMM III KKKKK RRR RRR OOO OOO TTT III KKKKK MMM MMM III KKK KKK RRRRRR OOO OOO TTT III KKK KKK MMM MMM III KKK KKK RRR RRR OOOOOO TTT III KKK KKK MikroTik RouterOS 6.13 (c) 1999-2014 http://www.mikrotik.com/ [?] Gives the list of available commands command [?] Gives help on the command and list of arguments [Tab] Completes the command/word. If the input is ambiguous, a second [Tab] gives possible options / Move up to base level .. Move up one level /command Use command at the base level n [bill@HOME31-GW] > [bill@HOME31-GW] > 09-21/16:41:45 INFO [sa-p-13-t-29] TelnetServiceActivator - Password entered 09-21/16:41:45 INFO [sa-p-13-t-29] ServiceActivatorDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 3; scid: -1; userId: 0; deviceId: 2; inetServId: 1; connectionId: 37; state: 0; accessCode: 63; timestamp: 1411303295310 09-21/16:41:45 INFO [sa-p-13-t-29] InetApplication - TariffOptionMap: {} 09-21/16:41:45 INFO [sa-p-13-t-29] InetApplication - OptionSet: [] 09-21/16:41:45 INFO [sa-p-13-t-29] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 1; call: true; oldState: 1; newState: 0; oldOptionSet: ; newOptionSet: 09-21/16:41:45 INFO [sa-p-13-t-29] ServiceActivatorDeviceWorker - Processing deviceId:2; command ServiceActivatorEvent type=2; inetServId: 1; call: true; oldState: 1; newState: 0; oldOptionSet: ; newOptionSet: 09-21/16:41:45 INFO [sa-p-13-t-29] ServiceActivatorSet - Invoking connectionModify 09-21/16:41:45 INFO [sa-p-13-t-29] ServiceActivatorDeviceWorker - Process event type[2] result=true 09-21/16:41:50 INFO [sa-p-13-t-29] ServiceActivatorSet - Disconnecting from device подозреваю, что он не понял что все успешно сделал в прошлый раз, и пытается выполнить команду еще раз. но почему то ничего не делает и ошибок не выдает еще в логе где он отправляет команды, команда состоящая из одной строки, отправляется частями, это норм? или он отправляет её несколько раз. и еще не могу понять чем он занят 10 сек, после авторизации, но ещё до выполнения команды. какой-то нелепый простой и такая же задержка на выход по выполнения Код: Информация о версии:
Клиент: вер. 6.1.764 / 06.08.2014 16:21:35 os: Windows 7; java: Java HotSpot(TM) Client VM, v.1.7.0_45 Сервер: вер. 6.1.957 / 03.09.2014 18:51:16 os: Linux; java: Java HotSpot(TM) Client VM, v.1.7.0_65 bill: вер. 6.1.249 / 19.08.2014 12:44:47 card: вер. 6.1.199 / 22.08.2014 15:53:18 inet: вер. 6.1.583 / 03.09.2014 20:13:45 |
Автор: | stark [ 22 сен 2014, 11:53 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Cостояние сервиса какое на договоре ? |
Автор: | stark [ 22 сен 2014, 11:56 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
для Mikrotik лучше использовать MikrotikServiceAcivator. Для telnet там нужно к логину добавлять "+ct" кажется, иначе стандартный механизм по telnet работает не корректно( там endSequence на самом деле приходит 2 раза после приветствия ). |
Автор: | jone31 [ 22 сен 2014, 18:55 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
stark писал(а): для Mikrotik лучше использовать MikrotikServiceAcivator. Для telnet там нужно к логину добавлять "+ct" кажется, иначе стандартный механизм по telnet работает не корректно( там endSequence на самом деле приходит 2 раза после приветствия ). спасибо, добавление "+ct" к логину, решило одну проблему - логинится и добавляет мгновенно, но вот выход тока через 5 сек. и непонятные входы от биллинга остались. скрин окна договора test приложил. |
Автор: | Amir [ 22 сен 2014, 18:59 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Выход через 5 сек - потому что ждет, вдруг еще задание будет, чтобы каждый раз не подключаться/отключаться. Некоторые подключения когда ничего не делается возможны, зависят от схемы, обычно не проблема, т.к. не часты. |
Автор: | jone31 [ 22 сен 2014, 19:44 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
в нашем текущем билинге сейчас сделано так: Код: /usr/local/bin/expect /var/lib/event/event1.sh $nas_ip $ip $telnet_user $telnet_password $nas_identity #!/usr/local/bin/expect set nas_ip [lrange $argv 0 0] set ip [lrange $argv 1 1] set telnet_user [lrange $argv 2 2] set telnet_password [lrange $argv 3 3] set nas_identity [lrange $argv 4 4] spawn telnet $nas_ip expect "Login:" send "$telnet_user+ct\r" expect "Password:" send "$telnet_password\r" expect "$telnet_user@$nas_identity" send "/ip firewall address-list remove \[/ip firewall address-list find comment=$ip\] \r" expect "$telnet_user@$nas_identity" send "/ip firewall address-list add address=$ip list=list_NOMONEY comment=$ip \r" expect "$telnet_user@$nas_identity" send "quit\r" expect eof работает исключительно хорошо, лишних заходов нет, выход сразу по завершению выполнения. можно ли как то сделать, что бы исключить эти ненужные входы по телнет? сейчас когда микрорайон включается после отключения электроэнергии, в один миг будет куча авторизаций, и к каждой авторизации 5 сек задержка выхода, и + еще по 5 дополнительных входов/выходов... например, сейчас у нас 500 авторизаций юзеров = 500 входов по телнет от биллинга - работает исключительно хорошо. с вашим решением получается для 500 авторизаций юзеров, будет 2500 входов по телнет от биллинга, и плюс к тому же половина сессий весит еще 5 сек ничего не делая. это просто невероятный расход ресурсов будет |
Автор: | jone31 [ 22 сен 2014, 19:51 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
и еще ткоа что заметил как невероятно глупо рабоатет алгоритм активатора, например: один и тот же юзер вошел два раза подряд(вошел, затем сразу вышел, затем через секунду еще раз вошел). что делает биллинг - заходит добавляет запись(юзер вошел), затем удаляет её(юзер вышел), выходит. через 60 сек снова заходит и добавляет запись. и получается что целую минуту юзер сидит без инета. |
Автор: | Amir [ 22 сен 2014, 20:28 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Цитата: можно ли как то сделать, что бы исключить эти ненужные входы по телнет? сейчас когда микрорайон включается после отключения электроэнергии, в один миг будет куча авторизаций, и к каждой авторизации 5 сек задержка выхода, и + еще по 5 дополнительных входов/выходов... Попробуйте указать в конфиге sa.lazyConnect=1.Цитата: и еще ткоа что заметил как очень странно рабоатет алгоритм активатора 60 секунд ждет по умолчанию, если при синхронизации произошла какая-то ошибка. Посмотрите логи InetAccess на предмет таких ошибок, вполне возможно, что дело в этом.
|
Автор: | jone31 [ 22 сен 2014, 23:35 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
поставил sa.lazyConnect=1, нажал перечитать конфиг. на всякий случай перезапустил bginet_access логи в аттачах. |
Автор: | Amir [ 23 сен 2014, 00:58 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Попробуйте так: Код: sa.command.exit=quit или так: sa.command.disconnect=exit Код: sa.command.exit=quit
sa.command.disconnect= |
Автор: | jone31 [ 23 сен 2014, 01:13 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Amir писал(а): Попробуйте так: Код: sa.command.exit=quit или так: sa.command.disconnect=exit Код: sa.command.exit=quit sa.command.disconnect= попробовал, все также, выход через 5 сек после выполнения команды. в логах Код: 09-22/23:11:45 INFO [sa-p-13-t-1] TelnetServiceActivator - Password entered
09-22/23:11:45 INFO [sa-p-13-t-1] TelnetServiceActivator - execute: /ip firewall address-list remove [/ip firewall address-list find comment=100.64.33.87] 09-22/23:11:45 INFO [sa-p-13-t-1] TelnetServiceActivator - [bill@HOME31-GW] > /ip firewall address-list remove [/ip firewall address-list f ind comment=100.64.33.87] [bill@HOME31-GW] > 09-22/23:11:45 INFO [sa-p-13-t-1] ServiceActivatorDeviceWorker - Process event type[5] result=true 09-22/23:11:50 INFO [sa-p-13-t-1] ServiceActivatorSet - Disconnecting from device |
Автор: | Amir [ 23 сен 2014, 01:30 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Проблемы в выходе после 5 секунд нет (он выполняет сразу несколько действий за одно подключение, поэтому ждет 5 секунд, не придет ли новое задание). Нужно чтобы в логах при выполнении команд не было java.util.concurrent.TimeoutException или других исключений. Тогда все быстро будет выполняться. |
Автор: | jone31 [ 23 сен 2014, 01:34 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
я пару раз замечал TimeoutException, но объяснения для неё не нашел. оба устройства находятся рядом, я зашел на обои. Они друг друга видят, но при этом иногда проскакивает такая ошибка в логах. |
Автор: | Amir [ 23 сен 2014, 01:40 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Если судить по connection.log - то там причина в том что команда quit была прописана не в sa.command.exit= При отключении сначала вызывается sa.command.disconnect, затем sa.command.exit. Во всех остальных параметрах (кроме sa.command.exit) после выполнения команды идет ожидание приглашения. Т.е. после выполнения команд из sa.command.disconnect= тоже идет ожидание приглашения. Поэтому происходило выполнение quit, далее ожидание приглашения, которое никогда уже не появится и через минуту отваливалось по таймауту. А для команды sa.command.exit= не происходит ожидание приглашения, поэтому самая последняя команда, приводящая к закрытию соединения с другой стороны должна быть в этом параметре. |
Автор: | Amir [ 23 сен 2014, 01:42 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Еще TimeoutException может быть при выполнении команд, когда в консоли меняется приглашение, а в командах при этом не вызывается макрос, меняющий ожидание приглашения на новый символ/строку. |
Автор: | jone31 [ 23 сен 2014, 01:47 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
ну вроде приглашение ">" в микротик всегда одинаково. т.е. получается что так правильно: Код: sa.command.exit=quit т.к. я пробовал через консоль, после quit принудительно разрывается соединение.sa.command.disconnect= вот как то выглядит в терминале: Код: [root@billing ~]# telnet 10.0.0.1
ing 10.0.0.1... onnected to 10.0.0.1. Login: bill Password: MMM MMM KKK TTTTTTTTTTT KKK MMMM MMMM KKK TTTTTTTTTTT KKK MMM MMMM MMM III KKK KKK RRRRRR OOOOOO TTT III KKK KKK MMM MM MMM III KKKKK RRR RRR OOO OOO TTT III KKKKK MMM MMM III KKK KKK RRRRRR OOO OOO TTT III KKK KKK MMM MMM III KKK KKK RRR RRR OOOOOO TTT III KKK KKK MikroTik RouterOS 6.13 (c) 1999-2014 http://www.mikrotik.com/ [?] Gives the list of available commands command [?] Gives help on the command and list of arguments [Tab] Completes the command/word. If the input is ambiguous, a second [Tab] gives possible options / Move up to base level .. Move up one level /command Use command at the base level [bill@HOME31-GW] > quit interrupted Connection closed by foreign host. [root@billing ~]# |
Автор: | Amir [ 23 сен 2014, 02:05 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Да, должно быть правильно. И должно быстро реагировать теперь, без минутных пауз, если других ошибок в логах не возникает при выполнении команд. |
Автор: | jone31 [ 23 сен 2014, 02:17 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
а с нелепыми заходами и выходами без выполнения чего либо можно что то сделать? |
Автор: | Amir [ 23 сен 2014, 02:25 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Тоже лог нужен, когда это происходит. |
Автор: | jone31 [ 23 сен 2014, 19:23 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
лог в аттаче |
Автор: | Amir [ 23 сен 2014, 19:29 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
По логу как-будто sa.lazyConnect=1 не применился. Параметр правильно прописан в конфиге устройства или типа устройства? |
Автор: | jone31 [ 23 сен 2014, 22:41 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Amir писал(а): По логу как-будто sa.lazyConnect=1 не применился. Параметр правильно прописан в конфиге устройства или типа устройства? да, убирал этот параметр для тестов. сейчас вернул - и доп входы перестали появляться. Но появилась другая проблемма: при sa.lazyConnect=1 заход и добавление правила происходит через некоторое время(оно всегда разное, 20-60сек) с момента авторизации. в логах есть TimeoutException при sa.lazyConnect=0 заход идёт сразу, но при этом имеется доп сессии входа, TimeoutException в логах не появляется |
Автор: | jone31 [ 23 сен 2014, 22:45 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
TimeoutException идёт в таком контексте: Код: 09-23/20:42:25 INFO [main] DefaultServerSetup - Binding javax.jms.ConnectionFactory[org.apache.activemq.ActiveMQConnectionFactory@1293709] to java:comp/env/mq/connectionFactory 09-23/20:42:25 INFO [main] DefaultServerSetup - Init DB connection pools 09-23/20:42:25 INFO [main] DefaultServerSetup - Binding JDBC pool "master" to java:comp/env/jdbc/master 09-23/20:42:25 INFO [main] AnnotatedMBean - Register MBean ru.bitel.bgbilling.server.util:type=DatabaseConnectionPool,name=master 09-23/20:42:25 INFO [main] DefaultServerSetup - Init trash pools.. 09-23/20:42:37 INFO [sa-p-13-t-26] ServiceActivatorSet - Connecting to device 09-23/20:42:37 INFO [sa-p-13-t-26] ServiceActivatorDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaAccountingEvent] moduleId: 1; pluginId: no; cid: 3; scid: -1; userId: 0; type: 1; deviceId: 2; connectionId: 80; timestamp: 1411490557222 09-23/20:42:37 INFO [sa-p-13-t-26] InetApplication - TariffOptionMap: {} 09-23/20:42:37 INFO [sa-p-13-t-26] InetApplication - OptionSet: [] 09-23/20:42:37 INFO [sa-p-13-t-26] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=4; inetServId: 1; call: true; oldState: 1; newState: 1; oldOptionSet: ; newOptionSet: 09-23/20:42:37 INFO [sa-p-13-t-26] ServiceActivatorDeviceWorker - Processing deviceId:2; command ServiceActivatorEvent type=4; inetServId: 1; call: true; oldState: 1; newState: 1; oldOptionSet: ; newOptionSet: 09-23/20:42:37 INFO [sa-p-13-t-26] ServiceActivatorSet - Invoking onAccountingStart 09-23/20:42:37 INFO [sa-p-13-t-26] TelnetServiceActivator - Connecting 10.0.0.1:23, timeout: 60000 09-23/20:42:37 INFO [sa-p-13-t-26] TelnetServiceActivator - Connected 09-23/20:42:37 INFO [sa-p-13-t-26] TelnetServiceActivator - Password: 09-23/20:42:37 INFO [sa-p-13-t-26] TelnetServiceActivator - Login entered 09-23/20:42:37 INFO [sa-p-13-t-26] TelnetServiceActivator - MMM MMM KKK TTTTTTTTTTT KKK MMMM MMMM KKK TTTTTTTTTTT KKK MMM MMMM MMM III KKK KKK RRRRRR OOOOOO TTT III KKK KKK MMM MM MMM III KKKKK RRR RRR OOO OOO TTT III KKKKK MMM MMM III KKK KKK RRRRRR OOO OOO TTT III KKK KKK MMM MMM III KKK KKK RRR RRR OOOOOO TTT III KKK KKK MikroTik RouterOS 6.13 (c) 1999-2014 http://www.mikrotik.com/ [?] Gives the list of available commands command [?] Gives help on the command and list of arguments [Tab] Completes the command/word. If the input is ambiguous, a second [Tab] gives possible options / Move up to base level .. Move up one level /command Use command at the base level [bill@HOME31-GW] > 09-23/20:42:37 INFO [sa-p-13-t-26] TelnetServiceActivator - Password entered 09-23/20:42:37 INFO [sa-p-13-t-26] TelnetServiceActivator - execute: /ip firewall address-list remove [/ip firewall address-list find comment=100.64.33.87] 09-23/20:42:37 INFO [sa-p-13-t-26] TelnetServiceActivator - [bill@HOME31-GW] > /ip firewall address-list remove [/ip firewall address-list f ind comment=100.64.33.87] [bill@HOME31-GW] > 09-23/20:42:37 INFO [sa-p-13-t-26] TelnetServiceActivator - execute: /ip firewall address-list add address=100.64.33.87 list=list_NOMONEY comment=100.64.33.87 09-23/20:42:37 INFO [sa-p-13-t-26] TelnetServiceActivator - /ip firewall address-list add address=100.64.33.87 list=list_ NOMONEY comment=100.64.33.87 [bill@HOME31-GW] > 09-23/20:42:37 INFO [sa-p-13-t-26] ServiceActivatorDeviceWorker - Process event type[4] result=true 09-23/20:42:42 INFO [sa-p-13-t-26] ServiceActivatorSet - Disconnecting from device 09-23/20:42:42 INFO [sa-p-13-t-26] TelnetServiceActivator - execute: quit 09-23/20:43:42 ERROR [sa-p-13-t-26] ServiceActivatorSet - Device:2 - null java.util.concurrent.TimeoutException at bitel.billing.server.util.terminal.TerminalManager.readFromInput(TerminalManager.java:74) at bitel.billing.server.util.terminal.TerminalManager.doCommand(TerminalManager.java:39) at bitel.billing.server.util.terminal.AbstractTerminalSession.doCommand(AbstractTerminalSession.java:107) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TelnetServiceActivator.executeCommand(TelnetServiceActivator.java:148) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.executeCommands(AbstractTerminalServiceActivator.java:704) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.disconnect(AbstractTerminalServiceActivator.java:726) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TelnetServiceActivator.disconnect(TelnetServiceActivator.java:124) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.disconnect(ServiceActivatorSet.java:226) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:252) at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:145) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46) 09-23/20:43:43 INFO [sa-p-13-t-46] ServiceActivatorSet - Connecting to device 09-23/20:43:43 INFO [sa-p-13-t-46] ServiceActivatorDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 3; scid: -1; userId: 0; deviceId: 2; inetServId: 1; connectionId: 80; state: 0; accessCode: 63; timestamp: 1411490621462 09-23/20:43:43 INFO [sa-p-13-t-46] InetApplication - TariffOptionMap: {} 09-23/20:43:43 INFO [sa-p-13-t-46] InetApplication - OptionSet: [] 09-23/20:43:43 INFO [sa-p-13-t-46] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 1; call: true; oldState: 1; newState: 0; oldOptionSet: ; newOptionSet: 09-23/20:43:43 INFO [sa-p-13-t-46] ServiceActivatorDeviceWorker - Processing deviceId:2; command ServiceActivatorEvent type=2; inetServId: 1; call: true; oldState: 1; newState: 0; oldOptionSet: ; newOptionSet: 09-23/20:43:43 INFO [sa-p-13-t-46] ServiceActivatorSet - Invoking connectionModify 09-23/20:43:43 INFO [sa-p-13-t-46] ServiceActivatorDeviceWorker - Process event type[2] result=true 09-23/20:43:48 INFO [sa-p-13-t-46] ServiceActivatorSet - Disconnecting from device я так понимаю это из-за того что микротик принудительно разрывает соединение после quit? |
Автор: | stark [ 24 сен 2014, 15:36 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
jone31 писал(а): TimeoutException идёт в таком контексте: Какие команды сейчас ? скорее всего у вас стоит Код: sa.command.disconnect=quit А должно быть Код: sa.command.exit=quit Так скорее всего . Потому что у вас пишет Цитата: execute: quit sa.command.exit до недавнего времени вообще не выводилась в лог, ее вывод добавили(по просьбам пользователей форума), но там другой вывод. А вот sa.command.disconnect выводится в лог именно так и там ожидают ответа от этой команды(а его нет). Вам уже выше писали тоже самое, видимо вы так и не сделали правильно. |
Автор: | jone31 [ 25 сен 2014, 15:53 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
да - команды стояли неверно, что странно, т.к. я в тот пост копировал данные прямо из конфига. поставил как написали выше - вроде сейчас работает корректно. сейчас в логах проскакивают такие ошибки Код: 09-25/13:44:13 ERROR [sa-p-13-t-94] InetSaStateModifyEvent - Connection not found with id=83 прикладываю лог |
Автор: | jone31 [ 25 сен 2014, 16:14 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
а можно ли как то передать команду описывающую скорость юзера? или тариф? т.е. нужно в разные листы их засовывать, в зависимости от их тарифа. сейчас у нас все листы на маршрутизаторе заданы как list_{скорость}, т.е. например list_30, list_50, list_75... так же есть спец. листы: list_NOMONEY - если у юзера нет денег(работает ограниченный список сайтов) list_DENY - подключился не с того маршрутизатора(когда физик подключается из сети где только юрики) list_NOTAR - нет тарифа у юзера (первое подключение юзера, нет тарифа, ему нужно его выбрать в ЛК) как можно это все обработать и послать соответствующие команды? |
Автор: | Amir [ 25 сен 2014, 17:21 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Цитата: сейчас в логах проскакивают такие ошибки Находит задание для сессии, которой уже нет. Возможно из-за предыдущей конфигурации считал что задание не выполнено, откладывал попробовать снова. По идее должно пройти. Цитата: а можно ли как то передать команду описывающую скорость юзера? или тариф? Как должны выглядеть команды?
|
Автор: | jone31 [ 25 сен 2014, 17:46 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Цитата: Как должны выглядеть команды? все команды одинаковы, меняется только IP и название листа: Код: /ip firewall address-list add address=100.64.33.87 list=list_NOMONEY comment=100.64.33.87 отслеживание входов физика из мест для юрика сейчас идёт так:/ip firewall address-list add address=100.64.33.87 list=list_30 comment=100.64.33.87 /ip firewall address-list add address=100.64.33.87 list=list_50 comment=100.64.33.87 физики сидят во 2 влане, юрики сидят в 3 влане, в каждом влане свой pppoe сервер. все заведены в билинге и авторизуются по радиусу. В билинге у юриков номера договоров из другого диапазона чем у физиков. Сейчас команды на роутеры направляются из баш скрипта, который смотрит IP маршрутизатора, через который юзер авторизовался, и номер договора, если договор из диапазона для юриков и IP_роутера нет в списке разрешенных для юриков, то вместо занесения его в листы доступа в Инет, заносит его в лист list_DENY, в котором нет инета и показывается заглушка о том что так делать нельзя. Текущий билинг не разделяет юзеров на физики и юрики, поэтому делали такие костыли. У вас я там видел в менеджере есть разделение на физики и юрики, возможно можно организовать более простой способ этого. |
Автор: | Amir [ 25 сен 2014, 20:13 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Т.е. если нужно переключить скорость на 30 просто выполняем /ip firewall address-list add address=100.64.33.87 list=list_30 comment=100.64.33.87 А затем скорость по тарифу меняется - просто на 50 /ip firewall address-list add address=100.64.33.87 list=list_50 comment=100.64.33.87 Т.е. старый list удалять не нужно? |
Автор: | jone31 [ 26 сен 2014, 04:00 ] |
Заголовок сообщения: | Re: непонятное поведение TelnetServiceActivator |
Amir писал(а): Т.е. если нужно переключить скорость на 30 просто выполняем перед изменением ACL старую запись нужно удалить./ip firewall address-list add address=100.64.33.87 list=list_30 comment=100.64.33.87 А затем скорость по тарифу меняется - просто на 50 /ip firewall address-list add address=100.64.33.87 list=list_50 comment=100.64.33.87 Т.е. старый list удалять не нужно? команда Код: /ip firewall address-list remove [/ip firewall address-list find comment=100.64.33.87] не акцентировал на этом внимание, т.к. для удаления ACL нужен только IP, который есть в TelnetServiceActivatorпри смене ACL - скорость меняется на лету, пере подключать соединение не требуется. |
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |