Skip to content

Monitoring#

There are several monitoring methods in the LUNA Index Module:

  • Send data to InfluxDB (enabled by default)
  • Export of metrics in Prometheus format using the /metrics resource (disabled by default)

Globally, LIM monitoring works similarly to LUNA PLATFORM monitoring. The only exception is the data sent to InfluxDB (see below).

Metrics in Prometheus format contain exactly the same data as in LUNA PLATFORM.

See the "Monitoring" section of the LUNA PLATFORM administrator manual for details.

Send data to InfluxDB#

Data being sent#

The types of monitoring events are different for each service. Below is a table showing all types of events for each service:

Service Types of events
Index Manager All HTTP requests, all failed HTTP requests, index building.
Indexer All HTTP requests, all failed HTTP requests.
Indexed Matcher All HTTP requests, all failed HTTP requests, index reloading, matching request (pass through Redis).

Every event is a point in the time series. The point is represented using the following data:

  • Series name (requests or errors)
  • Timestamp of the request start
  • Tags
  • Fields

The tag is an indexed data in storage. It is represented as a dictionary, where

  • Keys — String tag names.
  • Values — String, integer or float.

The field is a non-indexed data in storage. It is represented as a dictionary, where

  • Keys — String field names.
  • Values — String, integer or float.

Saving data for requests series is triggered on every request. Each point contains data about the corresponding request (execution time and etc.).

  • Tags
Tag name Description
service Always "lim-manager".
route Concatenation of a request method and a request resource (GET:/version).
status_code HTTP status code of response.
  • Fields
Field name Description
request_id Request ID.
execution_time Request execution time.

Saving data for errors series is triggered when a request fails. Each point contains error_code.

  • 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 LIM error code.
  • Fields
Field name Description
request_id Request ID.

Saving data for index processing is started when an error occurs during index building.

  • Tags
Tag name Description
service "lim-manager", or "lim-matcher".
socket_address Service address in the format <host>:<port>.
stage Always "build_index".
label Index matching label (list_id).
error_code LIM error code (0 — request was completed successfully).
  • Fields
Field name Description
index_id Index unique ID.
pending Time spent in the internal queue (sec).
duration Index processing (i.e. building / loading / dropping) time, in seconds.
generation Index generation (unix timestamp).

Saving data for index matching is started when a matching is performed.

  • Tags
Tag name Description
service Always "lim-matcher".
socket_address Service address in the format <host>:<port>.
label Index matching label (list_id).
error_code LIM error code (0 — request was completed successfully).
  • Fields
Field name Description
request_id Request ID.
index_id Index unique ID.
execution_time Matching request execution time, in seconds.