Monitoring#
Monitoring is implemented as sending data to the InfluxDB. Monitoring is enabled in the services by default.
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 |