Elasticsearch data structure
This is the data structure of the Elasticsearch response for each call. We use it to design our dashboard charts. Fields are in use right now: request_at, request_url, request_ip, request_ip_country, response_time.
Overview
field | type | example | notes |
---|---|---|---|
api_key | string | 8Uq3GR9sHiTrazBlEnNyGAfCNlPXULakC6s12ka2 | |
user_id | string | ||
request_accept | string | application/json | |
request_at | date | 1475148774275 | |
request_basic_auth_username | string | ||
request_connection | string | close | |
request_content_type | string | application/json | |
request_host | string | nightly.apinf.io:3002 | |
request_ip | string | 87.94.164.76 | |
request_ip_country | string | FI | |
request_ip_region | string | 15 | |
request_ip_city | string | Tampere | |
request_path | string | /api-umbrella/v1/apis/ | |
request_path_hierarchy | array(string) | ["0/nightly.apinf.io:3002/", "1/nightly.apinf.io:3002/api-umbrella/", "2/nightly.apinf.io:3002/api-umbrella/v1/", "3/nightly.apinf.io:3002/api-umbrella/v1/apis"] | |
request_query | string | ||
request_referer | |||
request_scheme | string | https | |
request_size | integer | 590 | |
response_cache | string | MISS | |
response_content_encoding | |||
response_status | short | ||
response_age | integer | ||
response_content_length | integer | 1436 | |
response_content_type | string | application/json; charset=utf-8 | |
response_size | integer | 2280 | |
response_server | string | openresty | |
response_status | string | 201 | |
response_time | integer | 149 | |
request_method | string | POST | |
backend_response_time | integer | 131 | |
proxy_overhead | integer | 3 | |
user_email | string | nightly@apinf.io | |
user_id | string | 844433ba-5dfd-4734-af0d-09bd40636660 | |
user_registration_source | string | web | |
internal_response_time | float | ?? | May no longer be in use |
internal_gatekeeper_time | float | 0 | |
request_ip_location | geo_point | { lat: 61.5, lon: 23.75 } |
Raw example
{ _index: 'api-umbrella-logs-v1-2017-03',
_type: 'log',
_id: 'aqq7k887q9339spvrih0',
_score: null,
_source:
{ api_key: '[actual user's API key]',
backend_response_time: 161,
gatekeeper_denied_code: null,
internal_gatekeeper_time: 0,
proxy_overhead: 7,
request_accept: '*/*',
request_accept_encoding: 'gzip, deflate, sdch, br',
request_at: 1489580360900,
request_basic_auth_username: null,
request_connection: 'keep-alive',
request_content_type: null,
request_hierarchy: [Object],
request_host: 'nightly.apinf.io:3002',
request_ip: '109.204.245.84',
request_ip_city: 'Tampere',
request_ip_country: 'FI',
request_ip_location: [Object],
request_ip_region: '15',
request_method: 'GET',
request_origin: null,
request_path: '/api-umbrella/v1/analytics/drilldown.json',
request_query: [Object],
request_referer: 'https://nightly.apinf.io:3002/admin/',
request_scheme: 'https',
request_size: 1326,
request_url: 'https://nightly.apinf.io:3002/api-umbrella/v1/analytics/drilldown.json?tz=Europe%2FHelsinki&search=&start_at=2017-02-14&end_at=2017-03-15&query=%7B%22condition%22%3A%22AND%22%2C%22rules%22%3A%5B%7B%22field%22%3A%22gatekeeper_denied_code%22%2C%22id%22%3A%22gatekeeper_denied_code%22%2C%22input%22%3A%22select%22%2C%22operator%22%3A%22is_null%22%2C%22type%22%3A%22string%22%2C%22value%22%3Anull%7D%5D%7D&interval=day&prefix=0%2F&beta_analytics=false',
request_user_agent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
request_user_agent_family: 'Chrome',
request_user_agent_type: 'Browser',
response_age: 0,
response_cache: 'MISS',
response_content_encoding: 'gzip',
response_content_length: null,
response_content_type: 'application/json; charset=utf-8',
response_server: 'openresty',
response_size: 1439,
response_status: 200,
response_time: 168,
response_transfer_encoding: 'chunked',
user_email: 'web.admin.ajax@internal.apiumbrella',
user_id: '70a3c56f-5764-4a69-9b2a-c87aff573735',
user_registration_source: 'seed' },
sort: [ 1489580360900 ]
}
Fields description:
api_key
: API key used to make the requestbackend_response_time
:gatekeeper_denied_code
:internal_gatekeeper_time
:proxy_overhead
:request_accept
:request_accept_encoding
:request_at
: Timestamp of a requestrequest_basic_auth_username
:request_connection
:request_content_type
:request_hierarchy
:request_host
:request_ip
: IP addressrequest_ip_city
: Cityrequest_ip_country
: Countryrequest_ip_location
:request_ip_region
:request_method
: Method used to make a request. Can be POST, GET, PUT, PATCH, DELETErequest_origin
:request_path
:request_query
:request_referer
:request_scheme
:request_size
:request_url
:request_user_agent
:request_user_agent_family
:request_user_agent_type
:response_age
:response_cache
:response_content_encoding
:response_content_length
:response_content_type
:response_server
:response_size
:response_status
: Response status coderesponse_time
: Response timeresponse_transfer_encoding
:user_email
:user_id
:user_registration_source
:sort
: