dpi:faq:dpiui_faq:start [Документация VAS Experts]

Это старая версия документа!


11 Вопросы по dpiui

1. Диагностика работы маркетинговых кампаний

Действия на DPIUI
а) проверьте что в форме ввода маркетинговых кампаний правильно заданы даты действия кампании "с .. по", дни недели и время действия маркетинговой кампании с 00:00 пo 23:59

б) лог синхронизации > 0?

 ls -la /var/log/advsync.log

если лог синхронизации пуст проверьте, что есть задание:

grep advsync /var/spool/cron/root 

должно быть:

 */1 * * * * /var/www/html/dpiui/yii process/advsync >> /var/log/advsync.log

проверьте, что процесс работает, запустите:

    /var/www/html/dpiui/yii process/advsync    

если есть ошибки необходимо проверить инсталляцию

в) если лог не 0, проверьте в логе синхронизации формирование кампаний:

    grep adv_id= -A1 /var/log/advsync.log
    должен быть вывод типа:
    adv_id=3, 2017-01-12, 2017-02-12, 2017-Feb-07 10:33,
    phttp= url: someinfo.mynet.ru/?
    adv_id=5, 2017-01-29, 2017-02-12, 2017-Feb-07 10:33,
    phttp= url: www.mynet.ru/?
      

г) Проверяем счетчик загруженного на DPI:

    grep 'read t=' /var/log/advsync.log | tail -1
    DPISubs должен быть > 0 значит есть кампании на DPI
    read t=2017-Feb-07 10:38 DPISubs=6 LastRecs=6 DiffSubs=0 LastSubs=6

В данном случае на DPI загружено 6 абонентов по всем кампаниям.

Действия на DPI
0!) проверьте, что установлен параметр

     /etc/dpi/fastdpi.conf
     ntf_server=<any_server.ru>
     если параметра нет, то установите и сделайте рестарт сервиса fastdpi:
     service fastdpi restart

Данный параметр инициализирует опцию уведомлений, он обязателен.
а) проверяем во временной директории файл subsurlsntf.lst:

    cat /tmp/dpi/subsurlsntf.lst
    0 1198406
    1 11984920
    2 11983297
    3 11.0.6.64
    ...
    1-е значение идентификатор по порядку в списке URL /var/lib/dpi/ntfurl.lst
    2-е значение логин или IP абонента

б) проверяем наличие файлов в директории DPI:

    ls -la /var/lib/dpi/ntf*
    -rw-r--r--. 1 root  root    50264 Feb  7 19:25 /var/lib/dpi/ntfurl.bin
    -rw-r--r--. 1 root  root    57732 Feb  7 19:25 /var/lib/dpi/ntfurl.idx
    -rw-rw-r--. 1 dpisu dpisu 1130487 Feb  7 19:25 /var/lib/dpi/ntfurl.lst  

файлы /var/lib/dpi/ntfurl.bin и /var/lib/dpi/ntfurl.idx получаются следующим образом:

    cat /tmp/dpi/subsurlsntf.lst | cat2dic ntfurl.bin ntfurl.idx

проверьте что данные файлы совпадают с помощью diff

файл /var/lib/dpi/ntfurl.lst текстовый, содержит список урлов, например:

    promo.mynet.ru/?reg=23&req=53BEEAD0-2ADC-4A2A-A247-E4BA76C90E07&
    promo.mynet.ru/?reg=66&req=543C1F6B-88B7-4895-9DA2-777E64A1CCFF&
    ...
    номер по порядку из данного файла используется в /tmp/dpi/subsurlsntf.lst
    нумерация начинается с 0     

Если перечисленные в пункте файлы есть, и совпадают по diff, значит файлы для загрузки правильно подготовлены

в) проверяем наличие услуг:

    fdpi_ctrl list all --service 50

