Event Specification
Event Log 파일
Event Monitoring을 활성화 하면 Event Configuration에서 지정한 디렉로리에 events.log
로 Event Log 파일이 생성되며 events.log.YYYYMMDD
형식으로 Daily rolling이 됩니다.
Event Log 파일 예제
{"time":"2025-03-26T05:21:46.315+00:00","level":"Info","category":"StreamEvent","type":"StreamCreated","sourceId":"#default#app/push_rtmp","summary":"Stream created. Id: 103, StreamType: Rtmp, SourceUrl: TCP://172.17.0.1:44004"}
{"time":"2025-03-26T05:21:46.316+00:00","level":"Info","category":"StreamEvent","type":"StreamPrepared","sourceId":"#default#app/push_rtmp","summary":"Stream prepared. Id: 103, StreamType: Rtmp, SourceUrl: TCP://172.17.0.1:44004","snapshot":{"createdTime":"2025-03-26T05:21:46.315+00:00","name":"push_rtmp","sourceType":"Rtmp","sourceUrl":"TCP://172.17.0.1:44004","tracks":[{"id":0,"name":"Video","type":"Video","video":{"bitrate":"2500000","bitrateAvg":"0","bitrateConf":"2500000","bitrateLatest":"128503","bypass":false,"codec":"H264","deltaFramesSinceLastKeyFrame":0,"framerate":30.0,"framerateAvg":0.0,"framerateConf":30.0,"framerateLatest":0.0,"hasBframes":false,"height":1080,"keyFrameInterval":1.0,"keyFrameIntervalAvg":1.0,"keyFrameIntervalConf":0.0,"keyFrameIntervalLatest":0.0,"width":1920}},{"audio":{"bitrate":"160000","bitrateAvg":"0","bitrateConf":"160000","bitrateLatest":"-795170153","bypass":false,"channel":2,"codec":"AAC","samplerate":48000},"id":1,"name":"Audio","type":"Audio"},{"id":2,"name":"Data","type":"Data"}]}}
{"time":"2025-03-26T05:21:46.319+00:00","level":"Info","category":"StreamEvent","type":"PushPublishingStarted","sourceId":"#default#app/push_rtmp","summary":"PushPublishing started. Id: JwW9AM, Protocol: rtmp, Url: rtmp://192.168.0.234:52935/app/pushedRtmp, StreamKey: ","snapshot":{"app":"app","createdTime":"2025-03-26T05:21:46.319+00:00","finishTime":"1970-01-01T00:00:00.000+00:00","id":"JwW9AM","isConfig":true,"protocol":"rtmp","sentBytes":0,"sentTime":0,"sequence":0,"startTime":"1970-01-01T00:00:00.000+00:00","state":"ready","stream":{"name":"push_rtmp","trackIds":[],"variantNames":["video_h264_1080p","aac_audio"]},"totalsentBytes":0,"totalsentTime":0,"url":"rtmp://192.168.0.234:52935/app/pushedRtmp","vhost":"default"}}
{"time":"2025-03-26T05:21:47.114+00:00","level":"Info","category":"StreamEvent","type":"StreamCreated","sourceId":"#default#app/pushedRtmp","summary":"Stream created. Id: 104, StreamType: Rtmp, SourceUrl: TCP://172.17.0.1:48218"}
{"time":"2025-03-26T05:21:47.129+00:00","level":"Info","category":"StreamEvent","type":"StreamPrepared","sourceId":"#default#app/pushedRtmp","summary":"Stream prepared. Id: 104, StreamType: Rtmp, SourceUrl: TCP://172.17.0.1:48218","snapshot":{"createdTime":"2025-03-26T05:21:47.114+00:00","name":"pushedRtmp","sourceType":"Rtmp","sourceUrl":"TCP://172.17.0.1:48218","tracks":[{"id":0,"name":"Video","type":"Video","video":{"bitrate":"4906000","bitrateAvg":"0","bitrateConf":"4906000","bitrateLatest":"1059802151","bypass":false,"codec":"H264","deltaFramesSinceLastKeyFrame":0,"framerate":30.0,"framerateAvg":0.0,"framerateConf":30.0,"framerateLatest":0.0,"hasBframes":false,"height":1080,"keyFrameInterval":0.0,"keyFrameIntervalAvg":0.0,"keyFrameIntervalConf":0.0,"keyFrameIntervalLatest":0.0,"width":1920}},{"audio":{"bitrate":"125000","bitrateAvg":"0","bitrateConf":"125000","bitrateLatest":"1059802151","bypass":false,"channel":2,"codec":"AAC","samplerate":48000},"id":1,"name":"Audio","type":"Audio"},{"id":2,"name":"Data","type":"Data"}]}}
Event Log JSON
Event Log는 Event의 정보를 JSON
형태로 기록하며, 각 필드의 의미는 다음과 같습니다:
time
N
Event 가 발생한 시간을 ISO 8601 포맷으로 기록합니다.
level
N
Event의 레벨을 기록합니다.
category
N
Event의 대분류를 기록합니다. 대분류로는 Server Events
, Virtual Host Events
, Application Events
, Stream Events
, Rest API Call Events
, Access Control Events
가 있습니다.
type
N
sourceId
N
Event를 발생시킨 소스의 ID를 기록합니다. 소스의 타입은 Server
, Virtual Host
, Application
, Stream
이 있습니다.
summary
N
Event의 내용을 한 줄로 요약해 기록합니다.
cause
Y
특정 Event의 Event 발생 원인을 기록합니다.
snapshot
Y
특정 Event 발생 시점의 상세한 정보를 JSON
형식으로 기록합니다.
Event Level
Event는 심각도에 따라 다음과 같은 레벨로 분류됩니다.
Trace
기능 동작의 상세한 흐름을 확인하기 위한 Event입니다.
Debug
기능 동작 및 상태 변경에 대한 상세 정보를 확인하기 위한 Event입니다.
Info
일반적인 기능 동작 및 상태 변경시 발생하는 Event (대부분의 Event)입니다.
Warning
오류 상황이기는 하지만, 기능 동작에 영향을 미치지는 않은 Event입니다.
Error
심각한 문제나 기능 오작동 시 발생하는 Event입니다.
Event Source ID
Event를 발생시킨 소스의 출처를 확인 할 수 있는 URI
형식의 ID입니다. 소스의 타입별로 다음과 같이 ID의 형태가 달라 질 수 있습니다:
Server
OvenMediaEngine의 Server ID가 기록됩니다.
예:
6add8be3-181f-4c4b-bc4e-xxxxxxxxxxxx
Virtual Host
Virtual Host의 이름이 기록됩니다.
예:
default
Application
#{virtual_host_name}#{app_name}
형식으로 기록됩니다.
예:
#default#app
Stream
#{virtual_host_name}#{app_name}/{stream_name}
형식으로 기록됩니다.
예:
#default#app/stream
Event Category 및 Type
Event Log는 카테고리와 타입으로 분류됩니다.
서버 이벤트 (ServerEvent
)
ServerEvent
)ServerStarted
Server 시작 (Server 이름, Server 버전)
Info
가상호스트 세부 정보
InternalQueueCongestion
내부 큐 혼잡 (발생한 큐 정보)
지원 버전: 0.18.1.2+
Info
N/A
가상호스트 이벤트 (HostEvent
)
HostEvent
)HostCreated
새 Virtual Hsot 생성 (Virtual Host 이름, distribution 이름)
Info
Virtual Host 세부 정보
HostDeleted
Virtual Hsot 삭제 (삭제된 Virtual Host 이름, distribution 이름)
Info
N/A
애플리케이션 이벤트 (AppEvent
)
AppEvent
)AppCreated
새 Application 생성 (Application 이름)
Info
Application 세부 정보
AppDeleted
Application 삭제 (삭제된 Applicaiton 이름)
Info
N/A
스트림 이벤트 (StreamEvent
)
StreamEvent
)StreamCreated
새 Stream 생성 (Stream ID, 타입, 미디어 소스)
Info
N/A
StreamPrepared
Stream 준비 완료 (Stream ID, 타입, 미디어 소스)
Info
Stream 세부정보
StreamDeleted
Stream 삭제 (Stream ID, 타입, 미디어 소스)
Info
N/A
StreamCreationFailed
(DuplicatedStreamName
)
중복된 Stream 이름으로 인한 Stream 생성 실패 (중복된 Stream 이름)
Error
N/A
AbnormalStreamDetected
(BFrameDetected
)
B-Frame 감지 (Track 정보)
Warning
Track 정보
AbnormalStreamDetected
(AbnormalIncreasedTimestamp
)
Input Stream의 Timestamp 이상 (Track 정보)
Warning
Track 정보
AbnormalStreamDetected
(AbnormalFpsDetected
)
Input Stream의 Framerate 이상 (Input Stream Framerate, Track 정보)
지원 버전: 0.18.1.2+
Warning
Track 정보
AbnormalStreamDetected
(LongKeyFrameIntervalDetected
)
Input Stream에서 4초 이상의 Keyframe Interval 탐지 (Track 정보)
지원 버전: 0.18.1.2+
Warning
Track 정보
ScheduledChannelCreated
Scheduled Channel 생성 (sch
파일 경로)
Info
Scheduled Channel 정보
ScheduledChannelUpdated
Scheduled Channel 업데이트 (sch
파일 경로)
Info
Scheduled Channel 정보
ScheduledChannelDeleted
Scheduled Channel 삭제 (sch
파일 경로)
Info
N/A
ScheduledChannelItemChanged
Scheduled Channel 아이템 변경 (프로그램, 일정, 아이템 정보, Fallback 여부)
Info
N/A
ScheduledChannelPlaybackError
(FailedToPopPacket
)
Scheduled Channel 라이브 아이템 재생 시, Packet 수신 실패 (프로그램, 일정, 아이템 정보, Fallback 여부)
지원 버전: 0.18.1.2+
Warning
N/A
MultiplexChannelCreated
Multiplex Channel 생성 (mux
파일 경로)
Info
Multiplex Channel 정보
MultiplexChannelUpdated
Multiplex Channel 업데이트 (mux
파일 경로)
Info
Multiplex Channel 정보
MultiplexChannelDeleted
Multiplex Channel 삭제 (mux
파일 경로)
Info
N/A
RecordingStarted
Recording 시작 (Recording ID, Recording 파일 경로)
Info
Recording 정보
RecordingStopped
Recording 중지 (Recording ID, Recording 파일 경로)
Info
Recording 정보
PushPublishingStarted
Push Publishing 시작 (Pus ID, 프로토콜, 재송출 URL)
Info
Push 정보
PushPublishingStopped
Push Publishing 중지 (Push ID, 프로토콜, 재송출 URL)
Info
Push 정보
HLSDumpStarted
HLS Dump 시작 (Dump ID, Dump 저장 경로)
Info
Dump 정보
HLSDumpStopped
HLS Dump 중지 (Dump ID, Dump 저장 경로)
Info
Dump 정보
REST API 이벤트 (RestApiEvent
)
RestApiEvent
)RestApiRequested
REST API 요청 (HTTP 버전, 메서드, 경로, 원격 주소, RequestID
)
Info
요청 본문
RestApiResponded
REST API 응답 (응답 상태 코드, RequestID
)
Info (오류 시 Error)
응답 본문
접근 제어 이벤트 (AccessControlEvent
)
AccessControlEvent
)VerifyingSignedPolicyFailed
Signed Policy 검증 실패 (요청 URL, 원격 주소, 오류 메시지)
Error
N/A
VerifyingAdmissionWebhooksFailed
Admission Webhooks 검증 실패 (요청 URL, 원격 주소, 오류 메시지)
Error
응답 본문, N/A
Last updated