forum.bitel.ru
http://forum.bitel.ru/

сервис постоянно в состоянии "удалён" (CRM)
http://forum.bitel.ru/viewtopic.php?f=44&t=8590
Страница 1 из 1

Автор:  ok-2004 [ 17 окт 2013, 11:13 ]
Заголовок сообщения:  сервис постоянно в состоянии "удалён"

Добрый день.
В качестве шлюза для клиентов используется микротик ( задействуется ru.bitel.bgbilling.modules.inet.dyn.device.mikrotik.MikrotikServiceActivator )
адреса - клиентов статические, инициализация сессии - по трафику.
конфиг устройства микротик :
Код:
flow.agent.link=2:-1
sa.command.serv.enable=/ip/firewall/address-list/add\n=address=$ip\n=list=ACCESS_LIST\n=comment=!!$servId!!
sa.command.serv.create=/queue/simple/add\n=dst=$ip\n=max-limit=0/100M\n=target=ether3\n=name=!!$servId!!\n=comment=!!$servId!!
sa.command.serv.disable=/ip/firewall/address-list/remove\n=numbers="!!$servId!!"
sa.command.serv.cancel=/queue/simple/remove\n=numbers="!!$servId!!"
#
sa.command.inetOption.1.enable=/queue/simple/set\n=max-limit=0/100M\n=numbers=!!$servId!!
sa.command.inetOption.1.disable=/queue/simple/set\n=max-limit=0/100M\n=numbers=!!$servId!!
sa.command.inetOption.3.enable=/queue/simple/set\n=max-limit=0/8M\n=numbers=!!$servId!!
sa.command.inetOption.3.disable=/queue/simple/set\n=max-limit=0/100M\n=numbers=!!$servId!!
sa.command.inetOption.4.enable=/queue/simple/set\n=max-limit=0/16M\n=numbers=!!$servId!!
sa.command.inetOption.4.disable=/queue/simple/set\n=max-limit=0/100M\n=numbers=!!$servId!!
ip.resource.category=3,4
vlan.resource.category=3

У всех других сотен клиентов проблем с открытием-закрытием сервиса не возникает, кроме одного клиента.
Пробывали и удалять сервис ему и создавать заново, и изменять установки текущего сервиса и открывать его и закрывать в ручную - нечего не помогает
статус сервиса - открыт
состояние - постоянно удалён
В каком направлении искать ошибку ?

Автор:  Cromeshnic [ 17 окт 2013, 11:26 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён"

date1, date2 сервиса?
date1, date2 договора?

Автор:  ok-2004 [ 17 окт 2013, 11:37 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён"

Код:
select date1,date2 from contract where id="4526"

| 2008-10-24   |   |


Код:

select dateFrom, dateTo, status, deviceState from inet_serv_10
where id="809"

|   2013-10-17       |              |      0      |      -1       |


Автор:  Cromeshnic [ 17 окт 2013, 11:42 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён"

Хм, тогда нужно ждать ответа знатоков :)

Ещё я бы логи Access / Accounting потеребил

Автор:  Amir [ 17 окт 2013, 13:46 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён"

Ошибок в Access нет, если пересохранить этот сервис? Может быть на новое ус-во добавляете абонента, а после добавления ус-ва не делали перечитать конфигурацию на серверах?

Автор:  ok-2004 [ 17 окт 2013, 14:05 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён"

ошибок в access нет, добавляю на старое устройство

Автор:  Amir [ 17 окт 2013, 14:08 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён"

На этом устройстве у других сервисов состояние меняется нормально?

Автор:  ok-2004 [ 17 окт 2013, 14:13 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён"

хотя нет, ошибки на acces есть:
Код:
connection 10-17/11:39:13 ERROR [sa-p-8-t-3] ServiceActivatorDeviceWorker - Device:6 - null
java.lang.NullPointerException
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.initServ(ServiceActivatorDeviceWorker.java:830)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.initServ(ServiceActivatorDeviceWorker.java:819)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:395)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTaskImpl(AsyncEventWorker.java:172)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.notify(AsyncEventWorker.java:164)
        at ru.bitel.bgbilling.kernel.event.AcknowledgeConsumer.onMessage0(AcknowledgeConsumer.java:81)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTask(AsyncEventWorker.java:145)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:98)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:198)
        at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
connection 10-17/11:39:13 ERROR [sa-p-8-t-3] ServiceActivatorDeviceWorker - Device:6 - null
java.lang.NullPointerException
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.initServ(ServiceActivatorDeviceWorker.java:830)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.initServ(ServiceActivatorDeviceWorker.java:819)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:395)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTaskImpl(AsyncEventWorker.java:172)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.notify(AsyncEventWorker.java:164)
        at ru.bitel.bgbilling.kernel.event.AcknowledgeConsumer.onMessage0(AcknowledgeConsumer.java:81)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTask(AsyncEventWorker.java:145)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:98)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:198)
        at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
