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