Edgio

Log Fields (RTLD Rate Limiting)

Log data is reported as a JSON document. Log format determines whether log data identification information will be included and how the data is formatted. Each type of log format is described below.
  • JSON: This format includes:
    • Top-level name/value pairs that uniquely identify the set of log entries reported in the JSON document.
    • An object for each log entry associated with the current JSON document.
    View a sample log file.
  • JSON Array: This format generates a JSON document that contains an array of objects. Each object is a log entry associated with the current JSON document.
    View a sample log file.
  • JSON Lines: This format generates an invalid JSON document that contains an object on each line. Each object is a log entry associated with the current JSON document. This object is an exact match for an object contained by the Logs array.
    View a sample log file.
If log data uses either the JSON Array or JSON Lines log format, then it will not contain information that uniquely identifies a set of log data. If log data using one of these formats is delivered to a destination other than AWS S3, Azure Blob Storage, or Google Cloud Storage, then there is no way to check for gaps in sequence numbers when attempting to identify missing log data.
A log entry describes a HTTP/HTTPS request that was submitted to our CDN.

Top-Level Name/Value Pairs

Top-level name/value pairs are unavailable for the JSON Array and JSON Lines log formats. If you require this information, please choose the standard JSON log format.
Top-level name/value pairs are described below.
  • account_number (String): Customer AN. Identifies an environment by its legacy system-defined ID.
  • agent_id (String): Agent ID. Indicates the unique ID that identifies the Real-Time Log Delivery software agent that generated the log data.
  • datestamp (String): Date Stamp. Indicates the date on which the log data was generated.
    Syntax: YYYYMMDD
    Example: 20230412
  • logs (Array of objects): Log Data. Describes the log entries associated with the current JSON document. Each object contains a set of fields that describe the request/response for a single log entry.
  • profile_id (Integer): Profile ID. Identifies a RTLD profile by its system-defined ID.
  • seq_num (Integer): Sequence Number. Indicates the sequential number that identifies the order in which the log data was generated by the software agent identified by the agent_id field.
  • service (String): Service. This field always reports rl.

logs Array

The logs array contains an object for each log entry associated with the current JSON document. Each log entry describes a request to our CDN via the following fields:
  • account_number (String): Customer AN. (Category: General) Identifies an environment by its legacy system-defined ID.
  • client_city (String): City Name. (Category: Client Geography) Indicates the city from which the request originated.
  • client_country_code (String): Country Code. (Category: Client Geography) Indicates the two-character ISO 3166-1 code for the country from which the request originated.
  • client_country (String): Country Name. (Category: Client Geography) Indicates the country from which the request originated.
  • client_ip (String): Client IP. (Category: Client Network) Indicates the IP address for the device that submitted the request to our CDN.
  • client_tls_ja3_md5 (String): JA3 MD5 Hash. (Category: Request) Indicates the JA3 fingerprint assigned to the request. A JA3 fingerprint identifies a client using key characteristics from a TLS request. This allows us to classify traffic across various IP addresses and ports.
  • host (String): Hostname. (Category: Request Header) Indicates the Host header value sent in the client’s request to the CDN.
  • limit_action_duration (Integer): Rate Limiting Action Duration. (Category: Security Configuration) Indicates the minimum length of time, in seconds, that eligible requests were rate limited when the event took place.
  • limit_action_percentage (Decimal): Rate Limiting Action Percentage. (Category: Security Configuration) Indicates the percentage of eligible requests that were rate limited when the event took place.
  • limit_action_type (String): Rate Limiting Action Type. (Category: Security Configuration) Indicates how the rate limit was enforced on the request.
    • ALERT: Alert Only
    • REDIRECT_302: Redirect (HTTP 302)
    • CUSTOM_RESPONSE: Custom Response
    • DROP_REQUEST: Drop Request (503 Service Unavailable response with a retry-after of 10 seconds)
  • limit_id (String): Rate Limiting Action Limit ID. (Category: Security Configuration) Indicates the system-defined ID of the rate rule whose rate limit was exceeded by the request.
  • limit_name (String): Limit Name. (Category: Security Configuration) Indicates the name of the rate rule whose rate limit was exceeded by the request.
  • limit_start_timestamp (Integer): Rate Limiting Action Start Epoch. (Category: Security Configuration) Indicates the timestamp, in Unix time (milliseconds), at which the enforcement of the rate limit started.
  • method (String): Request Method. (Category: Request) Indicates the request’s HTTP method (e.g., GET).
  • referer (String): Referer. (Category: Request Header) Indicates the Referer header value sent in the client’s request to the CDN. This header reports the URL of the site from which the request originated.
  • scope_id (String): Scope ID. (Category: Security Configuration) Indicates the system-defined ID of the Security Application Manager configuration that enforced the rate limit.
  • scope_name (String): Scope Name. (Category: Security Configuration) Indicates the name of the Security Application Manager configuration that enforced the rate limit.
  • timestamp (Decimal): Timestamp. (Category: Response) Indicates the Unix time, in seconds, at which an edge server delivered the requested content to the client.
    Syntax: <SECONDS>.<MICROSECONDS>
  • url (String): URL. (Category: Request) Indicates the URL that was requested.
  • user_agent (String): User Agent. (Category: Request Header) Indicates the user agent that submitted the HTTP request to our CDN.
  • uuid (String): Event ID. (Category: Request) Indicates the unique ID assigned to the event.

