[python] Fabric으로 실시간 로그 모니터링하기

개요

Fabric은 파이썬을 기반으로한 서버 관리 도구로, SSH를 사용하여 원격 서버에 명령을 전송하고 스크립트를 실행하는데 사용됩니다. 이번 블로그 포스트에서는 Fabric을 사용하여 로그 파일을 실시간으로 모니터링하는 방법에 대해 알아보겠습니다.

필요한 패키지 설치

먼저 Fabric 패키지를 설치해야 합니다. 터미널을 열고 아래의 명령어를 실행합니다.

pip install fabric

로그 모니터링 스크립트 작성

이제 로그 파일에서 특정 키워드를 실시간으로 모니터링하는 스크립트를 작성해보겠습니다.

from fabric import Connection, task

@task
def monitor_logs(c, keyword, logfile):
    c.run(f'tail -f {logfile} | grep --line-buffered {keyword}')

위의 코드는 로그 파일을 tail -f로 실시간 모니터링한 다음, 지정된 키워드를 grep하여 해당 키워드가 포함된 로그만 출력하는 스크립트입니다.

스크립트 실행

스크립트를 실행하기 전에 로그 파일과 모니터링할 키워드가 필요합니다. 이 예시에서는 /var/log/nginx/access.log 파일을 모니터링하고, 200이라는 키워드를 검색합니다.

fab monitor_logs --keyword=200 --logfile=/var/log/nginx/access.log

위의 명령어를 실행하면, 스크립트가 실행되어 실시간으로 로그를 모니터링하고, 해당 키워드가 포함된 로그만 출력됩니다.

결론

Fabric을 사용하여 실시간으로 로그를 모니터링하는 방법에 대해 알아보았습니다. Fabric을 사용하면 원격 서버에 명령을 간편하게 전송하고 스크립트를 실행할 수 있습니다. 로그 모니터링은 서버 관리에 중요한 요소이므로, Fabric을 이용하여 효율적으로 로그를 분석할 수 있습니다.

참고 자료