11 dpiui related questions

1. Diagnostics of marketing campaigns

Actions to be performed on the DPIUI
а) Check that the marketing campaign dates in the "from .. to"
(day of the week) form and its action period in the
"from 00:00 to 23:59" form are specified correctly in the marketing campaigns input form

б) лог синхронизации > 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_alrt.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