Monitoring

Data for monitoring

Now we monitor several types of events:

  • request, all HTTP requests

  • error, all failed HTTP requests

  • index processing, some messages about index building pipeline parts

  • indexed matching, some messages about indexed matching pipeline

Every event is a point in the time series. The point is represented as a 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 HTTP request. Each point contains data about the corresponding request (execution time and etc).

Requests series tags

tag name

description

service

“lim-indexer”, “lim-manager”, or “lim-matcher”

route

concatenation of a request method and a request resource (GET:/version)

status_code

http status code of response

Requests series 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.

Errors series tags

tag name

description

service

“lim-indexer”, “lim-manager”, or “lim-matcher”

route

concatenation of a request method and a request resource (GET:/version)

status_code

http status code of response

error_code

Luna Platform error code

Errors series fields

fields

description

request_id

request id

‘Index processing’ series.

Triggered on an error in a pipeline of an index processing.

Index processing series tags

tag name

description

service

“lim-manager”, or “lim-matcher”

socket_address

service address in the format <host>:<port>

stage

“build_index”, “load_index” or “drop_index”

label

index label (some unique index content id)

error_code

Luna Platform error code (‘0’ - success)

Index processing series fields

field name

description

index_id

index unique ID

pending

time spend in the pending queue, in seconds

duration

index processing (i.e. building / loading / dropping) time, in seconds

generation

index generation (unix timestamp)

‘Indexed matching series.

Triggered on matching performed.

Index matching series tags

tag name

description

service

always “lim-matcher”

socket_address

service address in the format <host>:<port>

label

index label (some unique index content id)

error_code

Luna Platform error code (‘0’ - success)

Indexed matching series fields

field name

description

request_id

request ID

index_id

index unique ID

execution_time

matching request execution time, in seconds

Database

Monitoring is implemented as data sending to an influx database. One can set up your database credentials in configuration file in section “INFLUX_MONITORING”.