2017-01-26 62 views
2

Мне нравится настраивать syslog. Кажется, что это более чем один способ настроить syslog. Я прошу сделать общий способ/шаги для этого.Как настроить syslog в yocto?

У меня есть несколько вариантов использования. Чтобы упростить, мне нравится спрашивать, как настроить syslog для записи бесконечного длинного файла журнала в/var/log /.

следующие шаги:

1.) настроить какие сообщения

1,1) создать собственную "syslog.conf" (определить/вар/Журнал/MyLog)

1.2) добавить его в «рецепты -core/BusyBox»

2.) настроить, как войти

??

Я нашел два возможных места, чтобы сделать это:

@ мета-убогая -> "мета-убогая/рецепты-жильный/BusyBox/BusyBox/убогая-крошечного/defconfig"

# 
# System Logging Utilities 
# 
CONFIG_SYSLOGD=y 
CONFIG_FEATURE_ROTATE_LOGFILE=y 
CONFIG_FEATURE_REMOTE_LOG=y 
CONFIG_FEATURE_SYSLOGD_DUP=y 
CONFIG_FEATURE_SYSLOGD_CFG=y 
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 
CONFIG_FEATURE_IPC_SYSLOG=y 
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 
CONFIG_LOGREAD=y 
CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y 
CONFIG_KLOGD=y 
CONFIG_FEATURE_KLOGD_KLOGCTL=y 
CONFIG_LOGGER=y 

добавление/изменение:

"CONFIG_FEATURE_ROTATE_LOGFILE=n" by adding that line to meta-mylayer/conf/layer.conf" 

т.д.

???

@ "/etc/syslog-startup.conf"

# This configuration file is used by the busybox syslog init script, 
# /etc/init.d/syslog[.busybox] to set syslog configuration at start time. 

DESTINATION=file  # log destinations (buffer file remote) 
LOGFILE=/var/log/messages # where to log (file) 
REMOTE=loghost:514  # where to log (syslog remote) 
REDUCE=no   # reduce-size logging 
DROPDUPLICATES=no  # whether to drop duplicate log entries 
#ROTATESIZE=0   # rotate log if grown beyond X [kByte] 
#ROTATEGENS=3   # keep X generations of rotated logs 
BUFFERSIZE=64   # size of circular buffer [kByte] 
FOREGROUND=no   # run in foreground (don't use!) 
#LOGLEVEL=5   # local log level (between 1 and 8) 

В инициализации сценария "/etc/init.d/syslog.bussybox" SystemV файл «/etc/syslog-startup.con "считывается и используется для конфигурации.

поведение системы:

При работе моей системы, журнал оборачивает когда файл_журнал достигает 200kBytes. Генерируется один файл журнала и один файл с чередованием журналов.

Любые идеи о том, как архивировать этот системный журнал, записывает бесконечный длинный файл журнала?

Я работаю над ветвью крогота Йогто + мета-атмелем/мета-приемопередатчиком (тоже кгогот).

+0

Stack Overflow - это сайт для вопросов программирования и развития. Этот вопрос кажется вне темы, потому что речь идет не о программировании или разработке. См. [Какие темы можно задать здесь] (http://stackoverflow.com/help/on-topic) в Справочном центре. Возможно, лучше сказать [Суперпользователь] (http://superuser.com/) или [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/). Также см. [Где я пишу вопросы о Dev Ops?] (Http://meta.stackexchange.com/q/134306) – jww

+3

@jww yocto/openembedded - это, по сути, инструмент для создания встроенной операционной системы, а пользователи - разработчики, а чем админы. Изменение этой системы сборки - это ИМО, подходящий для stackoverflow - это определенно не будет для SuperUser. – jku

+1

@jww вопрос о конфигурации yocto, который * является * развитием. – pmod

ответ

0

Проверяя источники syslog и busybox, я нашел возможное решение. Это решение показывает, как настроить системный журнал, чтобы войти двух бревен с максимальным 10MByte:

1.) получить действительный системный журнал сборки конфигурации

