exemONE Infrastructure > Tool - Script Manager 기능 상세 설명
메뉴 경로: Infrastructure > Tool > Script Manager / Script Manager History
1. Script Manager
개요
Infrastructure > Host의 타겟 서버를 대상으로 쉘 스크립트를 직접 작성하고 실행하는 화면입니다.
- 지원 OS Type: Windows, Linux
- 사전 조건: Host Agent가 설치된 타겟 서버
- 제약 조건 (v3.0.27 이상): 스크립트 실행 결과 최대 길이 제한 —
65,536 byte
1-1. 화면 구성

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | OS Type | 스크립트를 실행할 OS를 선택합니다. |
| 2 | Script List | 저장된 스크립트 목록입니다. (Script List 섹션 참고) |
| 3 | Button | Save: 스크립트를 저장합니다. Save As…: 스크립트를 다른 이름으로 저장합니다. Reset: 작성한 스크립트를 초기화합니다. |
| 4 | Target List | 스크립트를 실행할 서버를 선택합니다. |
| 5 | Script | 스크립트를 입력합니다. |
| 6 | Your Recent Script | 최근 실행한 스크립트 리스트를 출력합니다. 현재 열려있는 OS Type과 동일한 스크립트만 출력합니다. |
| 7 | Clear All | 스크립트 내용을 초기화합니다. |
| 8 | Script Timeout | 설정된 Timeout 값 이상 스크립트 실행 시 타임아웃이 발생합니다. |
| 9 | Host Encoding Type | 서버에서 스크립트 실행 시 사용할 인코딩 타입입니다. |
| 10 | Run Script | 작성한 스크립트를 실행합니다. |
| 11 | Running Count | 스크립트 실행 상태를 카운트로 출력합니다. 형식: {실행 완료 서버 수} / {전체 실행 서버 수} |
| 12 | Retry All | 선택한 모든 서버에 대해 스크립트를 다시 실행합니다. |
| 13 | Result | 스크립트 결과를 그리드로 출력합니다. (Result Grid 섹션 참고) |
1-2. Result Grid
| 항목 | 내용 |
|---|---|
| Execution ID | 스크립트 실행 ID (내부 관리 ID) |
| Start Time | 스크립트 실행 시작 시간 |
| Target | 스크립트 실행 서버 |
| Message | 스크립트 실행 결과 메시지 |
| Execution Time(sec) | 스크립트 실행 시간 (초) |
| Execution Result | 스크립트 실행 결과 - Finished: 정상적으로 실행 완료 - Failed: 스크립트 오류 또는 타겟 연결 실패 - Stopped: 사용자가 수동으로 중단 - Timeout: 지정된 시간 내에 응답이 없음 |
| Action | Retry: 중지되거나 실패한 스크립트 재실행 Stopped: 실행 중인 스크립트 중지 |
| Error | 스크립트 실행 중 에러 발생 시 출력 |
| Response Output | 스크립트 실행 결과 출력 메시지 확인 |
1-3. Script List
Script Folder 및 Script를 생성하고 관리하는 화면입니다.

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | New Script | 새 스크립트를 작성합니다. |
| 2 | Search | 스크립트 이름 또는 폴더를 검색합니다. |
| 3 | Query I Shared | 공유한 스크립트만 출력합니다. |
| 4 | Create Folder | 새 폴더를 생성합니다. Private, Public 모두 생성 가능합니다.![]() |
| 5 | Button | Folder 동작: - Create Folder: 폴더 생성 ![]() - Duplicate Folder: 폴더 복제 - Rename Folder: 폴더 이름 수정 ![]() - Delete Folder: 폴더 삭제 Script 동작: ![]() - Duplicate Script: 스크립트 복제 - Edit Script: Edit Script 팝업 표시 - Delete Script: 스크립트 삭제 |
1-4. Save Script 팝업

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Name | 스크립트의 이름입니다. |
| 2 | Location | 스크립트가 저장되는 폴더입니다. |
| 3 | Create Folder | 폴더를 생성합니다. |
| 4 | Share Query | 스크립트를 공유합니다. ON 상태로 변경하면 Public 폴더에 스크립트를 저장할 수 있습니다. |
1-5. Script 작성 스펙 (공통)
exemONE에 등록하는 스크립트는 항상 마지막에 xmReturn 을 출력(echo) 해야만 정상적인 종료로 간주합니다.
xmReturn 형식:
xmReturn %d %s
- %d : error code (필수)
- %s : error string (선택)
xmReturn 예시:
xmReturn 0
xmReturn 1 Not Found
xmReturn 13 something is wrong
스크립트 전체 예시:
#!/bin/sh
# 원하는 command 실행
echo "script is running ..."
# ...
if [ "$?" = 0 ]; then
echo xmReturn 0 Success
else
echo xmReturn 1 Error
fi
1-6. Script Manager 로그 분석
exem-host-agent에서 Script Manager 실행 관련 로그를 분석하는 방법입니다.
① 정상적으로 스크립트 요청을 받은 경우 (info level)
log.Info().Msgf("Start ScriptManager [%v]", execId)
ex) Start ScriptManager [00000193-e209-ff9d-e8b5-f3ebbc87bf33]
[C 버전] v3.0.27:
[INFO][SCRIPT_MANAGER][process_req_script_manager] Start script manager. ExecId[%s] timeout[%d] encoding[%d]
② 에이전트에서 스크립트 실행 준비가 된 상태 (info level)
- timeout, encoding 설정 확인 가능
log.Info().Msgf("ExecId[%s]: timeout[%d], scriptEncoding[%s]", execId, execution.timeoutSecond, execution.scriptEncoding)
ex) ExecId[00000193-e209-ff9d-e8b5-f3ebbc87bf33]: timeout[0], scriptEncoding[utf-8]
2. Script Manager History
개요
실행한 스크립트의 과거 실행 내역을 조회하는 화면입니다.
2-1. 화면 구성

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Global Time | 실시간을 포함한 최근 스크립트 데이터를 보여줍니다. 기본값: 최근 10분 데이터 |
| 2 | Search | 스크립트를 검색합니다. |
| 3 | Script Run History | 스크립트 실행 이력입니다. |
| 4 | Option | 클릭 시 Grid의 옵션을 보여줍니다. |
2-2. Grid
| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Execution ID | 실행 ID (클릭 시 Query Manager Detail Slide로 이동) |
| 2 | Script | 스크립트 이름 (클릭 시 Script Manager Detail Slide로 이동) |
| 3 | Action | 실행한 스크립트에 대한 동작 수행 - Retry: 중지되거나 실패한 스크립트 재실행 - Stopped: 실행 중인 스크립트 중지 |
| 4 | Execution Result | 스크립트 실행 결과를 카운트로 출력 - Finished: 정상적으로 데이터가 수집- Failed: 스크립트 오류 또는 타겟 연결 실패- Stopped: 사용자가 수동으로 중단 |
| 5 | Start Time | 스크립트 실행 시각 |
| 6 | DB | 쿼리가 실행된 데이터베이스 |
| 7 | Target | 스크립트 실행 서버 |
| 8 | Performer | 스크립트를 실행한 사용자 |
| 9 | Timeout | 스크립트 타임아웃 발생 여부 |
| 10 | Error | 발생 에러 |
2-3. Script Manager Detail Slide
Script Manager History Grid에서 Script 이름을 클릭하면 해당 실행의 상세 정보를 확인할 수 있는 Detail Slide가 열립니다.

