[shell] Shell 스크립트 모니터링을 위한 대시보드 구성

서론

Shell 스크립트를 사용하여 시스템 상태 또는 다양한 작업을 수행할 때, 이러한 스크립트의 실행 및 상태 모니터링이 중요합니다. 이를 위해 Shell 스크립트 실행 및 성능을 시각적으로 모니터링하기 위한 대시보드를 만들어 보겠습니다.

대시보드 구성 요소

  1. 실행 상태 모니터링: Shell 스크립트가 현재 실행 중인지 여부를 보여주는 모니터링 항목.
  2. 리소스 이용 현황: CPU 및 메모리 사용량과 같은 시스템 리소스의 이용 상황을 시각적으로 표시.
  3. 로그 표시: 스크립트 실행 중 생성된 로그를 대시보드에 보여주어 실시간으로 로그를 모니터링할 수 있도록 함.

대시보드 구현

아래는 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 스크립트 관리 및 모니터링을 보다 효율적으로 수행할 수 있습니다.

참고 자료