Jamf Device Checker를 사용하는 이유
문제
최종 사용자는 생산성에 영향을 미치는 디바이스 문제를 자주 겪지만, 이를 식별하거나 해결하는 방법을 모르는 경우가 많습니다.
- 누락되거나 오래된 앱 버전
- 오래된 iOS 버전
- 예기치 않은 종료를 일으키는 낮은 배터리 상태
- 앱 설치를 방해하는 저장 용량 문제
- 생산성에 영향을 미치는 네트워크 연결 문제
- 성능 스로틀링을 유발하는 디바이스 과열
- 작업 속도를 늦추는 높은 메모리/CPU 사용량
이러한 문제는 일반적으로 헬프데스크 티켓, 생산성 손실, 사용자 불만으로 이어집니다.
해결책
Jamf Device Checker는 간단한 색상 코드 인터페이스를 통해 최종 사용자가 디바이스 준비 상태 문제를 직접 진단하고 해결할 수 있도록 지원합니다.
- ✅ 녹색 = 디바이스가 작업 준비됨
- ⚠️ 노란색 = 곧 해결해야 할 경고
- 🔴 빨간색 = 생산성을 방해하는 심각한 문제
주요 이점
최종 사용자: 셀프 서비스 디바이스 준비 상태 확인, 문제 해결을 위한 명확하고 실행 가능한 안내, IT 지원 대기 시간 단축, 마감일 전 사전 알림.
IT 팀: 헬프데스크 티켓 감소, 회사 정책(OS 버전, 필수 앱)에 따른 규정 준수 시행, 디바이스 상태에 대한 실시간 가시성, 구성 가능한 임계값 및 모니터링 규칙.
조직: 최종 사용자 생산성 향상, 더 나은 디바이스 수명 주기 관리, IT 지원 비용 절감, 규정 준수 추적 및 보고.
전체 상태 표시
앱은 메인 화면 상단에 디바이스의 전체 준비 상태를 요약하는 크고 색상 코드가 지정된 상태 표시기를 표시합니다.
| 상태 | 색상 | 아이콘 | 설명 |
|---|---|---|---|
| Ready | 🟢 녹색 | 체크 표시 | 활성화된 모든 확인 통과. 디바이스가 모든 요구 사항을 충족함. |
| Deadline Approaching | 🟠 주황색 | 경고 삼각형 | 마감일이 구성된 업데이트 사용 가능. "X update(s) available - Y day(s) remain"을 표시하며 가장 빠른 마감일까지 카운트다운. |
| Action Needed | 🟠 주황색 | 경고 삼각형 | 업데이트 사용 가능하지만 마감일이 구성되지 않음. "X update(s) available"을 표시. |
| Not Ready | 🔴 빨간색 | X 표시 | 하나 이상의 업데이트가 필요하며 마감일이 지남. "X update(s) required"를 표시. |
| Installing Updates | 🔵 파란색 | 회전 화살표 | MDM 명령 진행 중. 자동 새로 고침을 위한 2분 카운트다운 타이머 표시. |
| Off Duty | ⚪ 회색 | Z가 있는 달 | Jamf Setup EA를 통해 비근무 상태로 표시된 디바이스. |
| Unknown | ⚪ 회색 | 물음표 | 첫 번째 확인이 완료되기 전의 초기 상태. |
빠른 시작
사전 요구 사항
- Jamf Pro 서버(JPS)
- Jamf Pro에 대한 관리자 액세스
- Jamf Self Service 앱(앱 설치 기능에 필요)
- 마법사 권한이 있는 로컬 사용자 계정(아래 참조)
필요한 API 권한
앱은 두 가지 별개의 권한 집합을 사용합니다.
마법사 설정용(로컬 사용자 계정 — 초기 구성 중 사용):
Jamf Pro에서 다음 8가지 권한을 가진 로컬 사용자를 생성합니다.
API 통합 설정(일회성 마법사 구성):
- Read API Integrations
- Create API Integrations
- Update API Integrations
- Read API Roles
- Create API Roles
- Update API Roles
앱 구성 관리(마법사 + 지속적 업데이트):
- Read Mobile Device Applications
- Update Mobile Device Applications
이 사용자 계정은 Basic Auth를 통해 마법사를 인증하여 API 통합을 생성하고, 역할을 구성하고, 네이티브 앱을 연결하고, 앱 구성 XML을 저장합니다. 초기 설정 후에는 앱 구성 업데이트에만 이 사용자가 필요합니다(2가지 Mobile Device Applications 권한만 필요).
런타임 작동용(OAuth API 클라이언트 — 마법사가 자동으로 구성):
마법사는 연결된 앱 통합에 할당된 다음 4가지 권한을 가진 "Jamf Device Checker" API 역할을 자동으로 생성합니다.
- Send Device Information Command
- View MDM command information in Jamf Pro API
- Read Mobile Devices
- Send MDM command information in Jamf Pro API
이러한 권한을 통해 device checker는 OAuth 인증을 사용하여 정상 작동 중 디바이스 세부 정보를 가져오고 MDM 명령을 보낼 수 있습니다. 최종 사용자는 이러한 자격 증명을 보거나 사용하지 않습니다.
5분 설정
1단계: 앱을 구매하고 Jamf Pro에 추가
- "Jamf Device Checker"를 구매하고 AxM에서 Jamf Pro 인스턴스에 할당
- Jamf Pro에서 Mobile Device Apps로 이동
- Apps Purchased in Volume에서 "Jamf Device Checker" 추가
2단계: 설정 마법사 실행
- 관리자 디바이스에 앱 설치
- 앱을 실행하고 원형 상태 이미지를 길게 눌러 마법사 모드 활성화
- 로컬 사용자로 인증(8가지 마법사 권한 필요 — 위 필요한 API 권한 참조)
- 마법사를 따라 다음 수행:
- 필요한 권한으로 API 역할 구성
- API 통합 생성
- 인증을 위해 네이티브 앱을 API 통합에 연결
- 관리 앱 구성 생성 및 JPS에 저장
3단계는 없습니다 — 최종 사용자 디바이스로 범위를 지정하기만 하면 됩니다.
전체 설정 지침
1단계: Jamf Pro에 Mobile Device App 추가
- "Jamf Device Checker"를 구매하고 AxM에서 Jamf Pro 인스턴스에 할당
- Jamf Pro에 로그인
- Devices > Mobile Device Apps로 이동
- + New 클릭
- Apps Purchased in Volume에서 "Jamf Device Checker" 검색
- Add를 클릭하여 앱 레코드를 Jamf Pro 인스턴스에 추가
2단계: 설정 마법사 실행
마법사는 모든 인증 및 관리 앱 구성을 자동으로 처리합니다.
관리자 디바이스에 앱 설치
- 테스트 iOS 디바이스에 앱 할당
- Jamf Device Checker 실행
마법사 모드 활성화
- More 탭에서 앱 아이콘을 3초 동안 길게 누름
- Wizard Setup 선택
- 사전 요구 사항에서 생성한 로컬 사용자 자격 증명으로 인증(8가지 마법사 권한 필요)
마법사 단계 완료
API Role
- 마법사가 기존 "Jamf Device Checker" API 역할을 확인
- 없는 경우 필요한 권한으로 역할 생성:
- Send Device Information Command
- View MDM command information in Jamf Pro API
- Read Mobile Devices
- Send MDM command information in Jamf Pro API
- 역할을 API 통합에 연결
네이티브 앱 인증
- 마법사가 모바일 디바이스 앱 레코드를 API 통합에 연결
- Managed App Config를 통해 OAuth 인증 코드 전달 활성화
앱 구성 생성
- 마법사가 완전한 Managed App Config 생성
- Jamf Pro로 전송
3단계: 디바이스로 범위 지정
- 동일한 앱 레코드에서 Scope 클릭
- 대상 디바이스 그룹, 스마트 그룹 또는 개별 디바이스 추가
- Save 클릭
구성 참조
앱은 전적으로 Jamf Pro의 Managed App Config를 통해 구성됩니다. 아래는 사용 가능한 모든 키에 대한 전체 참조입니다.
필수 키
이러한 키는 Jamf Pro에 의해 자동으로 채워집니다 — 수정하거나 제거하지 마세요.
| 키 | 설명 |
|---|---|
JPS_URL |
Jamf Pro 서버 URL(자동 채워짐: $JPS_URL) |
JSSID |
디바이스 JSS ID(자동 채워짐: $JSSID) |
MANAGEMENTID |
디바이스 Management ID(자동 채워짐: $MANAGEMENTID) |
OAUTH_AUTH_CODE |
OAuth 인증 코드(자동 채워짐: $OAUTH_AUTH_CODE) |
APP_CONFIG_REINSTALL_CODE |
재설치 트리거 코드(자동 채워짐: $APP_CONFIG_REINSTALL_CODE) |
APPJSSID |
Jamf Device Checker 앱 레코드 ID(자동 채워짐: $APPJSSID) |
브랜딩 및 알림 URL
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-branding-image-url |
String | (비어 있음) | 회사 로고 이미지(PNG/JPG)의 URL. 브랜딩이 없으면 비워 둡니다. |
device-checker-branding-image-height |
Integer | 80 |
로고 높이(포인트 단위). |
device-checker-alerts-url |
String | (비어 있음) | 알림/상태 페이지의 선택적 URL. Alerts 탭에 링크 표시. |
예시:
<key>device-checker-branding-image-url</key>
<string>https://yourcompany.com/logo.png</string>
<key>device-checker-branding-image-height</key>
<string>60</string>
공유 버튼
More 탭에서 상태 공유 및 로그 내보내기 기능의 표시 여부를 제어합니다.
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-send-status-enabled |
String | YES |
"Send Status" 버튼 표시(이메일/메시지를 통해 디바이스 준비 상태 요약 공유) |
device-checker-send-logs-enabled |
String | YES |
"Send Logs" 버튼 표시(문제 해결을 위해 앱 로그 내보내기) |
예시:
<key>device-checker-send-status-enabled</key>
<string>YES</string>
<key>device-checker-send-logs-enabled</key>
<string>NO</string>
UI 동작
Status 탭의 스크롤 동작을 제어합니다.
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-status-tab-scrollable |
String | NO |
YES인 경우 전체 Status 탭을 스크롤 가능하게 함(헤더 + 전체 상태 + 타일). NO(기본값)인 경우 헤더와 전체 상태는 고정되고 아래의 타일만 스크롤됨. |
예시:
<key>device-checker-status-tab-scrollable</key>
<string>NO</string>
활성화 시점: 기본값(NO)은 대부분의 배포에 가장 적합합니다 — 타일을 스크롤하는 동안 헤더와 전체 준비 상태가 계속 표시됩니다. 전체 보기를 함께 스크롤해야 하거나 소형 디바이스에서 더 긴 브랜딩 헤더를 수용해야 하는 경우 YES로 설정합니다.
운영 체제 준비 상태
구성 가능한 최소 버전 및 마감일로 OS 버전 요구 사항을 모니터링합니다.
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-os-enabled |
String | YES |
OS 버전 모니터링 타일 활성화 |
device-checker-os-min-version |
String | (없음) | 필요한 최소 OS 버전(예: 26.2) |
device-checker-os-deadline |
String | (없음) | YYYY-MM-DD 형식의 요구 사항 마감일 |
예시:
<key>device-checker-os-enabled</key>
<string>YES</string>
<key>device-checker-os-min-version</key>
<string>26.2</string>
<key>device-checker-os-deadline</key>
<string>2026-06-30</string>
상태 로직:
✅ 녹색(Ready) — 현재 OS 버전이 최소 요구 사항을 충족함
⚠️ 노란색(Warning) — 현재 OS 버전이 최소 미만이지만 마감일이 지나지 않음(또는 마감일 미구성)
🔴 빨간색(Not Ready) — 현재 OS 버전이 최소 미만이고 마감일이 지남
앱 준비 상태
필수 관리 앱의 설치 상태 및 버전 요구 사항을 모니터링합니다.
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-apps-enabled |
String | NO |
앱 모니터링 타일 활성화 |
device-checker-apps-list |
String | (비어 있음) | 파이프로 구분된 앱 목록(아래 형식 참조) |
앱 목록 형식:
AppName,bundleID,minVersion,deadline|AppName2,bundleID2,minVersion2,deadline2|...
예시:
<key>device-checker-apps-enabled</key>
<string>YES</string>
<key>device-checker-apps-list</key>
<string>Slack,com.tinyspeck.chatlyio,24.0.0,2026-03-01|Microsoft Teams,com.microsoft.skype.teams,5.0.0,2026-06-01</string>
상태 로직:
✅ 녹색(Ready) — 모든 앱이 설치되어 있고 최소 버전을 충족함
⚠️ 노란색(Warning) — 하나 이상의 앱을 업데이트해야 하지만 마감일이 지나지 않음
🔴 빨간색(Not Ready) — 하나 이상의 앱을 업데이트해야 하고 마감일이 지남
⏳ Pending — 앱 설치 진행 중(아래 Self Service 통합 참조)
Self Service 통합:
앱이 누락되었거나 오래된 경우 사용자는 Apps 타일의 "Update Apps" 버튼을 눌러 필요한 앱을 자동으로 설치하거나 업데이트할 수 있습니다. 워크플로는 다음과 같습니다.
- 사용자가 Apps 타일에서 "Update Apps" 버튼을 누름
- 누락/오래된 앱이 대기열에 추가된 상태로 Jamf Self Service 앱이 자동으로 열림
- Device Checker가 "Pending" 상태로 전환되고 2분 자동 새로 고침 타이머를 시작함
- 앱이 2분마다 자동으로 새로 고침되어 설치가 완료되었는지 확인함
- 모든 앱이 요구 사항을 충족하면 상태가 녹색으로 돌아감
요구 사항: Jamf Self Service가 디바이스에 설치되어 있어야 하고, 앱이 Self Service에서 사용 가능하며 디바이스로 범위가 지정되어 있어야 하며, Jamf Pro에서 앱에 "Display app in Self Service after it is installed"가 선택되어 있어야 합니다.
참고:
- Bundle ID는 정확히 일치해야 함(대소문자 구분)
- 버전 비교는 시맨틱 버전 관리를 사용함(예:
2.5.0>2.4.9) - 마감일은 선택 사항임(필요하지 않으면 비워 둠:
AppName,bundleID,minVersion,)
전원(배터리 수준)
구성 가능한 경고 및 심각 임계값으로 배터리 충전 수준을 모니터링합니다.
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-power-source-enabled |
String | YES |
배터리 수준 모니터링 타일 활성화 |
device-checker-power-source-warning |
Integer | 25 |
경고 임계값(백분율) |
device-checker-power-source-critical |
Integer | 10 |
심각 임계값(백분율) |
예시:
<key>device-checker-power-source-enabled</key>
<string>YES</string>
<key>device-checker-power-source-warning</key>
<string>25</string>
<key>device-checker-power-source-critical</key>
<string>10</string>
상태 로직:
🔴 빨간색(Critical) — 배터리 ≤ 심각 임계값
⚠️ 노란색(Warning) — 배터리 ≤ 경고 임계값(단, > 심각)
✅ 녹색(Ready) — 배터리 > 경고 임계값
⚡ 충전 중 — 디바이스가 전원에 연결됨(충전 중에는 항상 녹색)
저장 용량
구성 가능한 경고 및 심각 임계값(사용된 백분율 기준)으로 사용 가능한 저장 공간을 모니터링합니다.
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-storage-enabled |
String | YES |
저장 공간 모니터링 타일 활성화 |
device-checker-storage-warning |
Integer | 75 |
경고 임계값(사용된 %) |
device-checker-storage-critical |
Integer | 90 |
심각 임계값(사용된 %) |
예시:
<key>device-checker-storage-enabled</key>
<string>YES</string>
<key>device-checker-storage-warning</key>
<string>75</string>
<key>device-checker-storage-critical</key>
<string>90</string>
상태 로직:
🔴 빨간색(Critical) — 사용된 저장 공간 ≥ 심각 임계값
⚠️ 노란색(Warning) — 사용된 저장 공간 ≥ 경고 임계값(단, < 심각)
✅ 녹색(Ready) — 사용된 저장 공간 < 경고 임계값
배터리 상태
배터리 상태를 모니터링하여 배터리 교체가 필요할 수 있는 디바이스를 식별합니다. 이 타일은 배터리 상태와 현재 충전 백분율을 표시합니다.
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-battery-enabled |
String | YES |
배터리 상태 모니터링 타일 활성화 |
예시:
<key>device-checker-battery-enabled</key>
<string>YES</string>
상태 로직:
✅ 녹색(Ready) — 배터리 상태가 "Normal" 또는 "Unsupported"
🔴 빨간색(Not Ready) — 배터리 상태가 "Service-Recommended" 또는 "Non-Genuine"
⚪ 회색(Unknown) — 배터리 상태가 "Unknown"이거나 배터리 데이터를 검색할 수 없음
상태 값:
- Normal — 배터리가 정상적으로 작동함(녹색)
- Service-Recommended — 배터리 용량이 저하되어 교체 권장(빨간색)
- Non-Genuine — 비 Apple 배터리 감지, 교체 권장(빨간색)
- Unsupported — 이 디바이스 모델에서 배터리 상태 모니터링을 사용할 수 없음(녹색, 충전 %만 표시)
- Unknown — iOS에서 아직 상태 데이터를 사용할 수 없음(회색, 충전 %만 표시)
타일 표시: 상태 색상 및 아이콘은 배터리 상태를 기반으로 합니다. 부제목은 문제가 있는 경우 배터리 상태 문제를 표시하고, 그렇지 않으면 현재 충전 백분율을 표시합니다. 세부 정보 보기는 충전 수준, 충전 상태, 저전력 모드, 배터리 상태, 권장 사항을 표시합니다.
참고:
- 배터리 상태 데이터는 Declarative Device Management(DDM)에서 제공됨
- 새 디바이스는 iOS가 상태 지표를 계산할 때까지 "Unknown"으로 표시될 수 있음(일반적으로 몇 번의 충전 주기 후)
- 충전 백분율은 항상 부제목 또는 세부 정보 보기에 표시됨
- 이 타일은 배터리 상태에 중점을 둠. 임계값이 있는 충전 수준 모니터링에는 전원 타일을 사용
열 상태
로컬 iOS API를 사용하여 디바이스 온도를 실시간으로 모니터링합니다(MDM 호출 불필요).
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-thermal-enabled |
String | YES |
열 상태 모니터링 타일 활성화 |
예시:
<key>device-checker-thermal-enabled</key>
<string>YES</string>
상태 로직:
✅ 녹색(Nominal) — 정상 작동 온도, 모든 기능이 정상적으로 작동함
⚠️ 노란색(Fair) — 약간 상승, 시스템이 프리페칭/인덱싱과 같은 백그라운드 작업을 연기함
🔴 빨간색(Serious) — 높은 온도, CPU/GPU 스로틀링 활성화, 프레임 속도가 30 FPS로 떨어질 수 있음
🔴 빨간색(Critical) — 디바이스가 심각하게 뜨거움, 상당한 스로틀링, 카메라/플래시/스피커가 비활성화될 수 있음, 종료 위험
사용 사례: 더운 환경(차량, 야외 작업)의 현장 디바이스, 집약적인 앱(비디오 녹화, AR)을 실행하는 사용자, 열 종료 전 사전 경고, 성능 스로틀링 이해.
참고: iOS ProcessInfo API를 통한 실시간 모니터링. API 호출이나 배터리 소모 없음. 열 상태가 변경되면 즉시 업데이트됨.
성능(메모리 및 CPU)
구성 가능한 임계값으로 로컬 iOS API를 사용하여 디바이스 메모리 부하 및 CPU 사용량을 모니터링합니다.
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-performance-enabled |
String | YES |
성능 모니터링 타일 활성화 |
device-checker-memory-warning |
Integer | 70 |
메모리 경고 임계값(사용된 %) |
device-checker-memory-critical |
Integer | 85 |
메모리 심각 임계값(사용된 %) |
device-checker-cpu-warning |
Integer | 60 |
CPU 경고 임계값(사용량 %) |
device-checker-cpu-critical |
Integer | 80 |
CPU 심각 임계값(사용량 %) |
예시:
<key>device-checker-performance-enabled</key>
<string>YES</string>
<key>device-checker-memory-warning</key>
<string>70</string>
<key>device-checker-memory-critical</key>
<string>85</string>
<key>device-checker-cpu-warning</key>
<string>60</string>
<key>device-checker-cpu-critical</key>
<string>80</string>
상태 로직:
🔴 빨간색(Critical) — 메모리 또는 CPU ≥ 심각 임계값
⚠️ 노란색(Warning) — 메모리 또는 CPU ≥ 경고 임계값(단, < 심각)
✅ 녹색(Ready) — 메모리와 CPU 모두 < 경고 임계값
참고: 타일이 표시될 때 5초마다 업데이트됨. 앱이 백그라운드에 있을 때 모니터링이 일시 중지됨(배터리 절약). 원격 API 호출 불필요 — 메모리는 os_proc_available_memory(), CPU는 host_statistics()를 통한 전적으로 로컬 모니터링.
네트워크 상태
WiFi, 이더넷, 셀룰러 연결 상태를 모니터링합니다.
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-wifi-enabled |
String | YES |
WiFi/이더넷 모니터링 타일 활성화(이더넷은 연결 시 자동 감지됨) |
device-checker-cellular-enabled |
String | NO |
셀룰러 모니터링 타일 활성화 |
device-checker-network-speed-enabled |
String | NO |
네트워크 세부 정보 보기에서 네트워크 속도 테스트 버튼 활성화 |
예시:
<key>device-checker-wifi-enabled</key>
<string>YES</string>
<key>device-checker-cellular-enabled</key>
<string>YES</string>
<key>device-checker-network-speed-enabled</key>
<string>YES</string>
네트워크 속도 테스트 세부 정보:
속도 테스트는 다운로드/업로드 속도와 지연 시간을 측정하는 온디맨드 진단 도구(테스트당 약 1015MB, 약 1520초 소요)입니다. 데이터 사용을 알리기 위해 셀룰러에서 테스트하기 전에 항상 경고가 표시됩니다. 결과는 정보 제공용일 뿐이며 디바이스 준비 상태에 영향을 미치지 않습니다. 사용 사례에는 연결을 확인하는 현장 작업자, 느린 성능 문제 해결, 대역폭 요구 사항 검증이 포함됩니다.
인터넷 연결 테스트(WiFi, 이더넷, 셀룰러)
단순 인터페이스 연결이 아닌 실제 인터넷 도달 가능성을 확인하는 경량 테스트입니다.
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-internet-connectivity-test-enabled |
String | NO |
모든 인터페이스에 대한 인터넷 연결 테스트 활성화 |
device-checker-internet-connectivity-test-endpoint |
String | http://captive.apple.com/hotspot-detect.html |
테스트 엔드포인트 URL(Apple 캡티브 포털 기본값) |
device-checker-internet-connectivity-test-timeout |
String | 3 |
요청 시간 초과(초, 1~10 범위) |
device-checker-internet-connectivity-test-cache-ttl |
String | 30 |
캐시 결과 유효 시간(초, 10~300 범위, 셀룰러는 최소 60초 사용) |
예시:
<key>device-checker-internet-connectivity-test-enabled</key>
<string>YES</string>
<key>device-checker-internet-connectivity-test-timeout</key>
<string>5</string>
<key>device-checker-internet-connectivity-test-cache-ttl</key>
<string>60</string>
작동 방식: Apple의 캡티브 포털 엔드포인트에 경량 HEAD 요청(약 200~500바이트)을 보냅니다. 인터페이스가 연결되거나 네트워크 세부 정보 보기가 열릴 때(캐시가 만료된 경우) 테스트가 자동으로 실행됩니다. 데이터 사용을 최소화하기 위해 결과가 WiFi/이더넷에서 30초, 셀룰러에서 최소 60초 동안 캐시됩니다. 네트워크 타일은 연결되었지만 인터넷이 감지되지 않으면 노란색/경고 상태를 표시합니다.
인터페이스별 상태 동작:
WiFi — 녹색: 인터넷이 확인된 상태로 연결됨. 노란색: 연결되었지만 인터넷 없음(캡티브 포털, 라우팅 문제). 빨간색: 연결되지 않음.
이더넷 — 녹색: 인터넷이 확인된 상태로 연결됨. 노란색: 연결되었지만 인터넷 없음(라우팅/방화벽 문제). 빨간색: 연결되지 않음.
셀룰러 — 녹색: 인터넷이 확인된 상태로 활성화됨. 노란색: 활성화되었지만 인터넷 없음(통신사 문제, 계정 문제). 빨간색: 사용할 수 없거나 비활성화됨.
데이터 사용량: 테스트당 약 200500바이트(속도 테스트의 약 1015MB 대비). 30초 캐시가 있는 WiFi/이더넷: 일반적으로 하루 100KB 미만 사용. 60초 캐시가 있는 셀룰러: 일반적으로 하루 50KB 미만 사용.
인터넷 연결 테스트 없는 상태 로직:
WiFi: ✅ 녹색(Connected) — WiFi에 연결됨. 🔴 빨간색(Not Connected) — WiFi에 연결되지 않음.
셀룰러: ✅ 녹색(Ready) — 셀룰러 데이터 사용 가능. ⚠️ 노란색(Warning) — 셀룰러 액세스 제한됨. 🔴 빨간색(Error) — 셀룰러 사용 불가.
Jamf Setup Extension Attribute
Jamf Pro 확장 속성에서 근무/비근무 상태를 표시합니다.
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-jamf-setup-ea-enabled |
String | NO |
Jamf Setup EA 타일 활성화 |
device-checker-jamf-setup-ea-name |
String | (비어 있음) | Jamf Pro의 확장 속성 이름 |
device-checker-jamf-setup-ea-on-duty-value |
String | (비어 있음) | "근무"를 나타내는 값 |
device-checker-jamf-setup-ea-off-duty-value |
String | (비어 있음) | "비근무"를 나타내는 값 |
예시:
<key>device-checker-jamf-setup-ea-enabled</key>
<string>YES</string>
<key>device-checker-jamf-setup-ea-name</key>
<string>Jamf Setup</string>
<key>device-checker-jamf-setup-ea-on-duty-value</key>
<string>On-duty</string>
<key>device-checker-jamf-setup-ea-off-duty-value</key>
<string>Off-duty</string>
상태 로직:
✅ 녹색(Ready) — EA 값이 근무 값과 일치함
⚠️ 노란색(Warning) — EA 값이 비근무 값과 일치함
⚪ 회색(Unknown) — EA를 찾을 수 없거나 값이 구성된 값과 일치하지 않음
참고: Jamf Pro에 사용자 지정 확장 속성이 필요합니다. 확장 속성은 Jamf Setup 또는 다른 방법으로 채워져야 합니다.
자동 새로 고침 스로틀링
백그라운드에서 돌아올 때 앱이 자동으로 새로 고침되는 빈도를 제어합니다.
| 키 | 유형 | 기본값 | 설명 |
|---|---|---|---|
device-checker-auto-refresh-threshold |
Integer | 300 |
자동 새로 고침 사이의 최소 초(범위: 60~3600, 또는 비활성화하려면 0) |
예시:
<key>device-checker-auto-refresh-threshold</key>
<string>300</string>
동작:
- 기본값(300초 / 5분): 사용자가 앱을 전환하고 5분 이내에 돌아오면 자동 새로 고침이 발생하지 않음
- 사용자 지정 임계값: 원하는 초로 설정(60~3600)
- 스로틀링 비활성화: 앱이 활성화될 때 항상 새로 고침하려면
0으로 설정
항상 새로 고침(스로틀링 우회): 앱 실행 후 첫 번째 활성화, 대기 상태일 때(2분마다 자동 새로 고침), 수동 새로 고침 버튼 누름, 대기 상태 중 타이머 만료.
대기 상태 동작: Apps 타일이 "Pending" 상태로 전환되면(사용자가 "Update Apps"를 누른 후), 자동 새로 고침 임계값 설정과 관계없이 앱이 필요한 모든 앱이 설치될 때까지 2분마다 디바이스 상태를 자동으로 확인합니다.
구성 예시
최소 구성(기본 설정)
빠른 테스트 또는 기본 배포에 적합합니다.
<dict>
<!-- Required keys (auto-populated) -->
<key>JPS_URL</key>
<string>$JPS_URL</string>
<key>JSSID</key>
<string>$JSSID</string>
<key>MANAGEMENTID</key>
<string>$MANAGEMENTID</string>
<key>OAUTH_AUTH_CODE</key>
<string>$OAUTH_AUTH_CODE</string>
<key>APP_CONFIG_REINSTALL_CODE</key>
<string>$APP_CONFIG_REINSTALL_CODE</string>
<key>APPJSSID</key>
<string>$APPJSSID</string>
<!-- Enable OS monitoring only -->
<key>device-checker-os-enabled</key>
<string>YES</string>
<key>device-checker-os-min-version</key>
<string>18.0</string>
</dict>
전체 구성
브랜딩, 여러 디바이스 상태 확인, 사용자 지정 임계값을 포함한 포괄적인 설정입니다.
<dict>
<!-- Required keys (auto-populated) -->
<key>JPS_URL</key>
<string>$JPS_URL</string>
<key>JSSID</key>
<string>$JSSID</string>
<key>MANAGEMENTID</key>
<string>$MANAGEMENTID</string>
<key>OAUTH_AUTH_CODE</key>
<string>$OAUTH_AUTH_CODE</string>
<key>APP_CONFIG_REINSTALL_CODE</key>
<string>$APP_CONFIG_REINSTALL_CODE</string>
<key>APPJSSID</key>
<string>$APPJSSID</string>
<!-- Branding -->
<key>device-checker-branding-image-url</key>
<string>https://yourcompany.com/logo.png</string>
<key>device-checker-branding-image-height</key>
<string>60</string>
<!-- OS Readiness -->
<key>device-checker-os-enabled</key>
<string>YES</string>
<key>device-checker-os-min-version</key>
<string>18.0</string>
<key>device-checker-os-deadline</key>
<string>2026-12-31</string>
<!-- App Readiness -->
<key>device-checker-apps-enabled</key>
<string>YES</string>
<key>device-checker-apps-list</key>
<string>Slack,com.tinyspeck.chatlyio,24.0.0,2026-06-01|Microsoft Teams,com.microsoft.skype.teams,5.0.0,2026-09-01</string>
<!-- Device Health Tiles -->
<key>device-checker-power-source-enabled</key>
<string>YES</string>
<key>device-checker-power-source-warning</key>
<string>30</string>
<key>device-checker-power-source-critical</key>
<string>15</string>
<key>device-checker-storage-enabled</key>
<string>YES</string>
<key>device-checker-storage-warning</key>
<string>70</string>
<key>device-checker-storage-critical</key>
<string>85</string>
<key>device-checker-battery-enabled</key>
<string>YES</string>
<key>device-checker-thermal-enabled</key>
<string>YES</string>
<key>device-checker-performance-enabled</key>
<string>YES</string>
<key>device-checker-memory-warning</key>
<string>75</string>
<key>device-checker-memory-critical</key>
<string>90</string>
<key>device-checker-cpu-warning</key>
<string>70</string>
<key>device-checker-cpu-critical</key>
<string>85</string>
<key>device-checker-wifi-enabled</key>
<string>YES</string>
<key>device-checker-cellular-enabled</key>
<string>NO</string>
<!-- Network Speed Test (optional - disabled by default) -->
<key>device-checker-network-speed-enabled</key>
<string>NO</string>
<!-- Internet Connectivity Test (optional - disabled by default) -->
<key>device-checker-internet-connectivity-test-enabled</key>
<string>NO</string>
<key>device-checker-internet-connectivity-test-endpoint</key>
<string>http://captive.apple.com/hotspot-detect.html</string>
<key>device-checker-internet-connectivity-test-timeout</key>
<string>3</string>
<key>device-checker-internet-connectivity-test-cache-ttl</key>
<string>30</string>
<!-- Jamf Setup EA -->
<key>device-checker-jamf-setup-ea-enabled</key>
<string>YES</string>
<key>device-checker-jamf-setup-ea-name</key>
<string>Device Status</string>
<key>device-checker-jamf-setup-ea-on-duty-value</key>
<string>Active</string>
<key>device-checker-jamf-setup-ea-off-duty-value</key>
<string>Spare Pool</string>
<!-- UI Options -->
<key>device-checker-alerts-url</key>
<string>https://status.yourcompany.com</string>
<key>device-checker-send-status-enabled</key>
<string>YES</string>
<key>device-checker-send-logs-enabled</key>
<string>NO</string>
<key>device-checker-status-tab-scrollable</key>
<string>NO</string>
<!-- Auto-Refresh (10 minutes) -->
<key>device-checker-auto-refresh-threshold</key>
<string>600</string>
</dict>
법적 고지
- 사용 계약: Application End User License Agreement
- 개인정보 처리방침: Jamf Privacy Policy