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

Classes