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

б) synchronization log > 0?
ls -la /var/log/advsync.log
If the synchronization log is empty, check that there is a cron job:
grep advsync /var/spool/cron/root
it should be:
*/1 * * * * /var/www/html/dpiui/yii process/advsync >> /var/log/advsync.log
check that the process is running, run:
/var/www/html/dpiui/yii process/advsync
if there are errors you need to check the installation
в) if the log is not empty (is not 0), check in synchronization log how the campaigns are organized:
grep adv_id= -A1 /var/log/advsync.log
the output has to be like the following:
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/?
г) Check the DPI download counter:
grep 'read t=' /var/log/advsync.log | tail -1
DPISubs have to be > 0, it means there are campaigs on the DPI
read t=2017-Feb-07 10:38 DPISubs=6 LastRecs=6 DiffSubs=0 LastSubs=6
In this case, 6 subscribers for all campaigns have been loaded to the DPI.
Actions to be performed on the DPI
0!) check that the ntf_server=<any_server.ru> option
is specified int the /etc/dpi/fastdpi.conf
otherwise, you should specify it and then restart the fastdpi service:
service fastdpi restart
This option is responsible for the notification option initialization, so it is mandatory.
а) проверяем во временной директории файл 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