터미널을 통해 실시간으로 로그를 보는 방법은 무엇입니까?


16

이것은 기본적인 질문입니다. 영화 "소셜 네트워크 (Social Network)"에는 젊은 Facebook 직원이 PHP / Apache 서버가 터미널에서 실시간으로 터미널에 로그온하는 것을 볼 때 몇 가지 장면이 있습니다.

RUBY / RoR 환경에서이 작업을 수행하는 방법에 익숙하지만 표준 LAMP Apache / PHP 환경에서는 서버의 작업을 실시간으로 적극적으로 모니터링하는 방법은 무엇입니까? 터미널 에서이 작업을 수행하는 쉬운 방법이 있다고 생각합니다.


이 영화를 보지 못했습니다. 페이스 북 스태프가 영화에서하는 일의 세부 사항을 보여주는 스크린 샷이나 클립이 있습니까?
Stefan Lasiewski

로그 파일의 tail -f는 일반적으로 수행합니다.
Fiasco Labs

답변:


47

어쩌면 그들은 tail -f액세스 로그에서 사용합니까?


2
초당 수천 건의 요청이있는 Facebook과 같은 대규모 사이트에서는 이것이 관리하기가 정말 빠르지 않습니까?
Vilx-

3
특정 요청을 찾고 있다면 tail -f는 항상 grep을 통해 필터링 할 수 있습니다. 볼륨을 줄일 수 있습니다.
Mark Baker

3
tail -f아니야 창 상자에 최소한의 Cygwin을 넣는 이유 1 가지!
Daniel Earwicker

1
@Daniel 나는 GnuWin32도 꼬리 명령을 가지고 있다고 생각합니다
Jader Dias

1
속도 문제 때문에 ... tail -f /log/any.log | while read line; do echo $line; sleep 3; done그러나 이것은 더 이상 "실시간"이 아닐 것입니다
theist



6

실시간 Apache 로그 뷰어 및 분석기를 찾고 있다면 GoAccess를 권장합니다.

http://goaccess.prosoftcorp.com/

당신은 그것을 다음과 같이 실행합니다 (conf 필요 없음).

goaccess -f /var/log/apache2/access.log -s -b

3

시도 할 수있는 또 다른 것은 "watch"명령으로 원하는 로그 파일에서 grep 명령을 반복적으로 실행할 수 있습니다. 적절한 감시 명령 스위치를 사용하면 로그 파일의 변경 사항을 실시간으로 강조 표시 할 수도 있습니다.

예를 들면 다음과 같습니다.

시계 -d -n5 가동 시간


2

GoAccess 0.6.1은 가방에 포함 된 도구 중 하나 이상이어야합니다. 오픈 소스. 빠르고 안정적입니다.

Rhel / Centos 6.4

yum install glib2 glib2-devel glibc make geoip
yum install ncurses-devel
Download GoAccess - http://goaccess.prosoftcorp.com/download
Untar it and cd into it
./configure
make
make install

Finally: goaccess -f /var/log/httpd/access.log (or wherever your access logs are [maybe even /etc/httpd/logs/access_log]

geoip은 CENTOS 6에서 오류를 범했습니다
Mike

1

이것은 기본적인 질문입니다. 영화 "소셜 네트워크 (Social Network)"에는 젊은 Facebook 직원이 PHP / Apache 서버가 터미널에서 실시간으로 터미널에 로그온하는 것을 볼 때 몇 가지 장면이 있습니다.

Facebook과 같은 대규모 시스템 의 경우 영화 제작에 얼마나 많은 예술 라이센스 (일명 bullsh * t)가 부여 되었는지 궁금합니다 . 수천 개의 시스템과 수천 개의 클러스터가있는 환경에서 터미널에서 서버 로그 스크롤을 보는 것이 반드시 # 1 모니터링 활동은 아닙니다.

이와 같은 환경 (또는 수십 개의 노드가있는 프로덕션 환경)에서는 지표가있는 NOSC가 있으며 그 상태에있는 것으로 플래그가 지정된 경우에만 crapping out로그를 적극적으로 봅니다 ( 중요한 이벤트 및 메시지로 필터링되었을 수 있습니다.)


충분히 작은 사이트의 경우 로그를 보는 것이 재미 있으며 기대치를 얼마나 잘 충족하는지에 대한 일반적인 느낌을 줄 수 있습니다. 어쨌든 질문은 영화를 영감으로 사용하여 "어떻게 그런 일을 할 수 있습니까?"라고 묻습니다. 대신 "어떻게 했습니까?"
eswald 2009 년

글쎄, 꼬리 -f를 아래로 스크롤하여 터미널을 열어 두는 것입니다. 그래도 대역폭이 매우 비쌀 수 있습니다. 예를 들어 VNC 또는 원격 데스크톱을 통해 표시되는 원격 터미널의 로그를 스크롤하면 클라이언트에서 CPU 단위 비용이 많이들 수 있습니다 . 다른 솔루션으로는 로그 출력을 syslog (및 원격으로 syslog 서버로 전송하는 것)를 보내거나 심지어 로그 라인 (압축 및 UDP를 통해)을 모니터링 클라이언트로 보내는 것도 포함됩니다. 후자는 UDP이기 때문에 일부 라인이 손실 될 수 있습니다 . 그러나 일부 조건에서는 허용 될 수 있습니다.
luis.espinal

0

소셜 네트워크는 주로 정확한 전문 용어와 용어를 사용한다는 사실에 감격하지만, 그들이 보여준 것들 중 일부입니다.

나는 서버 전문가는 아니지만 주커 버그 (Zuckerberg)가 ping 명령을 실행하는 터미널이 열려있는 것을 보았습니다. 그가 무작위로 그렇게하는 이유를 생각할 수 없습니다. (이것은 이미 서버를 시작하고 실행 한 후였습니다).

나는 파이썬 서버 해킹 장면이 매우 재미 있다는 것을 알았습니다.



0

LogLogic과 같은 실시간 로그 뷰어를 사용하여보고 싶지 않은 것을 필터링 할 수도 있습니다. 이렇게하면 아파치 로그 이상을 수집하고 라우터 로그, ftp 로그 등을 얻을 수 있습니다.


0

폴링 스크립트를 아주 쉽게 작성할 수 있습니다. 타임 스탬프 또는 파일 크기를 비교하고 변경하면 tail -n1


0

Apachetail 은 또한 Windows 데스크탑 앱에서 Apache 서버에 직접 연결하여 Apache 로그의 실시간보기 / 분석을 제공합니다. Apache 서버에는 소프트웨어를 설치할 필요가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.