| 순번 | 항목 | 내용 |
|---|---|---|
| 1 | Script | 실행된 스크립트 내용입니다. |
| 2 | Slide History | Detail Slide 이력을 확인합니다. |
| 3 | Close | 클릭 시 Detail Slide가 닫힙니다. |
| 4 | Copy | 스크립트를 복사합니다. |
| 5 | Information | 실행된 스크립트의 정보입니다. |
| 6 | Target-specific Information | 실행된 타겟별 정보입니다. - Error: 클릭 시 상세 에러 내용 확인 가능![]() - Response Output: 클릭 시 스크립트 실행 결과 출력 메시지 확인 가능![]() |
참고 문서:
- Infrastructure - Script Manager 사용 가이드
- Infrastructure - Script Manager (화면 구성)
- Infrastructure - Script Manager - Script List
- Infrastructure - Script Manager - Script List (v2)
- Infrastructure - Script Manager History
- Infrastructure - Script Manager History (v2)
- Infrastructure - Script Manager History - Detail Slide
- Infrastructure - Script Manager History - Detail Slide (v2)




Finished: 정상적으로 데이터가 수집
Failed: 스크립트 오류 또는 타겟 연결 실패
Stopped: 사용자가 수동으로 중단
클릭 시 상세 에러 내용 확인 가능
클릭 시 스크립트 실행 결과 출력 메시지 확인 가능