시스템 로그를 원격 시스템으로 보내도록 OpenWrt를 구성했습니다. 이것은 오랫동안 잘 작동했지만 nginx의 로그가 누락되었습니다.
OpenWrt의 nginx는 syslog에 대한 로깅을 지원하지 않으므로 tail을 통해 logger를 사용하여 로그 항목을 syslog로 보낸 다음 이를 전달합니다.
root@OpenWrt:/tmp/log/nginx# (tail -1 -F access.log | logger & tail -1 -F error.log | logger )&
기본적으로 잘 작동합니다. 519자 뒤의 줄을 자르고 "[truncated]"를 삽입하는 경우가 있다는 점을 제외하면 말이죠.
예를 들어,
May 23 17:01:13 openwrt.lan root: [truncated] 10.11.12.13 - - [23/May/2019:17:01:13 -0400] "GET ...
Busybox나 OpenWrt 문서에는 이 작업을 수행해야 한다는 내용이 없습니다. 또한 OpenWrt의 syslog가 이전에 이 작업을 수행했다는 징후를 본 적이 없지만 busybox 소스 코드를 greping하면 이것이 busybox가 수행하는 작업이 아닐 수도 있다는 생각이 들었습니다.
OpenWrt 시스템 로그가 잘리나요? 구성하거나 중지하는 방법은 무엇입니까?
답변1
컴파일하기 전에 openwrt 소스 코드의 menuconfig에서 입력의 최대 길이와 기록 크기를 설정해야 합니다.
이 가이드에서:
make menuconfig > 기본 시스템 > busybox > 사용자 정의 busybox 옵션(이 경우 y 설정) > Busybox 라이브러리 조정 > (설정) 최대 입력 길이/기록 크기
이 섹션의 명확성을 위해 다음을 수행합니다.