Инструменты пользователя

Инструменты сайта


Боковая панель

stb_webkit:faq:logging_netconsole_syslog

Запуск логирования netconsole и syslog на удалённый сервер.

Начиная с версии ПО 0.2.18-r5 была добавлена поддержка netconsole, но только после старта сети в rootfs.

netconsole

Запуск зависит от переменных среды бутлоадера nc_ip - обязательна для запуска. nc_port - необязательна для запуска. Также можно передать эти параметры по DHCP:

  option Infomir.nc_ip        code 30 = ip-address;
  option Infomir.nc_port      code 31 = integer 16;
  option Infomir.nc_ip        192.168.1.xxx;
  option Infomir.nc_port      3333;

При этом параметры из DHCP имеют более высокий приоритет

syslog

Также добавлена поддержка syslog. Управляется переменной среды бутлоадера syslog_srv которая может принимать значение host:port или просто host, порт по умолчанию 514

syslog_srv=192.168.1.1:2222

Также можно передать эти параметры по DHCP:

option Infomir.syslog_srv code 32 = text;
option Infomir.syslog_srv "192.168.1.1:2222";

При этом параметры из DHCP имеют более высокий приоритет. При включенном syslog в него попадает syslog плеера (если он включен из JS API), сообщения ядра(klogd) и весь вывод /test.sh включая stderror.

syslog, netconsole, использование, настройка сервера

После установки переменной среды изменения вступят в силу после перезапуска приставки.

Можно форсировать изменения с помощью вызовов:

 gSTB.ServiceControl("netconsole","restart");  
 gSTB.ServiceControl("syslog","restart");

Для того, чтобы получить логи на сервере можно запустить netcat: nc -l -u 2222

Внимание! В отличии от netconsole, лог от syslog будет показываться без перевода строки.

Для более удобного чтения syslog обычно на сервере запускают syslogd со следующими параметрами: syslogd -r -m 0

При этом подразумевается, что на приставке либо не указывается порт для syslog, либо используется стандартный порт 514.

Пример использования rsyslog для получения syslog с STB на сервере под управление Ubuntu Server 12.04

Ссылки по теме:

aptitude install rsyslog
  • В конфигурационном файле снять коментарии со строк:
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
  • Перезапуск rsyslog:
/etc/init.d/rsyslog restart
  • Просмотрт лога. Для уобства можно отфильтровать.
tail -f /var/log/syslog | grep -i 'ip_или_имя_хоста_остылающего_syslog'

Внимание! не забудьте открыть указанные порты в firewall, если используется

stb_webkit/faq/logging_netconsole_syslog.txt · Последнее изменение: 2019/05/17 11:23 (внешнее изменение)