1.1) скачать BusyBox -> мерзавец/BusyBox

1,2) строят BusyBox с помощью BitBake -> BitBake BusyBox

1,3) скопировать defconfig файл скачанный BusyBox -> ф/defconfig мерзавец/BusyBox/

1,4) делают menueconfig

1.5) GOTO "System Utilities" Logging

1.6) Отменить Klogd, поскольку он может colide с printk

1.7) сохранить "defconfig"

# 
# System Logging Utilities 
# 
# CONFIG_KLOGD is not set 
# CONFIG_FEATURE_KLOGD_KLOGCTL is not set 
CONFIG_LOGGER=y 
CONFIG_LOGREAD=y 
CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y 
CONFIG_SYSLOGD=y 
CONFIG_FEATURE_ROTATE_LOGFILE=y 
CONFIG_FEATURE_REMOTE_LOG=y 
CONFIG_FEATURE_SYSLOGD_DUP=y 
CONFIG_FEATURE_SYSLOGD_CFG=y 
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 
CONFIG_FEATURE_IPC_SYSLOG=y 
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=64 
CONFIG_FEATURE_KMSG_SYSLOG=y 

2.) установки ваш журнал конфигурации

Создать "syslog.conf" и введите правила: Это пример:

# 
# /etc/syslog.conf  Configuration file for busybox's syslogd utility 
# 

kern.notice /var/log/messages 


# 
# my software messages 
# 
user.err /var/log/mySWError 
user.*  /var/log/mySWFull 
local0.* /var/log/mySWFull 
local0.err /var/log/mySWError 
# 
#this prevents from logging to default log file (-O FILE or /var/log/messages) 
# 
*.*          /dev/null 

3.) изменить конфигурацию для busybox syslog deamon

В этом примере регистрируются файлы, ограниченные 10 мегабайтами. Если параметр «ROTATESIZE» не установлен, syslog устанавливает автоматическую автоматическую архивацию журнала на 200 кбайт. Содержание "системного журнала-startup.conf" выглядит следующим образом:

# This configuration file is used by the busybox syslog init script, 
# /etc/init.d/syslog[.busybox] to set syslog configuration at start time. 

DESTINATION=file  # log destinations (buffer file remote) 
#LOGFILE=/var/log/messages # where to log (file) 
REMOTE=loghost:514  # where to log (syslog remote) 
REDUCE=no   # reduce-size logging 
DROPDUPLICATES=no  # whether to drop duplicate log entries 
ROTATESIZE=10000  # rotate log if grown beyond X [kByte] 
#ROTATEGENS=3   # keep X generations of rotated logs 
BUFFERSIZE=64   # size of circular buffer [kByte] 
FOREGROUND=no   # run in foreground (don't use!) 
#LOGLEVEL=5   # local log level (between 1 and 8) 

4.) получить конфигурацию в Yocto построить

4.1) создать следующую структуру каталогов в собственном слое (мета-обычая):

meta-custom/recipes-core/ 
meta-custom/recipes-core/busybox/ 
meta-custom/recipes-core/busybox/busybox 

4,2) скопировать в "мета-пользовательские/рецепты-ядро/BusyBox/BusyBox":

defconfig 
syslog.conf 
syslog-startup.conf 

4.3) создайте в «meta-custom/recipes-core/busybox /» «busybox_1.24.1.bbappend». Если вы используете более старую/более новую версию busybox, вам нужно изменить номер «1.24.1» на ваш. Вы можете найти версию в "/ убогая/мета/рецепты-жильный/BusyBox /"

Добавить это две строки в этом файле:

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/poky-tiny:" 

5.) построить пользовательский определенный системный журнал

bitbake busybox 

и передать его в корневой файловой системы изображения

bitbake core-image-minimal 

Теперь он должен работать!

 Смежные вопросы

  • Нет связанных вопросов^_^