programing

Linux에서 Bash에서 syslog를 확인하는 방법

minimums 2023. 4. 18. 21:57
반응형

Linux에서 Bash에서 syslog를 확인하는 방법

C에서는, 다음과 같이 로그에 기록합니다.

syslog( LOG_INFO, "proxying %s", url );

Linux에서는 로그를 어떻게 확인할 수 있습니까?

어때.less /var/log/syslog?

Fedora 19에서 정답은/var/log/messages확인은 하지만/etc/rsyslog.conf변경되었을 경우.

디폴트로는 다음 위치에 있는 시스템로그에 기록됩니다./var/log/syslog다음 사용자가 읽을 수 있습니다.

tail -f /var/log/syslog

파일이 존재하지 않는 경우는, 체크해 주세요./etc/syslog.confsyslogd 컨피규레이션파일을 표시합니다.컨피규레이션파일이 다를 수 있으므로 다른 파일을 사용하는 경우 실행 중인 프로세스를 확인합니다.

# ps wuax | grep syslog
root      /sbin/syslogd -f /etc/syslog-knoppix.conf

주의: 일부 배포판(Knoppix 등)에서는 기록된 모든 메시지를 다른 단말기(예:/dev/tty12)에 액세스 합니다.tty12++AltF12를 눌러보세요.

를 사용할 수도 있습니다.lsof어떤 로그 파일을 검색하기 위한 도구입니다.syslogd프로세스가 사용되고 있습니다.

sudo lsof -p $(pgrep syslog) | grep log$ 

셸 내의 syslogd에 테스트메시지를 발송하려면 다음 절차를 수행합니다.

echo test | logger

트러블 슈팅에는 트레이스 툴을 사용합니다(straceLinux의 경우dtruss예를 들어 다음과 같습니다.

sudo strace -fp $(cat /var/run/syslogd.pid)

매우 쿨한 유틸리티는journalctl.

예를 들어 콘솔에 syslog를 표시하려면 다음 절차를 수행합니다.journalctl -t <syslog-ident>,어디에<syslog-ident>기능하기 위해 부여한 아이덴티티입니다.openlogsyslog를 초기화합니다.

tail -f /var/log/syslog | grep process_name어디에process_name우리가 관심 있는 프로세스의 이름입니다.

Vim을 선택하면 Syslog 파일에 대한 구문 강조 표시가 내장되어 있습니다.예를 들어 오류 메시지가 빨간색으로 강조 표시됩니다.

vi +'syntax on' /var/log/syslog

일부 Linux 시스템(Debian 및 Ubuntu 등)에서는 syslog가 매일 순환되며 오래된 파일은 압축되지 않고 최신 파일 2개가 압축된 로그 파일이 여러 개 있습니다.

$ ls -l /var/log/syslog*
-rw-r----- 1 root adm  888238 Aug 25 12:02 /var/log/syslog
-rw-r----- 1 root adm 1438588 Aug 25 00:05 /var/log/syslog.1
-rw-r----- 1 root adm   95161 Aug 24 00:07 /var/log/syslog.2.gz
-rw-r----- 1 root adm  103829 Aug 23 00:08 /var/log/syslog.3.gz
-rw-r----- 1 root adm   82679 Aug 22 00:06 /var/log/syslog.4.gz
-rw-r----- 1 root adm  270313 Aug 21 00:10 /var/log/syslog.5.gz
-rw-r----- 1 root adm  110724 Aug 20 00:09 /var/log/syslog.6.gz
-rw-r----- 1 root adm  178880 Aug 19 00:08 /var/log/syslog.7.gz

모든 syslog 파일을 검색하려면 다음 명령을 사용합니다.

$ sudo zcat -f `ls -tr /var/log/syslog*` | grep -i error | less

여기서 zcat은 먼저 모든 syslog 파일을 압축 해제하고 인쇄하고 grep은 검색을 수행하며 검색 결과를 페이징합니다.

syslog 파일 이름이 앞에 붙은 행을 사용하여 동일한 작업을 수행하려면 zgrep을 사용합니다.

$ sudo zgrep -i error `ls -tr /var/log/syslog*` | less

$ zgrep -V | grep zgrep
zgrep (gzip) 1.6

어느 경우든 syslog 파일을 일반 사용자가 읽을 수 없는 경우 sudo가 필요합니다.

언급URL : https://stackoverflow.com/questions/6074362/how-to-check-syslog-in-bash-on-linux

반응형