Skip to content

Monitoring#

Monitoring is implemented as sending data to the InfluxDB. Monitoring is enabled in the services by default.

It is also possible to use LUNA Dashboards (the "luna_index_module" directory) and Grafana Loki for LIM services. See detailed information about LUNA PLATFORM monitoring, LUNA Dashboards and Grafana Loki in the "Monitoring" section of the LUNA PLATFORM administrator manual.

LUNA Dashboards based on the Grafana web application create a set of dashboards for analyzing the state of individual services, as well as two summarised dashboards that can be used to evaluate the state of the system. Grafana Loki is a log aggregation system that enables you to flexibly work with LUNA PLATFORM logs in Grafana.

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.