[shell] Shell 스크립트 모니터링을 위한 대시보드 구성
서론
Shell 스크립트를 사용하여 시스템 상태 또는 다양한 작업을 수행할 때, 이러한 스크립트의 실행 및 상태 모니터링이 중요합니다. 이를 위해 Shell 스크립트 실행 및 성능을 시각적으로 모니터링하기 위한 대시보드를 만들어 보겠습니다.
대시보드 구성 요소
- 실행 상태 모니터링: Shell 스크립트가 현재 실행 중인지 여부를 보여주는 모니터링 항목.
- 리소스 이용 현황: CPU 및 메모리 사용량과 같은 시스템 리소스의 이용 상황을 시각적으로 표시.
- 로그 표시: 스크립트 실행 중 생성된 로그를 대시보드에 보여주어 실시간으로 로그를 모니터링할 수 있도록 함.
대시보드 구현
아래는 Bash와 Python을 사용하여 Shell 스크립트 모니터링 대시보드를 구현하는 간단한 예제입니다.
Bash 스크립트 예제
#!/bin/bash
# 실행 상태 모니터링
script_pid=$(pidof script.sh)
if [ -z "$script_pid" ]; then
echo "Script is not running"
else
echo "Script is running with PID $script_pid"
fi
# 리소스 이용 현황
top -n 1
# 로그 표시
tail -f /var/log/script.log
Python 대시보드 예제
import psutil
import time
import subprocess
# 실행 상태 모니터링
running_processes = subprocess.check_output(["pgrep", "script.sh"])
if running_processes:
print("Script is running")
else:
print("Script is not running")
# 리소스 이용 현황
print("CPU Usage:", psutil.cpu_percent(interval=1))
print("Memory Usage:", psutil.virtual_memory().percent)
# 로그 표시
with open("/var/log/script.log") as log_file:
for line in log_file:
print(line, end="")
결론
Shell 스크립트를 모니터링하기 위한 대시보드를 구성함으로써 실행 상태, 리소스 사용, 로그 출력 등의 정보를 편리하게 모니터링할 수 있습니다. 대시보드를 통해 시스템 상태를 실시간으로 확인하여 문제를 빠르게 파악하고 대응할 수 있게 됩니다.
이러한 대시보드를 사용하여 Shell 스크립트 관리 및 모니터링을 보다 효율적으로 수행할 수 있습니다.