Monitoring¶
Data for monitoring¶
Now we monitor two types of events for monitoring: request and error. First type is all requests, second is failed requests only. Every event is a point in the time series. The point is represented as union of the following data:
series name (now requests and errors)
start request time
tags, indexed data in storage, dictionary: keys - string tag names, values - string, integer, float
fields, non indexed data in storage, dictionary: keys - string tag names, values - string, integer, float
‘Requests’ series. Triggered on every request. Each point contains a data about corresponding request (execution time and etc).
tags
tag name
description
service
always “luna-events”
route
concatenation of a request method and a request resource (POST:/events)
status_code
http status code of response
fields
fields
description
request_id
request id
execution_time
request execution time
‘Errors’ series. Triggered on failed request. Each point contains error_code of luna error.
tags
tag name
description
service
always “luna-events”
route
concatenation of a request method and a request resource (POST:/events)
status_code
http status code of response
error_code
luna error code
fields
fields
description
request_id
request id
Every handler can add additional tags or fields.
‘event_copy’ series. Triggered on events copy into database. Each point contains event_count and copy_time.
tags
tag name
description
service
always “luna-events”
status
events copy execution status: 1 means success, 0 - fail
fields
fields
description
copy_time
events copy time
event_count
events count
Database¶
Monitoring is implemented as data sending to an influx database. You can setup your database credentials in configuration file in section “monitoring”.