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 공식 문서를 참고해주세요.