Sample Log Data

Sample log data that contains two log entries is provided below for all three log formats.
JSON
1{
2 "agent_id": "1234500008619D55A",
3 "seq_num": 4,
4 "service": "rl",
5 "account_number": "0001",
6 "profile_id": 1,
7 "datestamp": "20210812",
8 "logs": [{
9 "timestamp": 1628804857.1012251,
10 "account_number": "0001",
11 "user_agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0",
12 "url": "https://cdn.example.com/images/bunny.png",
13 "client_ip": "93.113.59.253",
14 "referer": "https://models.example.com/",
15 "host": "cdn.example.com",
16 "client_country_code": "RO",
17 "client_country": "Romania",
18 "client_city": "Bucharest",
19 "limit_action_duration": 0,
20 "limit_id": "SJuO3wey",
21 "limit_action_percentage": 100,
22 "limit_start_timestamp": 1628804857.167,
23 "limit_action_type": "ALERT",
24 "method": "GET",
25 "scope_id": "dJR9RX4S",
26 "scope_name": "SAM"
27 }, {
28 "timestamp": 1628804858.1012254,
29 "account_number": "0001",
30 "user_agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0",
31 "url": "https://cdn.example.com/photos/sky.png",
32 "client_ip": "107.190.102.233",
33 "referer": "https://example2.com/",
34 "host": "cdn.example.com",
35 "client_country_code": "CA",
36 "client_country": "Canada",
37 "client_city": "Windsor",
38 "limit_action_duration": 0,
39 "limit_id": "SJuO3wey",
40 "limit_action_percentage": 100,
41 "limit_start_timestamp": 1628804832.024,
42 "limit_action_type": "ALERT",
43 "method": "GET",
44 "scope_id": "dJR9RX4S",
45 "scope_name": "SAM"
46 }
47 ]
48}
JSON_Array
1[{
2 "timestamp": 1628804857.1012251,
3 "account_number": "0001",
4 "user_agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0",
5 "url": "https://cdn.example.com/images/bunny.png",
6 "client_ip": "93.113.59.253",
7 "referer": "https://models.example.com/",
8 "host": "cdn.example.com",
9 "client_country_code": "RO",
10 "client_country": "Romania",
11 "client_city": "Bucharest",
12 "limit_action_duration": 0,
13 "limit_id": "SJuO3wey",
14 "limit_action_percentage": 100,
15 "limit_start_timestamp": 1628804857.167,
16 "limit_action_type": "ALERT",
17 "method": "GET",
18 "scope_id": "dJR9RX4S",
19 "scope_name": "SAM"
20 }, {
21 "timestamp": 1628804858.1012254,
22 "account_number": "0001",
23 "user_agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0",
24 "url": "https://cdn.example.com/photos/sky.png",
25 "client_ip": "107.190.102.233",
26 "referer": "https://example2.com/",
27 "host": "cdn.example.com",
28 "client_country_code": "CA",
29 "client_country": "Canada",
30 "client_city": "Windsor",
31 "limit_action_duration": 0,
32 "limit_id": "SJuO3wey",
33 "limit_action_percentage": 100,
34 "limit_start_timestamp": 1628804832.024,
35 "limit_action_type": "ALERT",
36 "method": "GET",
37 "scope_id": "dJR9RX4S",
38 "scope_name": "SAM"
39 }
40]
JSON_Lines
1{"user_agent": "Mozilla/5.0 (Windows NT ... Represents a log entry.}
2{"user_agent": "Mozilla/5.0 (Windows NT ...}