Moth 관리 API
Moth 서버는 서버 관리와 제어 작업을 위한 관리자용 API를 제공합니다. 이 API로 서버 설정을 변경하고 모니터링 작업을 수행할 수 있습니다.
관리자 API 소개
관리자 API는 서버 관리자를 위한 API로, 설정 조회, 수정, 삭제, 상태 제어, 모니터링 기능을 제공합니다. HTTP와 WebSocket 프로토콜을 모두 사용할 수 있습니다.
Protocol
http | https: HTTP/HTTPS로 API를 호출할 때 사용합니다.ws | wss: WebSocket 또는 보안 WebSocket으로 API를 호출할 때 사용합니다.
API 종류
Moth 서버의 관리자 API는 다음 두 가지 유형으로 나뉩니다.
| API | 기능 | 지원버전 |
|---|---|---|
/manager | 관리 기능(조회, 수정, 삭제, 작동 등)을 수행합니다. | |
/monitor | 미디어 클라이언트나 단순 모니터링(조회)을 수행합니다. |
Pathname
관리자 API 경로는 다음과 같습니다.
| API 종류 | 기능 | 지원버전 |
|---|---|---|
/manager/http/cmd | HTTP를 사용할 경우 | |
/manager/ws/cmd | 웹소켓(WebSocket)을 사용할 경우 |
Options
관리자 API 호출 시 다음 옵션을 설정할 수 있습니다.
| 옵션 | 동작 설명 | 사용방식 |
|---|---|---|
| op | 수행할 명령을 지정합니다. op=[show | set | run | add | delete | update | load | save | ping ] | |
| obj | 수행 명령어 대상을 지정합니다. obj=[session | channel | group | config] | |
| id | 특정 대상의 ID를 지정합니다. 일반적으로 <xid> 형식의 ID를 사용합니다. | |
| state | 대상에 적용할 상태를 지정합니다. state=[idle | using] | |
| opt | 대상의 세부 옵션을 지정합니다. [source | track | key | record | trans] | |
| value | 추가 값을 지정합니다. value=[ <number> | on | off] | |
| format | 반환 형식을 지정합니다. format=[text | json] |
사용 권한 인증
Moth 서버는 다음 두 가지 방식의 권한 인증을 제공합니다.
- 채널 사용 권한 인증
- 서버 관리 기능 사용 권한 인증
채널 사용 권한 인증은 API 사용 시 Stream key를 설정해 수행합니다. 서버 관리 기능은 Moth 서버에 설정된 key 값으로 인증 여부를 판단합니다.
예시는 다음과 같습니다.
-
채널 사용 권한 인증
/manager/http/cmd?format=json&obj=channel&op=set&key=<string> -
서버 관리 기능 사용 권한 인증
/manager/http/cmd?format=json&obj=channel&op=show&key=<string>
마무리
Moth 서비스 API와 관리자 API를 함께 사용하면 미디어 서비스를 구현하고 서버를 운영할 수 있습니다. 서비스 API는 데이터 송수신을, 관리자 API는 서버 설정과 운영 제어를 담당합니다.