Результат:

    Autodetected fastdpi params : dev='lo', port=29000
    connecting 127.0.0.1:29000 ...
    ================================
    TestUser        50      (0x2000000000000)
    192.168.2.1     50      (0x2000000000000)
    192.168.2.2     50      (0x2000000000000)
    192.168.2.3     50      (0x2000000000000)
    192.168.3.4     50      (0x2000000000000)
    ------------------
    total: 5
    

Если получили подобный вывод и логины / IP совпадают с файлом /tmp/dpi/subsurlsntf.lst
то услуги загружены верно.

2. Не работает нотификация, файлы в директории есть ls /var/lib/dpi/ntf*, услуги есть fdp_ctrl list all --service 50. что может быть еще ?
а) проверьте, что DPI загружает данные:

    touch /var/lib/dpi/ntfurl*

в fastdpi_alert.log должно появиться сообщение:

    bl_updater_thread : Notifications(updatenotifications) list loaded with result, rc=0 : Success: loaded.

если его нет то в версии DPI ошибка, обновитесь на версию 5.5 или выше
б) проверьте, что ориентация устройства верная (in_dev - в сторону абонентов / out_dev в сторону и-нет)
в) проверьте, что опция нотификации работает

3. Что делать если забыт пароль от DPI-UI? как сбросить пароль admin'а? При условии локального доступа к серверу и наличии доступа к таблицам БД ?
Есть 2 варианта действий:
1) можно удалить пользователя с id=100001 запустить:

   /var/www/html/dpiui/yii install/createdb

создаст дефолтного пользователя admin.
2) поменять пароль на дефолтный у пользователя 100001:

   "$2y$13$VQHo/VYEgYietJ5AdQ.ute/5RKJlAyC3zbtif5EMfY3DVVVkN9qiG"

4. на сервере с DPIUI быстро расходуется место в /var/www/html/dpiui/runtime/1/clickstream, можно как-то задать лимиты, сколько дней хранить данные / какой объём занимать ? Эти файлы можно удалить, например так:

 15 4 * * * /bin/find /var/www/html/dpiui/runtime/*/clickstream -name url_\*.dump.gz -cmin +1440 -delete > /dev/null 2>&1

если команда не была прописана при инсталляции внесите в ручную в файл /var/spool/cron/root

5. не попадают данные по кликстриму в соответствующие таблицы, кликстрим принимается есть информация в буферном файле port.dump (например 1500.dump)

a) возьмите файл из директории кликстрима (параметр dumpfiledir=/var/www/html/dpiui/runtime/1/clickstream/)
например - url_29072016_091016.dump.gz, сделайте

gzip -d url_29072016_091016.dump.gz. 

Возьмите ссылку из конфигурации на исполняемый файл(processcmd=/var/www/html/dpiui/commands/processfile.sh), запустите с параметром распакованного ранее файла - /var/www/html/dpiui/commands/processfile.sh url_29072016_091016.dump

Обычная проблема не сконфигурирован hostname об том будет соответствующий exception:
- ERROR org.apache.spark.SparkContext - Error initializing SparkContext.
java.net.UnknownHostException: fdpi.interface: fdpi.interface: Имя или служба не известны проверьте:

         ping `hostname`

настройте правильно hostname и/или пропишите его в /etc/hosts
- ERROR Exception in thread "main" java.lang.IllegalArgumentException: System memory 452132864 must be at least 4.718592E8. Please use a larger heap size. - при инициализации Spark, добавьте памяти требуется не менее 4Гб RAM
Если есть другие исключения/ошибки сообщите в ТП.

b) Если п. а) без ошибок прошел, то проверьте шаблоны поиска введите www.domen, domen в путь введите /
Если не помогло a), b) то обратитесь в ТП

6. Не изменяются настройки в DPI конфигурации через dpiui, при их сохранении ошибок нет.
Вероятно поменяли пользователя для работы с устройством, например, root → dpisu
после такой замены на DPI требуется сделать:

   chown -R dpisu:dpisu /tmp/dpi
chmod a+w -R /tmp/dpi