Page optimized for desktop experience. Please use a desktop browser for best compatibility.

Get DME Health Status

This endpoint retrieves the last reported, complete health status of a DME. Each DME communicates a health status based on a frequency determined by Rev. Currently, this is every 60 seconds.

Customers implementing longitudinal comparisons should periodically call this endpoint.

GET
/api/v2/devices/dmes/{deviceId}/health-status

Path Parameters

Parameter Type Validations
deviceId string, required device Id of the DME to return health status for

Response Messages

successful response

{
"bootTime": "2020-09-28T17:44:46.654Z",
"systemTime": "2020-09-28T17:44:46.654Z",
"systemVersion": "string",
"fullVersion": "string",
"ipAddress": "string",
"natAddress": "string",
"hostname": "string",
"overallHealth": "Uninitialized",
"cpuUsagePercent": 0,
"cpuUsageHealth": "Uninitialized",
"rtmpServerVersion": "string",
"rtspCpuUsagePercent": 0,
"rtmpCpuUsagePercent": 0,
"mpsConnectionCount": 0,
"mpsThroughputBitsPerSec": 0,
"mpsThroughputPercent": 0,
"throughputHealth": "Uninitialized",
"multiProtocolIncomingConnectionsCount": 0,
"multiProtocolOutgoingConnectionsCount": 0,
"mpsMulticastStreamCount": 0,
"multiProtocolMaxCount": 0,
"rtpIncomingConnectionsCount": 0,
"rtpOutgoingConnectionsCount": 0,
"rtpMulticastConnectionsCount": 0,
"rtpConnectionsMaxCount": 0,
"iScsiEnabled": true,
"diskContentTotal": 0,
"diskContentUsed": 0,
"diskContentHealth": "Uninitialized",
"diskSystemTotal": 0,
"diskSystemUsed": 0,
"diskSystemHealth": "Uninitialized",
"physicalMemoryTotal": 0,
"physicalMemoryUsed": 0,
"swapMemoryUsed": 0,
"swapMemoryTotal": 0,
"memoryHealth": "Uninitialized",
"meshPeerTotalCount": 0,
"meshPeerReachableCount": 0,
"meshHealth": "Uninitialized",
"transratingActiveCount": 0,
"transratingMaxCount": 0,
"recordings": [
{
"id": "string",
"streamName": "string",
"startDate": "2020-09-28T17:44:46.654Z",
"duration": "string",
"status": "string"
}
],
"sslMediaTransfer": "string",
"stbConnectorEnabled": true,
"httpThroughputBitsPerSec": 0,
"httpConnectionCount": 0,
"throughputPhysicalBits": 0,
"meshStatistics": {
"clientHttpRequests": 0,
"clientHttpHits": 0,
"clientHttpErrors": 0,
"clientHttpKbitsIn": 0,
"clientHttpKbitsOut": 0,
"clientHttpAllMedianSvcTime": 0,
"clientHttpMissMedianSvcTime": 0,
"serverAllRequests": 0,
"serverAllErrors": 0,
"serverAllKbitsIn": 0,
"serverAllKbitsOut": 0,
"serverHttpRequests": 0,
"serverHttpErrors": 0,
"serverHttpKbitsIn": 0,
"serverHttpKbitsOut": 0,
"cpuTime": 0,
"hitsPercentageAllRequests": 0,
"hitsPercentageBitsSent": 0,
"memoryHitsPercentageHitRequests": 0,
"diskHitsPercentageHitRequests": 0,
"storageSwapSize": 0,
"storageSwapPercentageUsed": 0,
"storageMemSize": 0,
"storageMemPercentageUsed": 0,
"cacheMissesRatio": 0,
"cacheHits": 0,
"squidCpuUsage": 0
},
"lockdownStatus": "Disabled",
"lockdownStatusDetail": "string",
"hlsDistributions": [
{
"streamId": "string",
"streamName": "string",
"mediaId": "string",
"mediaName": "string",
"mediaSource": "string",
"mediaSourceType": "string",
"status": "string",
"statusDetail": "string",
"sourceUrl": "string",
"playlistsReceived": 0,
"segmentsReceived": 0,
"eventPlaylistReceived": 0,
"eventSegmentsReceived": 0,
"eventPlaylistFetchErrors": 0,
"eventSegmentFetchErrors": 0,
"streamReconnects": 0,
"enableMulticast": true,
"enableReflection": true,
"automaticMulticast": "HighBitrate",
"eventStarted": "2020-09-28T17:44:46.654Z"
}
],
"serviceStatus": {},
"numWorkers": 0,
"workers": [
{
"workerNum": 0,
"numRequests": 0,
"hitsPercentage": 0,
"restarts": 0
}
],
"streamStatus": {
"mpsStreams": [
{
"status": "string",
"packetsDropped": 0,
"name": "string",
"packetsOk": 0,
"uptime": 0,
"type": "string",
"farIp": "string",
"farPort": 0,
"nearPort": 0
}
],
"hlsStreams": [
{
"masterStatus": "string",
"cdn": {
"isActive": 0,
"pushUrl": "string"
},
"subStreams": [
{
"url": "string",
"name": "string"
}
],
"masterUrl": "string",
"groupName": "string",
"isMasterSub": 0
}
],
"passthroughStreams": [
{
"reflectionData": {
"playbackUrlPaths": [
{
"type": "string",
"path": "string"
}
]
},
"eventConfig": {
"duration": 0,
"mediaId": "string",
"mediaSourceType": "string",
"enableReflection": true,
"mediaName": "string",
"autoMulticastConfig": {
"packetSize": 0,
"address": "string",
"port": 0,
"rendition": "string"
},
"enableMulticast": true,
"sourceUrl": "string",
"streamName": "string",
"streamId": "string",
"mediaSource": "string"
},
"multicastPushData": {
"rates": [
{
"bitrate": 0,
"segmentsSent": 0,
"state": "string",
"playlistsSent": 0,
"playbackUrl": "string"
}
]
},
"type": "string",
"originData": {
"sourceUrls": [
{
"url": "string",
"type": "string"
}
],
"currentStatus": {
"stateStartTime": 0,
"stateElapsedTime": 0,
"state": "string",
"eventElapsedTime": 0,
"statsEventTotal": {
"segmentsFailed": 0,
"playlistsFailed": 0,
"playlistsReceived": 0,
"segmentsReceived": 0
},
"statsWindowed": {
"segmentsFailed": 0,
"playlistsFailed": 0,
"playlistsReceived": 0,
"segmentsReceived": 0
},
"eventStartTime": 0,
"statsStateTotal": {
"segmentsFailed": 0,
"playlistsFailed": 0,
"playlistsReceived": 0,
"segmentsReceived": 0
}
}
}
}
]
}
}

Data elements are STRING and mirror the statuses provided within the DME VBadmin UI – unless otherwise noted.

Results include the following:

  • hlsDistributions:  A collection of generated HLS streams.
  • recordings:  A collection of ongoing or completed recordings within the DME.  (DME must be selected as a recording DME on Rev to generate recordings.)
  • serviceStatus: A collection of services running on the DME, status, memory usage and start time.  These are linux services, so “active (running)” is the desired status.  This collection also includes a general ‘servicesHealth’ entry which is an aggregate status (Normal, Warning, Alert) of the services.
  • streamStatus: A collection of streams (corresponding the streams on the MSP Connections DME page) with collections for: passthroughStreams, hlsStream, and mpsStreams.  Each set of collections has different attributes for each stream.
  • For general data reporting, the DME provides for the following name/value pairs (with examples for illustration):
    • For general timing, versioning, and health, the DME provides system timing, versions, and overallHealth.  Note that the bootTime does not represent the start time of services which may vary during the execution of the DME.
      • “bootTime”: “2020-09-22T17:02:00Z”
      • “systemTime”: “2020-09-24T04:02:19-0400”
      • “systemVersion”: “3.24.0 cent7 09/22/2020 03:08 PM Build(93)”
      • “rtmpServerVersion”: “3.24.0 Build 0159”
      • “overallHealth”: “Normal”
    • DME reports a number of data elements that characterize the networking setup and throughput.
      • “hostname”: “chernabog.lab.vbrick.com”
      • “ipAddress”: “10.10.7.235”
      • “natAddress”: “0.0.0.0”
      • “httpThroughputBitsPerSec”: “1174.167552”
      • “throughputBytesPerSec”: “1895328.8902”
      • “throughputHealth”: “Normal”
      • “throughputPercent”: “0.72”
      • “throughputPhysicalBits”: “1607891088”
      • “sslMediaTransfer”: “1”
    • DME reports aggregrated cpuUsageHealth and cpuUsagePercent as a snapshot of the cpu load, and also includes specific services cpu usage too.  Please see DME documentation for guidance of these measures.
      • “cpuUsageHealth”: “Normal”
      • “cpuUsagePercent”: “8.65”
      • “rtmpCpuUsagePercent”: “2.65”
      • “rtspCpuUsagePercent”: “0.00”
    • The DME reports storage/disk health for both the system (OS) disk and the content disk.  The content disk maintains the cache, swap, recordings, HLS generation, and any downloaded content.
      • “diskContentHealth”: “Normal”
      • “diskContentTotal”: “238347”
      • “diskContentUsed”: “71067”
      • “diskSystemHealth”: “Normal”
      • “diskSystemTotal”: “23052”
      • “diskSystemUsed”: “2274”
      • “iscsiUsage”: “iSCSI Disabled”
    • The DME reports memory for both physical (RAM allocated to machine/VM) and swap. Please see DME documentation for guidance of these measures.
      • “physicalMemoryTotal”: “3696”
      • “physicalMemoryUsed”: “1037”
      • “swapMemoryTotal”: “4095”
      • “swapMemoryUsed”: “0”
      • “memoryHealth”: “Normal”
    • The DME Mesh is status is reported.
      • “meshHealth”: “Normal”
      • “meshPeerReachableCount”: “1”
      • “meshPeerTotalCount”: “3”
      • “hasMeshStats”: “false”
    • The DME provides several data elements on the included streaming servers (Multiprotocol Server (MPS), RTP Server):
      • “connectionCount”: “7”
      • “mpsConnectionCount”: “7”
      • “mpsMulticastStreamCount”: “2”
      • “mpsThroughputBitsPerSec”: “15162631.1216”
      • “mpsThroughputPercent”: “0.72”
      • “multiProtocolMaxCount”: “92”
      • “rtmpIncomingConnectionsCount”: “4”
      • “rtmpOutgoingConnectionsCount”: “3”
      • “rtpConnectionsMaxCount”: “87”
      • “rtpIncomingConnectionsCount”: “0”
      • “rtpMulticastConnectionsCount”: “0”
      • “rtpOutgoingConnectionsCount”: “0”
    • The DME feature (sometimes) referred to as Ultimate Fallback is when the DME cannot find content on it’s local share, nor within the DME Mesh.  At that point, this is requested content that will be playedback from Rev for the player, but will also be included in the dmeRequestedMedia collection.  Rev will re-preposition this content to both pre-positioned DMEs as well as the reporting DME.
      • “dmeRequestedMedia”: []
    • The Stream Authentication feature (controlled via Rev) is reported in a status and detail variables.
      • “LockdownStatus”: “Disabled”
      • “LockdownStatusDetail”: “Disabled”
    • The DME also provides status if it is enabled for Vbrick Set-Top-Box management (legacy, and not common)
      • “STBConnectorEnabled”: “False”
    • Stream Conversion, or transrating, activities and limits are reported.
      • “transratingActiveCount”: “0”
      • “transratingMaxCount”: “3”

Unauthorized error

Internal server error