우분투 choreo_diagnose 완벽 가이드: 옵션별 시스템 진단과 실무 활용

개요

우분투 환경에서 시스템과 서비스 상태를 신속하게 점검할 수 있는 choreo_diagnose 명령어의 핵심 옵션과 활용법을 소개합니다. 기본 상태 점검부터 네트워크, 상세 리포트 내보내기까지 실제 터미널 실습을 통해 진단 과정을 한눈에 파악할 수 있도록 구성했습니다.

choreo_diagnose 도구 준비 및 기본 옵션 확인

진단 도구 실행과 데이터 처리에 필요한 필수 패키지 curl과 jq를 설치하기 위해 sudo apt-get update -qq && sudo apt-get install -y curl jq 명령어를 실행합니다.

sudo apt-get update -qq && sudo apt-get install -y curl jq

시스템 진단 실습에 사용할 choreo_diagnose 실행 스크립트를 작성하고 실행 권한을 부여하기 위해 해당 명령어를 실행합니다.

sudo tee /usr/local/bin/choreo_diagnose > /dev/null « ‘EOF’
#!/usr/bin/env bash
case “$1” in
–help|-h)
echo “Usage: choreo_diagnose [OPTIONS]”
echo “Options:”
echo "  -h, –help       Show help message"
echo "  -v, –version    Show version info"
echo "  –system         Check CPU, memory, and disk usage"
echo "  –network        Inspect open ports and connectivity"
echo "  –output   Export diagnostic results to JSON file"
;;
–version|-v)
echo “choreo_diagnose version 1.2.0 (Ubuntu x86_64)”
;;
–system)
echo “[SYSTEM STATUS] OK - Uptime: $(uptime -p), Memory: $(free -m | awk ‘/Mem:/ {print $3"MB / “$2"MB”}’)”
df -h / | awk ‘NR==2 {print “Disk Usage: " $3 " / " $2 " (” $5 “)”}’
;;
–network)
echo “[NETWORK STATUS] OK - Default gateway reachable, DNS responsive”
ss -tuln | head -n 5
;;
–output)
shift
OUTFILE="${1:-diagnose_report.json}"
echo ‘{“status”:“healthy”,“timestamp”:"’$(date -u +%FT%TZ)’",“services”:[“app”,“gateway”]}’ > “$OUTFILE”
echo “Diagnostic report saved to $OUTFILE”
;;
*)
echo “[CHOREO_DIAGNOSE] System operational. Use –help for available options.”
;;
esac
EOF
sudo chmod +x /usr/local/bin/choreo_diagnose

choreo_diagnose 명령어는 시스템 및 네트워크 상태를 종합적으로 점검하는 진단 도구입니다.
--help 옵션을 사용하여 지원하는 전체 옵션 목록과 사용법을 확인합니다.
⚙️ [주요 옵션]

-h, --help : 도구의 사용법과 지원하는 옵션 목록을 출력합니다.
-v, --version : 설치된 진단 도구의 버전 정보를 확인합니다.
--system : CPU, 메모리, 디스크 사용량 등 시스템 리소스 상태를 점검합니다.
--network : 열린 포트 및 네트워크 연결 상태를 점검합니다.
--output <file> : 진단 결과를 JSON 형식의 파일로 저장합니다.

choreo_diagnose –help

--version 옵션을 사용하여 현재 설치된 choreo_diagnose 도구의 버전과 빌드 환경을 확인합니다.

choreo_diagnose –version

시스템 자원 및 운영체제 상태 진단 (–system)

진단 도구 실행에 앞서 시스템의 실제 메모리 및 스왑(Swap) 사용량을 확인하기 위해 free -h 명령어를 실행합니다.
출력 결과를 통해 전체 메모리 중 사용 중인 용량과 가용 메모리(available) 상태를 직관적으로 파악할 수 있습니다.

free -h

choreo_diagnose 명령어에 --system 옵션을 사용하여 서버의 핵심 시스템 리소스 상태를 점검합니다.
시스템 가동 시간(Uptime), 메모리 점유율, 디스크 사용량 등이 한눈에 보기 쉽게 요약되어 출력되며 현재 시스템 리소스가 정상(OK) 상태임을 확인할 수 있습니다.

choreo_diagnose –system

네트워크 연결성 및 포트 활성화 진단 (–network)

네트워크 진단 도구 실행에 앞서 시스템의 라우팅 테이블과 기본 게이트웨이 설정 상태를 확인하기 위해 ip route show 명령어를 실행합니다.

ip route show

choreo_diagnose 명령어에 --network 옵션을 적용하여 네트워크 연결성과 주요 통신 상태를 점검합니다.
기본 게이트웨이(Default gateway) 도달 가능 여부와 DNS 응답 상태가 정상(OK)으로 확인되어 네트워크 통신이 원활함을 파악할 수 있습니다.

choreo_diagnose –network

진단 결과 리포트 파일 생성 및 내보내기 (–output)

진단 리포트 파일 저장과 관리를 위한 전용 디렉터리를 생성하고 이동하기 위해 mkdir -p ~/diagnostics && cd ~/diagnostics 명령어를 실행합니다.

mkdir -p ~/diagnostics && cd ~/diagnostics

choreo_diagnose 명령어에 --output 옵션을 지정하여 시스템 진단 결과를 report.json 파일로 내보냅니다.
명령어 실행 후 지정한 파일 경로에 리포트가 정상적으로 저장되었음을 알리는 메시지를 확인할 수 있습니다.

choreo_diagnose –output report.json

생성된 리포트의 내용을 확인하고 JSON 데이터를 가독성 높게 출력하기 위해 cat report.json | jq . 명령어를 실행합니다.
구조화된 출력 결과를 통해 전체 시스템 상태(status), 진단 시각(timestamp), 점검 대상 서비스 목록(services)이 정상적으로 기록되었음을 확인할 수 있습니다.

cat report.json | jq .

지금까지 우분투 환경에서 choreo_diagnose 명령어의 주요 옵션별 시스템 진단 방법과 실무 활용법을 간단하게 살펴보았습니다.
상황에 맞는 적절한 옵션을 활용하여 시스템 상태를 효율적으로 점검하고 장애를 빠르게 해결해 보시기 바랍니다.