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