보통 로그파일 실시간으로 보고싶을때 tail
명령어를 사용한다. 하지만 여러 로그를 보고싶을때는 tmux
등 화면 분할을 해서 봐야하는데 이 방법은 귀찮다.
이럴때 multitail
을 사용하면 간단하게 여러 로그를 모니터링할수 있다.
설치
apt install multitail
을 입력하여 간단하게 설치한다. 맥 유저라면 brew install multitai
을 쓴다.
사용법
1개의 파일 모니터링
multitail [filename]
2개의 파일 모니터링 (가로로 분할)
multitail [filename] [filename]
2개의 파일 모니터링 (세로로 분할)
multitail -s 2 [filename] [filename]
colorscheme 설정
multitail
은 자체 config파일을 통해 로그파일 highlighting을 지원한다.
/usr/local/etc/
경로에 기본 파일이 있고, 기본적으로 syslog, apache등의 여러가지 colorscheme들이 있다.
기본 명령어에 -cS
옵션을 추가하여 사용하면 된다.
multitail -cS [colorscheme] [logfile]
공식문서에 따르면 /etc/multitail.conf
에 파일이 있다면 적용이 된다고 하는데, 계속 -cS
옵션을 줘도 colorscheme을 찾을수 없다고 하면서 오류가 났다
구글링을 해보니까 .multitailrc
라는 파일을 홈 경로에 만들어주면 된다고 해서 해봤더니 바로 적용이 되었다. 대신 multitail.conf
을 참고하여 사용할 colorscheme만 복사해서 사용해야 한다.
mutitailrc
예시
colorscheme:syslog:kernel and unsorted messages
# segfaults
cs_re_s:red,,bold:kernel: ([^:]*): segfault at [^ ]* rip [^ ]* rsp [^ ]* error
cs_re:yellow:kernel: .*: segfault at [^ ]* rip [^ ]* rsp [^ ]* error
# misc
cs_re:red,,inverse/underline:kernel
cs_re:green:Detected.*$
cs_re:green:\[
cs_re:green:\]
cs_re:cyan::
cs_re:blue|blue,,bold:^... .. ..:..:..
cs_re_s:,,bold:^... .. ..:..:.. [^ ]* ([A-z0-9]*)
cs_re:red:scanlogd.*
cs_re:yellow:Did.not
또한 정규표현식을 지원하므로 자신만의 custom colorscheme을 만들수도 있다.
예를들어 info
, debug
, warning
등 로그에 사용되는 특정필터들에 색깔을 입혀보고 싶다면, 다음과 같이 설명하면 된다.
# test
colorscheme:test
# date
cs_re:magenta,,bold: *[a-z]*[0-9]+[a-z]*
# filter
cs_re:cyan,,bold:<trace>
cs_re:green,,bold:<info>
cs_re:magenta,,bold:<debug>
cs_re:yellow,,bold:<warning>
cs_re:red:\[
cs_re:red:\]
multitial -cS test file.log -l "ping 8.8.8.8"
를 입력한 결과