Видеонаблюдение под Linux

Отладка

При возникновении каких-либо проблем в первую пришлите нам на адрес «avreg-support на mail.ru» архив с информацией об установленной системе AVReg.

Получить такой архив можно двумя способами:

  1. Cкачать файл со страницы «Сообщить об ошибке» веб-интерфейса AVReg (примечание: необходима настройка sudo).
  2. Выполнить в терминале root-а (или через sudo) команду
    # avreg-reportbug > /tmp/avreglog.tgz
    

Дополнительно, если вы смогли определить приложение(пакет) AVReg в котором возникает ошибка или проблема, будет полезна информация, получить которую можно выполнив инструкции ниже по тексту.

avregd

При аварийных крахах демона avregd (чаще всего segfault, далее по тексту - вылет) работа системы AVReg (захват, запись видео, наблюдение) прекращается полностью.

Момент вылета отмечается в «/var/log/daemon.log» подобной строкой:

Mar  5 12:03:48 host avreg-super: avregd[9321] exiting ubnormally

После вылета, демон нельзя запустить с веб-интерфейса и командой «/etc/init.d/avreg start» в терминале:

avregd - остановлен
# /etc/init.d/avreg status
Status of AVReg surveillance system server: avregd stopped,
                                 but /var/run/avreg/avregd.pid exists;
Чтобы помочь нам в локализации ошибки вам нужно прислать или выложить для скачивания файл coredump-файл.

Для этого нужно включить сохранение файлов core в системе, запустить демон avregd заново и дождаться вылета.

«Включение» coredump

Нужно создать файл «/etc/sysctl.d/coredump.conf» следующего содержания:

$ cat /etc/sysctl.d/coredump.conf

kernel.core_pattern=/tmp/core_%e_onsig%s
kernel.core_uses_pid=1
fs.suid_dumpable=1

и выполнить:

# service procps restart
Файл coredump от avregd может достигать несколько сотен мегабайт, поэтому проверьте хватит ли места в /tmp. Если нет свободного ГигаБайта - поменяйте каталог /tmp на другой в переменной kernel.core_pattern.

Перезапустите демон с терминала:

# service avreg restart

и дождитесь следующего вылета, после чего в каталоге /tmp (или другом, указанном в kernel.core_pattern) появится файл, например с таким именем «core_avregd_onsig11.22767». Сожмите его LZMA/7Z/BZIP2/RAR/GZIP и пришлите файл нам или выложите на публичные файл-сервера, чтобы мы смогли скачать его.

Автоперезапуск avregd («костыль»)

После получения и отправки coredump-файла можно настроить автоматический перезапуска «упавшего» avregd с максимальным временем простоя 1 мин, для чего:

  1. отмените сохранение coredump, очистив строку kernel.core_pattern и выполнив service procps restart;
  2. удалите знак комментария # в строке-задании cron:

    /etc/cron.d/avregd, последняя строка

    */1     *       * * *   root    /usr/sbin/avregd-check > /dev/null
    

Проверка:

  1. Выждите более 1 минуты.
  2. Запустите демон /etc/init.d/avreg restart.
  3. «Убейте» демон, выполнив в терминале root-а: # killall -9 avregd.
  4. Не более чем через 1 мин. демон avregd будет запущен заново.

avreg-unlink

В терминале root-а выполните следующие команды и пришлите нам их вывод:

# df -hTP
# avreg-unlink -vv

avreg-mon

Запустите avreg-mon в терминале и пришлите нам текстовые сообщения программы:

$ avreg-mon -vv
manual/applications/debugging.txt · Последние изменения: 2011-03-11