Данное руководство описывает структуру логов системы Ринго, связанных с регистрацией устройств через MDM и установкой агента. Вы узнаете, как находить ключевые события в логах, определять моменты успешной регистрации и снятия устройств с учёта, а также сопоставлять данные с требованиями аудита.
Процесс регистрации устройства в Ринго проходит следующие этапы:
/mdm/enrollAuthenticate → /mdm/checkinTokenUpdate → /mdm/checkin (MDM enrollment завершён)Расположение в контейнере: logs/backend.log
Формат записи:
HH:mm:ss DD-MM-YYYY | backend | <CONTEXT> | <LEVEL> | <MESSAGE>
или для системных событий (без контекста):
HH:mm:ss DD-MM-YYYY | backend | <LEVEL> | <MESSAGE>
Пример:
15:48:45 03-12-2025 | backend | MdmService | info | Apple MDM command queued [UDID: 5f494682-9863-5182-bb40-b501b8acc4d8; Command type: DeviceInformation]
Расположение: logs/backend.log (в том же файле)
Формат: Apache Combined Log Format (с префиксом времени)
15:48:44 03-12-2025 | backend | info | 46.229.251.209 - - [03/Dec/2025:15:48:44 +0000] "PUT /mdm/checkin HTTP/1.1" 200 2 "-" "MDM-OSX/1.0 mdmclient/1879"
| Контекст | Описание |
|---|---|
MdmService |
MDM операции (регистрация, команды) |
MdmController |
HTTP-обработка MDM запросов |
AgentService |
Операции агента |
AgentGateway |
WebSocket-подключения агента |
DevicesListener |
Обработка событий устройств |
| Событие в логах | Тип | Значение для аудита |
|---|---|---|
mdm.Authenticate |
MDM | Начало процесса регистрации |
mdm.TokenUpdate |
MDM | Получен push-токен (промежуточный этап) |
device.enroll.mdm |
MDM | Успешная регистрация MDM – устройство готово принимать команды |
mdm.CheckOut |
MDM | Устройство снято с управления |
mdm.Connect |
MDM | Обычное взаимодействие (после регистрации) |
agent.connect |
Agent | Агент подключился к серверу |
device.enroll.agent |
Agent | Успешная регистрация агента (для macOS) |
agent.disconnect |
Agent | Агент отключился |
Лог HTTP-запроса:
15:48:25 03-12-2025 | backend | info | 46.229.251.209 - - [03/Dec/2025:15:48:25 +0000] "POST /mdm/enroll/profile HTTP/1.1" 200 5528 "-" "mdmclient/1879 CFNetwork/3860.100.1 Darwin/25.0.0"
Описание: Устройство устанавливает профиль MDM через OTA (Over-The-Air).
Лог события:
15:48:41 03-12-2025 | backend | info | Emit event (mdm.event) with data: [udid: 5f494682-9863-5182-bb40-b501b8acc4d8; event id: 1ed5e923-248a-436c-9313-c4b1acb953e5; topic mdm.Authenticate; status: null]
Лог HTTP-запроса:
15:48:41 03-12-2025 | backend | info | 46.229.251.209 - - [03/Dec/2025:15:48:41 +0000] "PUT /mdm/checkin HTTP/1.1" 200 2 "-" "MDM-OSX/1.0 mdmclient/1879"
Описание: Первичная аутентификация устройства в системе MDM.
Лог события:
15:48:44 03-12-2025 | backend | info | Emit event (mdm.event) with data: [udid: 5f494682-9863-5182-bb40-b501b8acc4d8; event id: 795d96ea-d66c-49bd-a9bd-7391a9f0abcf; topic mdm.TokenUpdate; status: null]
Лог HTTP-запроса:
15:48:44 03-12-2025 | backend | info | 46.229.251.209 - - [03/Dec/2025:15:48:44 +0000] "PUT /mdm/checkin HTTP/1.1" 200 2 "-" "MDM-OSX/1.0 mdmclient/1879"
Описание: Устройство отправило токен для push-уведомлений. После этого события система выполняет финальную регистрацию.
Лог события:
15:48:44 03-12-2025 | backend | info | Emit event (device.enroll.mdm) with data: {"udid":"5f494682-9863-5182-bb40-b501b8acc4d8"}
Это ключевое событие для аудита
Событиеdevice.enroll.mdmфиксирует момент, когда устройство полностью зарегистрировано в MDM и готово принимать команды управления.
Лог:
15:48:45 03-12-2025 | backend | MdmService | info | Apple MDM command queued [UDID: 5f494682-9863-5182-bb40-b501b8acc4d8; Command type: SecurityInfo]
15:48:45 03-12-2025 | backend | MdmService | info | Apple MDM command queued [UDID: 5f494682-9863-5182-bb40-b501b8acc4d8; Command type: DeviceInformation]
15:48:45 03-12-2025 | backend | MdmService | info | Apple MDM command queued [UDID: 5f494682-9863-5182-bb40-b501b8acc4d8; Command type: InstalledApplicationList]
Описание: После успешной регистрации система автоматически запрашивает информацию об устройстве.
Лог события:
15:48:59 03-12-2025 | backend | info | Emit event (agent.connect) with data: {"last_running_command":null,"udid":"5f494682-9863-5182-bb40-b501b8acc4d8","remote_address":"46.229.251.209"}
Дополнительный лог:
15:48:58 03-12-2025 | backend | AgentGateway | info | Agent connected, udid: 5f494682-9863-5182-bb40-b501b8acc4d8
Описание: Агент Ринго установлен и подключился к серверу.
Лог события:
15:49:14 03-12-2025 | backend | info | Emit event (device.enroll.agent) with data: {"udid":"5f494682-9863-5182-bb40-b501b8acc4d8"}
Это ключевое событие для аудита macOS
Событиеdevice.enroll.agentфиксирует момент успешной установки и подключения агента.
Лог:
15:48:59 03-12-2025 | backend | AgentService | info | Queued command dcec2c00-1802-4060-945e-89a6cf9458f0
15:48:59 03-12-2025 | backend | AgentService | info | Started command dcec2c00-1802-4060-945e-89a6cf9458f0
15:49:14 03-12-2025 | backend | AgentService | info | Completed command dcec2c00-1802-4060-945e-89a6cf9458f0
Лог события:
14:40:00 03-12-2025 | backend | info | Emit event (mdm.event) with data: [udid: 5f494682-9863-5182-bb40-b501b8acc4d8; event id: evt-003; topic mdm.CheckOut; status: null]
Описание: Пользователь удалил MDM-профиль с устройства. Устройство снято с управления.
Лог события:
15:47:53 03-12-2025 | backend | info | Emit event (agent.disconnect) with data: {"udid":"5f494682-9863-5182-bb40-b501b8acc4d8"}
Дополнительный лог:
15:47:53 03-12-2025 | backend | AgentGateway | info | Disconnected: 5f494682-9863-5182-bb40-b501b8acc4d8, reason: transport close
UDID – уникальный идентификатор устройства Apple. В логах могут встречаться в формате udid: <значение>, "udid":"<значение>" и подобных.
MDM событие:
[udid: 5f494682-9863-5182-bb40-b501b8acc4d8; event id: 795d96ea-d66c-49bd-a9bd-7391a9f0abcf; topic mdm.TokenUpdate; status: null]
Agent событие (JSON формат):
{"udid":"5f494682-9863-5182-bb40-b501b8acc4d8","remote_address":"46.229.251.209"}
MDM команда:
Apple MDM command queued [UDID: 5f494682-9863-5182-bb40-b501b8acc4d8; Command type: DeviceInformation]
Формат: HH:mm:ss DD-MM-YYYY, например 15:48:44 03-12-2025
Ищите событие device.enroll.mdm:
15:48:44 03-12-2025 | backend | info | Emit event (device.enroll.mdm) with data: {"udid":"5f494682-9863-5182-bb40-b501b8acc4d8"}
Дата/время регистрации: 15:48:44 03-12-2025
Событие device.enroll.mdm означает, что устройство полностью зарегистрировано и готово принимать команды управления.
Ищите событие device.enroll.agent:
15:49:14 03-12-2025 | backend | info | Emit event (device.enroll.agent) with data: {"udid":"5f494682-9863-5182-bb40-b501b8acc4d8"}
Дата/время регистрации агента: 15:49:14 03-12-2025
| Этап | Признаки в логах |
|---|---|
| До регистрации | topic mdm.Authenticate, HTTP-запросы к /mdm/enroll/profile |
| Промежуточный этап | topic mdm.TokenUpdate (получен токен, но регистрация ещё не завершена) |
| Момент регистрации MDM | device.enroll.mdm – устройство готово принимать команды |
| После регистрации MDM | MDM-команды (Apple MDM command queued), topic mdm.Connect |
| Момент регистрации агента | device.enroll.agent |
| После регистрации агента | Команды агента (Completed command) |
| Эндпоинт | Метод | Описание | Признак в логах |
|---|---|---|---|
/mdm/enroll |
GET | Получение профиля регистрации | "GET /mdm/enroll HTTP/1.1" |
/mdm/enroll/profile |
POST | OTA (Over-The-Air) enrollment | "POST /mdm/enroll/profile HTTP/1.1" |
/mdm/checkin |
PUT | Обработка Authenticate/TokenUpdate | "PUT /mdm/checkin HTTP/1.1" |
/mdm/connect |
PUT | Обработка команд MDM | "PUT /mdm/connect HTTP/1.1" |
Если нужна информация о привязке пользователя к устройству, можно искать в логах событие:
docker logs <container_name> 2>&1 | grep "device.user.linked"
Важно! Это событие фиксирует момент привязки пользователя администратором, а не саму регистрацию и не имеет отношения к регистрации устройств.
| Требование аудита | Как искать в логах | Как подтверждать |
|---|---|---|
| Дата/время регистрации | docker logs <container_name> 2>&1 \| grep "device.enroll.mdm" \| grep "<UDID>" |
Посмотреть timestamp в начале строки, например 15:48:44 03-12-2025 |
| Дата/время регистрации агента | docker logs <container_name> 2>&1 \| grep "device.enroll.agent" \| grep "<UDID>" |
|
| Дата/время снятия с учёта | docker logs <container_name> 2>&1 \| grep "mdm.CheckOut" \| grep "<UDID>" |
|
| Дата/время отключения агента | docker logs <container_name> 2>&1 \| grep "agent.disconnect" \| grep "<UDID>" |
Подобным образом можно посмотреть любое событие из указанных в данной инструкции, относящееся к устройству. Достаточно подставить строку события вместо device.enroll.mdm или device.enroll.agent.