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-faces”
route
concatenation of a request method and a request resource (POST:/faces)
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-faces”
route
concatenation of a request method and a request resource (POST:/faces)
status_code
http status code of response
error_code
luna error code
fields
fields
description
request_id
request id
‘Licensing’ series. Triggered on each request with liveness estimation if liveness limit expired. Each point contains license check data.
tags
tag name
description
service
always “luna-faces”
license_status
license status (“ok”, “warning”, “error”, “exception”)
fields
fields
description
license_faces_limit_rate
the percentage of used faces
warnings
license warning messages
errors
license error messages
Every handler can add additional tags or fields. Resource /attributes/batches adds a data about type of batches.
Database¶
Monitoring is implemented as data sending to an influx database. You can setup your database credentials in configuration file in section “monitoring”.