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”.

Classes