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.
Below is an example of tags and fields for the Index Manager service. These tags are unique for each service. You can find information about monitoring a specific service in the development manual.
Example of tags and fields for the Index Manager service
Saving data for requests 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 is triggered when a request fails. Each point contains error_code. |
- tags
Tag name | Description |
---|---|
request_id | always "lim-manager" |
route | oncatenation 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 building is started when an error occurs during index building.
- tags
Tag name | Description |
---|---|
service | always "lim-manager" |
stage | always "build_index" |
label | index matching label (list_id) |
error_code | LIM error code (0 - request was completed successfully) |
- fields
Field name | Description |
---|---|
task_id | task id of the indexing |
pending | time spent in the internal queue (sec) |
duration | index building time (sec) |
generation | index generation (unix timestamp) |