connection 10-17/11:39:13 ERROR [sa-p-8-t-3] InetSaStateModifyEvent - Connection not found with id=1422
connection 10-17/11:39:13 ERROR [sa-p-8-t-3] InetSaStateModifyEvent - Connection not found with id=1449
connection 10-17/11:39:13 ERROR [sa-p-8-t-3] InetSaStateModifyEvent - Connection not found with id=1450
connection 10-17/11:39:13 ERROR [sa-p-8-t-3] InetSaStateModifyEvent - Connection not found with id=1450
connection 10-17/11:39:13 ERROR [sa-p-8-t-3] InetSaStateModifyEvent - Connection not found with id=1449

id коннекций как раз пренадлежет сервисам, которые постоянно находятся в удалённом состоянии, а устойство с id=6 - как раз то , на которое вешаю сервисы.
Я так понимаю что состояние сервиса - это как раз соответстует состоянию коннекции, но в таблице inet_connection как раз коннекций с тиким id нет!

access каким-то образом щитает что коннекции на этом устройстве есть , а бжб видит- что их нет. и ставит состояние "удалён".
Не понимаю - почему при пересоздании сервиса БЖБ относит их к несуществующим коннекциям ?

все остальные сервисы работают без проблем

Автор:  ok-2004 [ 17 окт 2013, 14:41 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён"

вот например на договоре с cid=8565 удаляю сервис с id =811
в mq.log - на accesse вижу -
Код:
10-17/12:23:27  INFO [event-proc-p-2-t-1] InetServRuntimeMap - Caught event: Event[ru.bitel.bgbilling.modules.inet.api.server.event.
InetServModifiedEvent]
moduleId: 10; pluginId: no; cid: 8565; scid: -1; userId: 1; timestamp: 1381998220276
10-17/12:23:27  INFO [event-proc-p-2-t-1] InetServRuntimeMap - Reload InetServRuntime: 811
10-17/12:23:27  INFO [event-proc-p-2-t-1] InetServRuntimeMap - Removing InetServRuntime: 811
10-17/12:23:27  INFO [event-proc-p-2-t-1] InetServRuntimeMap - Adding InetServRuntime: 811
10-17/12:23:27  INFO [event-proc-p-2-t-1] InetServRuntimeMap - ContractId: 8565; status: 0; servId: 811
        23:172.18.152.179:0:0
        Options [] TariffModuleTreeSet [256:01.10.2013-…; ]
        Device state: -1; optionSet:
10-17/12:23:31  INFO [event-proc-p-2-t-1] InetServRuntimeMap - Caught event: Event[ru.bitel.bgbilling.modules.inet.api.server.event.
InetServModifiedEvent] moduleId: 10; pluginId: no; cid: 8565; scid: -1; userId: 1; timestamp: 1381998224118


теперь в этом же договоре , на ето же устройство добавляю сервис с этим же ип, id сервиса становится 812 . вот mq.log:
Код:
0-17/12:33:54  INFO [event-proc-p-2-t-1] InetServRuntimeMap - Caught event: Event[ru.bitel.bgbilling.modules.inet.api.server.event.InetServModifiedEvent] moduleId: 10; pluginId: no; cid: 8565; scid: -1; userId: 1; timestamp: 1381998846978
10-17/12:33:54  INFO [event-proc-p-2-t-1] InetServRuntimeMap - Adding new InetServRuntime: 812
10-17/12:33:54  INFO [event-proc-p-2-t-1] InetServRuntimeMap - Loading inetServ from database.
10-17/12:33:54  INFO [event-proc-p-2-t-1] InetServRuntimeMap - Adding InetServRuntime: 812
10-17/12:33:54  INFO [event-proc-p-2-t-1] InetServRuntimeMap - ContractId: 8565; status: 0; servId: 812
        23:172.18.152.179:0:0
        Options [] TariffModuleTreeSet [256:01.10.2013-…; ]
        Device state: -1; optionSet:


ПОчему Device state: -1 ? (т.е. удалено) ?

Автор:  Amir [ 17 окт 2013, 14:46 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён"

Изначально после добавления состояние сервиса удален и тут же должен начать выполниться serviceCreate, после выполнения которого состояние должно измениться на включен/отключен.
По той ошибке - вызвали Синхронизировать на сервисе, которого почему-то нет в кэше InetAccess.
Вы точно пробовали просто пересохранить сервис?
У вас в схеме один InetAccess и один InetAccounting?

Автор:  ok-2004 [ 17 окт 2013, 14:57 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён"

точно один access и accounting, в таблице inet_serv уже больше 800 сервисов, и только с этими 5-ю проблема, на одном и том-же устройстве. Перезагрузили уже всё сервисы, по несколько раз, и до удаления проблемных сервисов и после воссоздания - теже яйцы ... :(((

Автор:  Amir [ 17 окт 2013, 15:00 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён"

Этот тип сервиса не какой-то специфический?
После этого
Код:
10-17/12:33:54  INFO [event-proc-p-2-t-1] InetServRuntimeMap - Adding new InetServRuntime: 812
10-17/12:33:54  INFO [event-proc-p-2-t-1] InetServRuntimeMap - Loading inetServ from database.
10-17/12:33:54  INFO [event-proc-p-2-t-1] InetServRuntimeMap - Adding InetServRuntime: 812
10-17/12:33:54  INFO [event-proc-p-2-t-1] InetServRuntimeMap - ContractId: 8565; status: 0; servId: 812
должен начать вызывать serviceCreate. Что при этом в логах?

Автор:  ok-2004 [ 17 окт 2013, 18:18 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён"

да, так я давно не трахался...

1. со злости в сотый раз удалил со 5 проклятых договоров все сервисы, проверил, что их нет в таблице:
(select * from inet_serv_10)

2. перезапустил acces+accounting

3. cat all.log|grep "WARN":
Код:
connection 10-17/15:27:34  WARN [sa-p-8-t-2] InetApplication - Accounting period not found for inetServ:813
connection 10-17/15:27:34  WARN [sa-p-8-t-2] InetApplication - Accounting period not found for inetServ:814
connection 10-17/15:27:34  WARN [sa-p-8-t-2] InetApplication - Accounting period not found for inetServ:815
connection 10-17/15:27:34  WARN [sa-p-8-t-2] InetApplication - Accounting period not found for inetServ:816
connection 10-17/15:50:28  WARN [sa-p-8-t-2] InetApplication - Accounting period not found for inetServ:817


где 813...817 - как раз те сервисы, которые я тока что удалил.

Откудаж access берёт-то их ????
Их-же нет в этой таблице ?
единственно что можно дополнить -
у меня сам сервер, мускуль и активмкью - на одной тачке, а акцесс+ аккоунтинг - на другой. Но другим договорам и сервисам на этих же устройствах это почему-то не мешает...

Автор:  philyuchkoff [ 09 дек 2013, 07:46 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён" (CRM)

на одном из договоров возникла такая же проблема.

Вы не нашли решения?

Автор:  ok-2004 [ 09 дек 2013, 08:28 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён" (CRM)

Нашел, сугубо интимное ( может для Вас оно и не подойдёт )
Заметил, что иногда, для свежесоздаваемых договоров, у которых время создания договора, время навешивания на договор тарифного плана, время подключения к договору модуля inet, время активации договора и время установки положительного баланса договора равны одной и той же дате - в логах BGInetAccess для servid этого договора вместо активации на шлюзе опций , заданных в sa.... этого устройства - пишется что "Accounting period not found" для этого сервиса.
Тогда вручную, принудительно ставлю на закладке "Учётные периоды" начало ( с текущей даты ) и конец каким-нибыдь гигантским числом ( вот почему !!!блин!!! нельзя было бы сделать !!!блин!!! возможность выставления конечной даты !!!блин!!! равной бесконечности, как это имеет место в других местах БЖБ :twisted: ???? )
После этого надо сделать "синхронизировать (отладка))" на этом сервисе. Должно помочь... :cry:

Автор:  philyuchkoff [ 09 дек 2013, 10:19 ]
Заголовок сообщения:  Re: сервис постоянно в состоянии "удалён" (CRM)

Спасибо!
Помогло! :)

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/