[python] Fabric으로 원격 서버 하드웨어 모니터링하기

Fabric은 파이썬 기반의 배포 자동화 도구로, 원격 서버에 명령어를 실행하고 파일을 전송할 수 있습니다. 이번 글에서는 Fabric을 사용하여 원격 서버의 하드웨어 모니터링을 수행하는 방법에 대해 알아보겠습니다.

Fabric 설치하기

Fabric을 사용하기 위해서는 먼저 Fabric 패키지를 설치해야 합니다. 다음 명령어를 사용하여 Fabric을 설치할 수 있습니다.

pip install fabric

서버 접속 설정하기

Fabric을 사용하기 위해서는 원격 서버에 접속할 수 있는 SSH 키를 설정해야 합니다. SSH 키를 설정하기 위해서는 ssh-keygen 명령어를 사용하거나, 이미 가지고 있는 경우 해당 키 파일을 사용할 수 있습니다.

Fabric은 기본적으로 ~/.ssh/id_rsa 파일을 사용하여 SSH 연결을 시도합니다. SSH 키 파일의 경로가 다를 경우 env.key_filename 변수를 설정하여 사용할 수 있습니다.

from fabric import Connection

c = Connection(host='your_server_ip', user='your_username', connect_kwargs={'key_filename': ['/path/to/your/keyfile']})

하드웨어 정보 확인하기

Fabric을 사용하여 원격 서버의 하드웨어 정보를 확인할 수 있습니다. lshw 명령어를 원격으로 실행하여 하드웨어 정보를 가져올 수 있습니다.

result = c.run('sudo lshw -short', hide=True)
print(result.stdout)

위 예제에서는 lshw -short 명령어를 실행한 결과를 출력합니다. sudo를 사용하여 루트 권한으로 명령어를 실행할 수 있습니다.

CPU 사용량 모니터링하기

Fabric을 사용하여 원격 서버의 CPU 사용량을 모니터링할 수 있습니다. top 명령어를 사용하여 CPU 사용량을 가져올 수 있습니다.

result = c.run('top -bn1 | grep "Cpu(s)"', hide=True)
print(result.stdout)

위 예제에서는 top -bn1 | grep "Cpu(s)" 명령어를 실행한 결과를 출력합니다. 이 명령어는 CPU 사용량에 대한 정보를 가져옵니다.

메모리 사용량 모니터링하기

Fabric을 사용하여 원격 서버의 메모리 사용량을 모니터링할 수 있습니다. free 명령어를 사용하여 메모리 사용량을 가져올 수 있습니다.

result = c.run('free -m | grep Mem', hide=True)
print(result.stdout)

위 예제에서는 free -m | grep Mem 명령어를 실행한 결과를 출력합니다. 이 명령어는 메모리 사용량에 대한 정보를 가져옵니다.

마무리

이 글에서는 Fabric을 사용하여 원격 서버의 하드웨어 모니터링을 수행하는 방법에 대해 알아보았습니다. Fabric을 사용하면 간편하게 원격 서버의 상태를 모니터링할 수 있으며, 필요에 따라 추가적인 모니터링 항목을 구현할 수도 있습니다.

더 자세한 내용은 Fabric 공식 문서를 참고해주세요.