Monitoring ========== .. _`monitoring`: .. _influx database: https://www.influxdata.com/products/influxdb-overview/ Data for monitoring ------------------- Now we monitor two types of events for monitoring: *request* and *error*. First type is all requests, second is failed requests only. Every event is a point in the time series. The point is represented as union of the following data: - series name (now *requests* and *errors*) - start request time - tags, indexed data in storage, dictionary: keys - string tag names, values - string, integer, float - fields, non-indexed data in storage, dictionary: keys - string tag names, values - string, integer, float *'Requests'* series. Triggered on every request. Each point contains data about corresponding request (execution time and etc). - tags +--------------+----------------------------------------------------------------------------+ | tag name | description | +==============+============================================================================+ | service | always "luna-lambda" | +--------------+----------------------------------------------------------------------------+ | route | concatenation of a request method and a request resource (POST:/plugin) | +--------------+----------------------------------------------------------------------------+ | status_code | http status code of response | +--------------+----------------------------------------------------------------------------+ - fields +----------------+------------------------+ | fields | description | +================+========================+ | request_id | request id | +----------------+------------------------+ | execution_time | request execution time | +----------------+------------------------+ *'Errors'* series. Triggered on failed request. Each point contains *error_code* of luna error. - tags +--------------+----------------------------------------------------------------------------+ | tag name | description | +==============+============================================================================+ | service | always "luna-lambda" | +--------------+----------------------------------------------------------------------------+ | route | concatenation of a request method and a request resource (POST:/plugins) | +--------------+----------------------------------------------------------------------------+ | status_code | http status code of response | +--------------+----------------------------------------------------------------------------+ | error_code | luna error code | +--------------+----------------------------------------------------------------------------+ - fields +----------------+------------------------+ | fields | description | +================+========================+ | request_id | request id | +----------------+------------------------+ Database -------- Monitoring is implemented as data sending to an `influx database`_. You can set up your database credentials in `configuration file `_ in section *"monitoring"*. Classes ------- .. automodule:: luna_lambda.crutches_on_wheels.cow.monitoring.points :members: .. automodule:: luna_lambda.crutches_on_wheels.cow.monitoring.base_monitoring :members: .. automodule:: luna_lambda.crutches_on_wheels.cow.monitoring.influx_adapter :members: