Table of Contents

API : IPTV : Device : Log : Dashboard : Noisy Messages

Introduction

This request will return the top 10 most frequent log message patterns in the selected period, ordered by occurrence count (most frequent first). Messages are fuzzy-grouped: variable parts such as timestamps, ids, tokens, IP and MAC addresses and large numbers are replaced with placeholders, so that two messages differing only in those parts collapse into the same row. Each entry carries the normalized pattern, an example of a raw message that matched it, the occurrence total and its share for the period, and the device type that produced most of those messages. The result may optionally be scoped to a single customer and/or a single device type.

Request

URL https://api.telecomx.dk/iptv/device/log/dashboard/noisymessages
Method GET
Access level RESELLER_ADMIN with employee feature TV
ADMIN
Query from [required] Start of the period. Normalized to the start of the day (00:00:00.000) in server local time.
to [required] End of the period. Normalized to the end of the day (23:59:59.999) in server local time. Must be on or after from.
customerId [optional] Limit the result to a single customer (id of the customer).
type [optional] Limit the result to a single device type. One of: STB, IOS, ANDROID, ANDROIDTV, APPLETV, WEB.

Query example

https://api.telecomx.dk/iptv/device/log/dashboard/noisymessages?from=2020-01-01T00:00:00.000Z&to=2020-01-07T23:59:59.999Z&customerId=12345678901234567890ABCD&type=STB

Response

A JSON array of up to 10 message patterns, ordered by occurrence count (most frequent first).

Array item
[].pattern String Normalized message template. Variable parts are replaced with placeholders: <DATETIME>, <DATE>, <TIME>, <UUID>, <JWT>, <MAC>, <IP>, <ID>, <TOKEN> and <N>.
[].exampleMessage String An example raw (un-normalized) message that matched the pattern.
[].total Number Number of logged events matching the pattern in the period.
[].totalPercentage Number The pattern's share of all fetched messages in the period, as a percentage rounded to two decimals.
[].topType String The device type that produced the most of these messages (STB, IOS, ANDROID, ANDROIDTV, APPLETV or WEB).
[].topTypeTotal Number Number of matching events produced by topType.

Note that properties holding no value may be omitted from the object.

Example

[
  {
    "pattern": "Playback failed for https://streamer23.powernet.tv/18/tracks-a1/seg-<N>-<N>.m4v?token=<ID>&t=<N>",
    "exampleMessage": "Playback failed for https://streamer23.powernet.tv/18/tracks-a1/seg-1587010756-516860.m4v?token=5e9ea253e6fa7c034c464c65&t=443719712",
    "total": 1284,
    "totalPercentage": 54.43,
    "topType": "STB",
    "topTypeTotal": 902
  },
  {
     ...
  }
]

Errors

Error code Message Description
422 invalid_data Invalid or missing query parameter (e.g. bad date, or from after to)
403 access_denied Insufficient access level
500 internal_error <Unspecified>